Dify 开源平台搭建 AI 聊天助手及 API 集成教程
Dify 是一款开源的大语言模型应用程序开发平台,集成了 AI 工作流、RAG、代理功能及模型管理。本文详细介绍了在 Linux 环境下通过 Docker Compose 部署 Dify 的步骤,配置 Moonshot 等大模型供应商的方法,以及创建聊天应用、编排工作流的具体操作。同时涵盖了将应用嵌入网站和使用 API 集成的实践方案,并说明了商用许可协议及监控功能,帮助开发者快速构建属于自己的 AI 助手。

Dify 是一款开源的大语言模型应用程序开发平台,集成了 AI 工作流、RAG、代理功能及模型管理。本文详细介绍了在 Linux 环境下通过 Docker Compose 部署 Dify 的步骤,配置 Moonshot 等大模型供应商的方法,以及创建聊天应用、编排工作流的具体操作。同时涵盖了将应用嵌入网站和使用 API 集成的实践方案,并说明了商用许可协议及监控功能,帮助开发者快速构建属于自己的 AI 助手。

在当前的软件开发环境中,将大语言模型(LLM)集成到实际项目中往往面临诸多挑战。开发者通常需要处理复杂的 API 对接、上下文管理、额度监控以及多模型扩展等问题。Dify 作为一款开源的大语言模型应用程序开发平台,旨在解决上述痛点。
Dify 提供了直观的图形界面,结合了 AI 工作流编排、检索增强生成(RAG)、智能代理(Agent)功能、统一的模型管理以及可观察性工具。它允许开发者从简单的对话机器人快速扩展到复杂的企业级应用,无需从零编写底层代码。
官方建议在 Linux 环境下使用 Docker Compose 进行部署。最低硬件配置建议为 2 核 CPU 和 4GB 内存。确保服务器已安装 Docker 和 Docker Compose。
检查版本:
docker --version
docker-compose --version
选择一个合适的目录,使用 Git 克隆 Dify 的官方仓库:
git clone https://github.com/langgenius/dify.git
cd dify
进入项目目录后,需要复制环境变量示例文件并修改配置:
cp .env.example .env
打开 .env 文件,可以根据实际需求调整以下关键参数:
SERVICE_API_KEY: 设置服务访问密钥。APP_MAX_ACTIVE_REQUESTS: 限制最大并发请求数。LOG_LEVEL: 日志级别,生产环境建议设为 INFO 或 WARNING。使用 Docker Compose 启动所有依赖服务(包括后端、前端、数据库、Redis 等):
docker compose up -d
启动完成后,可以通过以下命令查看服务状态:
docker compose ps
等待所有容器状态变为 Up,通常耗时几分钟。首次访问时,系统会自动初始化数据库结构。
在浏览器中访问 http://your-ip/install。首次进入需要创建管理员账户。设置好用户名和密码后,即可登录 Dify 控制台。
为了让 Dify 能够调用大模型能力,首先需要配置模型供应商。
在控制台的「设置」->「模型供应商」中,添加支持的模型。Dify 支持多种主流模型,包括但不限于:
以 Moonshot 为例:
在「应用」页面,点击「创建应用」,选择「聊天助手」。Dify 提供了多种预设模板,例如 Python Bug Fixed、客服助手等。选择适合业务场景的模板可以节省提示词编写时间。
进入应用的「编排」页面,这是 Dify 的核心功能区。你可以看到可视化的流程图,包含输入节点、LLM 节点、知识库节点等。
在 LLM 节点中,可以编辑 System Prompt。建议使用结构化提示词,明确角色、任务、约束条件和输出格式。 例如:
你是一个专业的技术顾问。请根据用户的问题,结合提供的知识库内容回答。如果知识库中没有相关信息,请诚实告知无法回答。
为了提升用户体验,可以在开场白中配置变量。例如,要求用户输入姓名:
你好!{{name}},我是 spcodhu AI。有什么问题尽管问我,乐意为你效劳!
当用户首次会话时,系统会弹窗要求输入 name 变量的值,随后将其注入到对话上下文中。
对于 RAG 场景,可以在「知识库」模块上传文档(PDF, TXT, Markdown 等)。在应用编排中拖入「知识检索」节点,连接至 LLM 节点。这样模型回答时会优先参考上传的文档内容,减少幻觉。
Dify 支持将聊天助手直接嵌入到现有的 Web 网站中。
<body> 标签内。这将生成一个悬浮球或侧边栏组件,用户无需跳转即可与 AI 交互。支持自定义主题颜色、位置等样式。
对于需要深度集成的场景,可以使用 Dify 提供的 API。
在应用详情页的「API 接口」部分,可以找到 Chat Completion 和 Completion 的 API 端点。
import requests
url = "https://your-dify-domain/api/v1/chat-messages"
headers = {
"Authorization": "Bearer YOUR_APP_API_KEY",
"Content-Type": "application/json"
}
data = {
"inputs": {"name": "User"},
"query": "如何部署 Dify?",
"response_mode": "streaming",
"user": "unique-user-id"
}
response = requests.post(url, json=data, headers=headers)
print(response.json())
相比于原生 OpenAI 库,Dify 的优势在于内置了监控面板。在「监测」页面,开发者可以查看每个应用的 Token 消耗量、响应延迟、用户反馈等数据,便于成本控制和效果优化。
除了基础的对话,Dify 真正的强大之处在于其可视化工作流引擎。
支持丰富的节点类型:
构建一个自动搜索并总结新闻的工作流:
这种低代码方式大大降低了复杂 AI 应用的开发门槛。
Dify 遵循 Apache License 2.0 开源协议。这意味着开发者在遵守一定条件的前提下,可以免费用于商业项目。
.env 应妥善保管,避免泄露。通过上述步骤,您可以快速搭建起属于自己的 AI 应用基础设施,并根据业务需求灵活扩展功能。Dify 的持续更新和社区生态使其成为当前落地大模型应用的首选工具之一。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online