SmallThinker-3B-Preview与Dify平台集成打造可视化AI工作流最近在尝试把一些轻量级的开源模型用起来发现了一个挺有意思的组合SmallThinker-3B-Preview模型和Dify平台。这个组合最大的好处就是能让不懂代码的朋友也能像搭积木一样把AI能力拼装成自己想要的工具。你可能听说过Dify它是一个可视化的工作流编排平台。简单来说它提供了一个图形界面让你可以通过拖拽的方式把不同的AI模型或者处理步骤连接起来形成一个完整的应用。而SmallThinker-3B-Preview作为一个3B参数级别的预览版模型推理速度不错对硬件要求也相对友好很适合作为这种工作流里的“大脑”。想象一下你想做一个智能客服助手需要先听懂用户语音再理解问题最后生成回答。传统方式下你得分别调用语音识别、大语言模型等多个服务的API还要写代码处理它们之间的数据流转门槛不低。但用Dify你只需要在界面上拖出“语音转文字”、“模型推理”、“文字转语音”几个节点用线连起来配置好每个节点的参数一个可用的应用原型就出来了。今天我就来分享一下怎么把SmallThinker-3B-Preview作为推理引擎接入Dify并搭建几个实用工作流的全过程。1. 准备工作模型与平台部署在开始连线搭积木之前我们得先把“积木块”准备好。这里主要就是两件事让SmallThinker-3B-Preview模型跑起来并提供API服务以及确保Dify平台可以正常访问。1.1 部署SmallThinker-3B-Preview推理服务首先我们需要一个可以访问的SmallThinker模型API。如果你已经有现成的、符合OpenAI API格式的推理服务端点可以直接跳过这一步。如果没有一个快速的方法是使用预置的Docker镜像来部署。假设你有一台配备了GPU的服务器可以通过以下命令快速启动一个推理服务。这个服务会提供一个兼容OpenAI Chat Completions接口的API。docker run -d --gpus all \ -p 8000:8000 \ -v /path/to/your/models:/app/models \ --name smallthinker-api \ registry.cn-beijing.aliyuncs.com/your_namespace/smallthinker-3b-preview:latest \ python -m vllm.entrypoints.openai.api_server \ --model /app/models/SmallThinker-3B-Preview \ --served-model-name SmallThinker-3B-Preview \ --api-key token-abc123 \ --host 0.0.0.0 \ --port 8000这里有几个参数需要根据你的实际情况调整-p 8000:8000: 将容器的8000端口映射到主机之后我们通过http://你的服务器IP:8000来访问API。-v /path/to/your/models:/app/models: 把存放了SmallThinker-3B-Preview模型文件的本地目录挂载到容器内。你需要提前下载好模型权重文件。--api-key token-abc123: 设置一个API密钥用于简单的访问控制在Dify配置时会用到。--model: 指定容器内模型文件的路径。服务启动后你可以用curl命令简单测试一下接口是否正常curl http://localhost:8000/v1/models \ -H Authorization: Bearer token-abc123如果返回了包含SmallThinker-3B-Preview的模型列表信息说明服务部署成功了。1.2 安装与访问Dify平台Dify的安装也非常灵活你可以选择Docker Compose一键部署也可以使用云服务商提供的托管版本。对于个人或小团队快速体验Docker Compose是最方便的方式。在你的服务器上创建一个目录下载官方的docker-compose.yaml文件mkdir dify cd dify wget https://github.com/langgenius/dify/blob/main/docker/docker-compose.yaml docker-compose up -d执行成功后Dify的相关服务前端、后端、数据库等就会在后台启动。默认情况下你可以通过浏览器访问http://你的服务器IP:80来打开Dify的Web界面。首次访问需要创建一个管理员账户。登录后你会看到一个非常清晰的工作台。左侧是导航菜单核心区域就是我们的“画布”未来所有的工作流都将在这里设计和运行。2. 在Dify中接入SmallThinker模型现在我们有了提供AI能力的“发动机”模型API也有了组装汽车的“工厂”Dify平台。下一步就是把这个发动机安装到工厂的生产线上。在Dify里这一步叫做“配置模型供应商”。2.1 添加自定义模型供应商Dify原生支持OpenAI、Anthropic等多家厂商的模型但对于我们自部署的SmallThinker需要以“自定义”的方式接入。进入Dify工作台点击左侧导航栏底部的“设置”齿轮图标。在设置菜单中选择“模型供应商”。点击页面上的“添加模型供应商”按钮在弹出的供应商列表里找到并选择“OpenAI兼容”。因为我们的vLLM服务兼容OpenAI API格式所以选这个。这时会弹出一个配置表单需要填写以下关键信息供应商名称可以起个容易识别的名字比如“我的SmallThinker服务”。API密钥填写我们启动服务时设置的token-abc123。API基础URL填写模型推理服务的完整地址例如http://你的服务器IP:8000/v1。注意结尾的/v1必不可少。填写完成后可以先点击“验证”按钮。如果配置正确Dify会成功连接到你的服务并获取到可用的模型列表。验证通过后点击“保存”这个模型供应商就添加成功了。2.2 配置并测试模型添加完供应商后我们还需要在Dify的“模型”配置中为具体的模型实例进行设置。在“设置” - “模型供应商”页面你应该能看到刚添加的供应商。点击它进入详情页。在详情页的“模型”区域点击“添加模型”。系统会自动拉取你API服务提供的模型列表即SmallThinker-3B-Preview。选中它。在模型配置界面你可以设置一些默认参数比如最大Token数控制单次生成文本的最大长度可以根据模型能力和你的需求调整。推理参数如温度控制随机性、Top P等。对于SmallThinker-3B-Preview可以先用默认值。保存模型配置。为了确保一切正常我们可以在Dify里直接测试一下。Dify提供了一个“ playground”功能。你可以在“应用”页面创建一个新的“文本生成”类型应用然后在应用配置里选择我们刚刚添加的“SmallThinker-3B-Preview”模型。在预览对话框中输入一个问题比如“介绍一下你自己”看看模型是否能正常回复。这一步能帮你确认从Dify前端到你的模型后端整个链路是通的。3. 构建你的第一个可视化工作流基础打好了最有趣的部分来了——用拖拽的方式构建应用。我们从一个相对简单但完整的工作流开始一个“会议纪要整理助手”。它的功能是用户输入一段冗长的、口语化的会议录音转写文本工作流能自动将其总结成结构清晰的纪要。3.1 创建工作流与应用在Dify左侧导航栏点击“工作流”然后点击“创建工作流”。给工作流起个名字比如“会议纪要整理助手”点击创建。你会进入一个空白的画布。这就是我们的组装车间。画布左侧是“工具”面板里面有很多可用的节点比如“LLM”大语言模型、“代码”、“条件判断”、“提问”等。右侧是工作流的属性配置区。3.2 设计工作流节点与连接我们的目标是输入文本 → 模型总结 → 输出结果。这至少需要三个节点添加“开始”节点从左侧工具面板拖拽一个“开始”节点到画布中央。这个节点代表工作流的入口我们需要在这里定义用户输入。点击这个节点在右侧配置面板的“变量”部分点击“添加”。我们定义一个变量命名为meeting_text类型为“字符串”在“简介”里可以写“请输入会议录音文本”。这样用户运行应用时就需要先输入这个文本。添加“LLM”节点从工具面板拖拽一个“LLM”节点到画布上放在“开始”节点下方。点击这个LLM节点进行配置模型选择我们之前配置好的“SmallThinker-3B-Preview”。提示词这是核心。我们需要设计一个“提示词模板”来指导模型如何工作。你可以这样写你是一个专业的会议纪要整理助手。请将以下冗长、口语化的会议讨论内容总结成一份简洁、条理清晰的正式会议纪要。 要求 1. 提炼出核心讨论议题。 2. 归纳出已做出的决议或共识。 3. 列出待办事项Action Items及负责人如有提及。 4. 语言正式、精炼。 会议讨论内容 {{#meeting_text#}}注意{{#meeting_text#}}这个语法它表示引用“开始”节点中定义的变量。这样用户输入的文本就会被动态插入到提示词中。上下文保持默认从“工作流”继承。添加“结束”节点从工具面板拖拽一个“结束”节点到画布上。这个节点代表工作流的输出。连接节点用鼠标从“开始”节点底部的圆点拖出一条线连接到“LLM”节点顶部的圆点。这表示数据用户输入的文本从“开始”流向“LLM”。同样再从“LLM”节点底部拖出线连接到“结束”节点。这表示模型生成的结果将作为工作流的最终输出。你还需要在“结束”节点的配置中将“输出”变量设置为LLM节点的输出。现在你的画布上应该有三个节点由两条线顺序连接起来。一个最简单的AI工作流就搭建完成了。3.3 调试与发布在画布右上角点击“运行”按钮。系统会弹出一个调试面板让你输入meeting_text的内容。粘贴一段模拟的会议文字点击“运行”。下方会显示工作流执行的步骤和最终LLM节点输出的总结文本。调试无误后点击右上角的“发布”。发布后这个工作流就变成了一个可独立访问的AI应用。你可以设置应用图标、名称和简介然后通过Dify生成的公开链接分享给其他人使用。他们无需知道背后是哪个模型、怎么连接的只需要在网页上输入文字就能得到整理好的会议纪要。4. 进阶实践串联多模型与工具单一模型的工作流已经能解决很多问题但Dify的强大之处在于可以轻松串联不同的能力。我们构建一个更复杂点的例子一个“多语言内容创作助手”。这个工作流会接收用户用中文提出的内容需求先让SmallThinker生成中文初稿然后调用翻译工具模拟翻译成英文最后再调用一个文本转语音服务生成英文配音。4.1 设计复杂工作流逻辑这个工作流涉及多个步骤和分支我们需要更仔细地规划输入用户的中文内容需求如“写一篇关于夏日旅行的简短博客”。步骤一LLM节点SmallThinker根据需求生成中文博客正文。步骤二代码节点/工具节点将中文正文翻译成英文。这里我们可以用一个“代码”节点调用一个简单的翻译API如百度翻译、谷歌翻译的API或者如果你接入了其他翻译模型也可以用另一个LLM节点。步骤三工具节点将英文文本合成为语音。这需要接入一个TTS文本转语音服务。Dify支持通过“自定义工具”的方式接入外部API。输出最终提供英文文本和对应的语音文件。4.2 集成外部API与工具我们重点看一下如何接入翻译API。假设我们使用一个模拟的翻译服务。添加“代码”节点在LLM节点后拖入一个“代码”节点。编写处理逻辑在代码节点的编辑器中你可以用Python编写处理函数。这个函数能接收上一个节点中文文本的输出作为输入处理后输出结果英文文本。例如def main(zh_text: str) - str: # 这里模拟一个翻译过程实际应用中应替换为真实的API调用 # 例如使用 requests 库调用翻译服务 import requests # 假设有个翻译接口 # response requests.post(https://api.translate.com/..., json{text: zh_text}) # en_text response.json()[result] # 为了演示我们简单返回一个模拟的英文文本 en_text f[Translated to English]: {zh_text} return en_textDify的代码节点会自动将上一个连接的节点的输出作为函数参数传入。你需要确保函数参数名与上游输出的变量名对应。连接节点将“LLM中文生成”节点的输出连接到“代码翻译”节点的输入。再将“代码”节点的输出连接到下一个节点比如一个用于展示的“文本”节点或者直接连到“结束”节点。通过这种方式你可以将任何拥有HTTP API的服务集成到Dify工作流中无论是数据库查询、搜索引擎还是其他专业的AI模型如图像生成、语音识别极大地扩展了工作流的可能性。5. 部署、分享与优化建议当你精心设计的工作流在调试中运行良好后就可以考虑把它变成真正人人可用的产品了。5.1 应用部署与分享在Dify中发布工作流后它会自动成为一个“应用”。你可以在“应用”页面找到它并进行更多面向最终用户的配置界面定制修改应用名称、图标、描述甚至可以自定义对话开场白。访问权限可以设置为公开任何人通过链接可访问或私有需要API密钥调用。API访问Dify会为你的应用自动生成API端点。这意味着其他软件系统可以直接通过HTTP请求来调用你这个复杂的AI工作流无需关心内部实现。这对于将AI能力嵌入到现有业务系统中非常有用。分享链接获得一个固定的URL你可以直接把这个链接发给你的团队成员、客户或朋友他们点开就能用。5.2 性能与成本优化在实际使用中尤其是基于自部署模型有几个点值得关注提示词工程SmallThinker-3B-Preview作为较小规模的模型其理解和遵循复杂指令的能力可能不如超大模型。因此设计清晰、具体、结构化的提示词Prompt至关重要。多尝试不同的指令表述找到最能激发模型潜力的方式。工作流复杂度与延迟工作流中节点越多特别是涉及网络调用的外部工具节点整体响应时间可能会变长。对于实时交互要求高的场景如聊天需要精简流程或考虑异步处理。模型推理参数调优在Dify的模型配置中可以调整温度temperature、Top P等参数。降低温度如0.3会使输出更确定和稳定适合总结、格式化任务提高温度如0.8能增加创造性适合头脑风暴、写故事。需要根据你的应用场景进行试验。成本监控如果你使用的是按Token收费的云端模型Dify的工作流可能会因为多次调用模型而增加成本。对于自部署的SmallThinker主要成本是服务器开销。合理设计工作流避免不必要的模型调用循环。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。