Dify 开源 LLM 应用开发平台

FreeGuideOnline 最新 2026-07-10

bash git clone https://github.com/langgenius/dify.git cd dify/docker


3. **启动服务**

```bash
docker compose up -d

服务启动后,通过浏览器访问 http://你的服务器IP 即可进入初始化页面。设置管理员邮箱和密码后就能使用。

  1. 常用管理命令

    • 查看日志:docker compose logs -f
    • 停止服务:docker compose down
    • 更新版本:先 git pull 拉取最新代码,再重新 docker compose up -d

其他安装方式

  • 云平台一键部署:Dify 官方支持在 AWS、Azure、阿里云等主流云平台上快速部署。
  • Kubernetes 部署:适合生产环境的大规模集群部署,官方提供 Helm Chart。
  • 本地开发模式:开发者可以克隆源码后,使用 docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up 开启热重载开发。

Dify 平台核心概念

初次进入 Dify,你需要理解几个关键设计,它们是构建一切应用的基础。

1. 应用(App)

Dify 中的应用类似于一个完整的项目,包含了模型配置、提示词、知识库和发布渠道等。目前支持四种应用类型:

  • 聊天助手:一问一答式对话,支持上下文记忆。
  • 文本生成:输入一段文字,模型直接输出结果,如摘要、翻译等。
  • Agent 智能体:具备工具调用和推理能力,可自主完成复杂任务。
  • 工作流:通过画布串联多个节点(LLM、代码、条件分支等),构建复杂业务流。

2. 知识库(Knowledge)

知识库是 RAG 能力的核心。你可以上传 PDF、Word、TXT、网页等文档,Dify 会自动完成分段、向量化并存入向量数据库。在应用配置中关联知识库后,模型回答时会自动检索相关段落作为上下文,大幅提升准确度。

3. 模型供应商(Model Provider)

在「设置 - 模型供应商」中,你可以添加 OpenAI、Azure OpenAI、本地部署的 Ollama 模型等。对于每款模型,可以配置独立的 API Key 和参数。

4. 工具(Tools)

工具是 Agent 与外部世界交互的接口。Dify 内置了 Google 搜索、DALL·E 绘画、代码执行等工具,也支持自定义 API 工具。你可以为 Agent 绑定多个工具,使其能查询天气、发送邮件、操作数据库等。

构建你的第一个应用:知识库聊天机器人

下面以最常用的「聊天助手+知识库」为例,演示如何从零创建一个能回答企业文档内容的 AI 助手。

第一步:创建知识库

  1. 点击顶部导航 「知识库」「创建知识库」
  2. 输入知识库名称,例如“产品手册知识库”。
  3. 上传你的文档,支持批量上传多种格式。
  4. 选择分段方式与索引策略(默认自动分段即可满足多数场景)。
  5. 点击保存并等待处理完成,通常几秒到几分钟不等(取决于文档大小)。

第二步:创建聊天助手

  1. 进入 「工作室」,点击 「从应用模板创建」「创建应用」,选择 「聊天助手」
  2. 在编排界面中,填写应用名称和描述。
  3. 「上下文」 区域,点击 「添加」,选择刚才创建的知识库。
  4. 「系统提示词」 框中设定助手的行为,例如:
    你是一个专业的产品咨询助手,所有回答必须严格基于给定的参考文档,若文档未提及则明确告知用户。请用友好、简洁的中文回复。
    
  5. 点击右上角 「发布」,完成发布。

第三步:测试与发布

点击发布按钮旁边的「预览」即可在线测试。你可以提问文档相关内容,观察助手是否引用了知识库。效果满意后,可以:

  • 发布为 WebApp:获得一个可分享的网页链接。
  • 嵌入网站:复制原生嵌入代码,将对话气泡集成到你的官网。
  • 访问 API:在「API 管理」中生成密钥,供其他系统调用。

深入工作流:打造自动化流程

对于更复杂的业务场景,推荐使用工作流(Workflow)。它是一个以节点为单位的编排画布,支持条件分支、循环、变量传递等。

工作流核心节点

  • LLM 节点:配置模型和提示词,负责处理语言任务。
  • 知识检索节点:从指定知识库中召回相关内容。
  • 代码节点:可运行 Python/JavaScript 代码片段,进行数据转换或调用第三方库。
  • HTTP 请求节点:发送 API 请求,获取外部数据。
  • 条件分支:根据字段值走向不同处理路径。
  • 变量聚合:将多个输入合并为一个多模态列表。

示例:自动分析客户邮件并回复

假设你需要一个自动处理客户邮件的流程:

  1. 开始节点:接收邮件正文作为输入。
  2. LLM 分类:判断邮件是「投诉」、「咨询」还是「其他」。
  3. 条件分支
    • 若为投诉,调用 HTTP 请求节点发送工单到内部系统,并用 LLM 生成安抚回复。
    • 若为咨询,从知识库检索对应知识,再由 LLM 整合答案。
    • 若为其他,转接人工,并记录日志。
  4. 结束节点:输出最终回复内容。

整个流程无需编写后端代码,全部通过可视化配置完成。

API 对接与多端发布

Dify 为每个应用自动生成完善的 RESTful API,你可以方便的将 AI 能力集成到自己的产品中。

使用 API 调用应用

在应用的「API 管理」中,创建一个 Access Token 作为请求凭证。然后使用以下接口发送对话消息:

curl -X POST 'https://your-dify-domain/v1/chat-messages' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "inputs": {},
  "query": "用户提问的内容",
  "response_mode": "streaming",
  "conversation_id": "",
  "user": "user-identifier"
}'