用 Dify 搭建个人 AI Agent 实战指南
本文是一份实战指南,介绍如何利用开源 LLM 应用开发平台 Dify,从零搭建个人 AI Agent。文章涵盖 Dify 的平台定位、工作流与 RAG Pipeline、Agent 工具生态、模型管理、Prompt IDE、LLMOps 可观测性,并给出 Docker 本地启动与 Python API 调用示例,帮助开发者快速将原型推进到生产环境。
用 Dify 搭建个人 AI Agent 实战指南
Dify Cloud·Self-hosting·Documentation·Dify edition overview
图 1
图 1
文章分类:Agent 与智能体
文章子分类:应用实践
Dify 是一款开源的 LLM 应用开发平台,它将 AI Workflow、RAG Pipeline、Agent、模型管理、可观测性以及 Backend-as-a-Service(BaaS)能力整合在一个直观的界面中,帮助开发者快速把原型推进到生产环境。无论是想零配置体验的 Cloud 版本、需要私有化部署的 Community Edition,还是需要企业级支持的组织,都能找到合适的使用形态。
1. Dify 平台定位与技术概览
图 2
Dify 的核心定位是面向 LLM 应用的开源开发平台,覆盖从原型到生产的完整生命周期。平台把构建 AI 应用所需的多种能力做了模块化封装:
- AI Workflow:在可视化画布上编排复杂流程;
- RAG Pipeline:从文档解析、文本提取到检索召回的完整链路;
- Agent:支持基于 LLM Function Calling 与 ReAct 范式的智能体;
- 模型管理:统一接入 GPT、Mistral、Llama3 以及 OpenAI API 兼容模型;
- 可观测性:集成 Opik、Langfuse、Arize Phoenix 等工具;
- BaaS:所有能力都对应 API,方便嵌入现有业务。
使用形态上,Dify 提供 Dify Cloud、Community Edition(社区版,可自托管)、企业版,以及面向 AWS 用户的 AWS Marketplace 镜像。
2. 核心能力:工作流、RAG 与 Agent
图 3
在明确平台定位之后,下面来看 Dify 最常被使用的三大核心能力:可视化工作流、RAG 与 Agent。
2.1 可视化 AI Workflow
Dify 提供了一个可视化画布(Visual Canvas),开发者可以在上面拖拽节点、连接逻辑,快速构建并调试复杂的 AI 工作流。它适合把大模型调用、条件分支、知识检索、工具调用等环节组合成可复用的 Pipeline。
2.2 完整的 RAG Pipeline
RAG(Retrieval-Augmented Generation,检索增强生成)能力覆盖了从文档接入到最终检索的全流程,开箱即支持 PDF、PPT 等常见文档格式的文本提取。典型流程包括:
- 上传文档;
- 文档解析与文本提取;
- 文本分块与向量化;
- 检索召回并注入 Prompt;
- 由 LLM 生成最终回答。
2.3 Agent 与工具生态
在 Dify 中,Agent 可以基于 LLM Function Calling 或 ReAct 范式构建。平台内置了 50 余种工具,例如 Google Search、DALL·E、Stable Diffusion、WolframAlpha 等,也支持接入自定义工具,满足个人或企业的差异化需求。
3. 模型管理与 Prompt 工程
3.1 广泛的模型支持
Dify 支持接入数十家推理服务商与自托管方案中的专有或开源 LLM,包括:
- GPT 系列
- Mistral
- Llama3
- 任意 OpenAI API 兼容模型
完整模型提供商列表可参考 Dify 官方文档中的 Model Providers。
3.2 Prompt IDE
Dify 的 Prompt IDE 提供了直观的提示开发界面,支持:
- 快速编写与迭代 Prompt;
- 多模型性能对比;
- 为聊天类应用添加文本转语音(Text-to-Speech)等附加功能。
4. LLMOps 与可观测性
Dify 内置了 LLMOps 能力,帮助开发者持续监控和分析应用日志、性能指标与生产数据。基于标注数据,可以不断迭代优化 Prompt、数据集和模型。
在可观测性集成方面,Dify 支持与以下工具对接:
- Opik
- Langfuse
- Arize Phoenix
这些工具可以用于追踪调用链路、评估输出质量、定位线上问题。
5. 部署与运维实践
从核心能力过渡到实际落地,下面介绍如何快速启动 Dify、通过 API 调用,以及面向生产环境的部署方案。
5.1 最小本地启动步骤
Dify 官方推荐通过 Docker Compose 快速启动。最小系统要求为:
- CPU ≥ 2 核
- RAM ≥ 4 GiB
执行步骤如下:
# 1. 进入 Dify 代码仓库的 docker 目录
cd dify/docker
# 2. 复制默认环境变量文件
cp .env.example .env
# 3. 后台启动所有服务
# -d 表示以 detached 模式运行,容器在后台执行
docker compose up -d
启动完成后,访问 http://localhost/install 完成初始化即可进入 Dify 控制台。
注:若需要自定义配置,可编辑
docker/.env,修改后重新执行docker compose up -d。高级环境变量按主题拆分在docker/envs/目录下。
5.2 通过 Python 调用 Dify API
Dify 的所有能力都提供了对应的 API。下面是一个最小可运行的 Python 示例,用于向一个 Dify Chat 应用发送消息并流式读取回复。
import requests
import json
import os
# 1. 配置
API_BASE = "https://your-dify-instance.com/v1" # 自托管时替换为 http://localhost/v1
API_KEY = os.environ.get("DIFY_API_KEY", "your-app-api-key")
USER_ID = "user-001" # 业务侧用户唯一标识
# 2. 请求体
payload = {
"inputs": {"topic": "AI Agent"}, # 应用定义的输入变量
"query": "如何用 Dify 搭建一个个人 AI Agent?", # 用户当前问题
"response_mode": "streaming", # 流式返回
"conversation_id": "", # 首次对话留空
"user": USER_ID,
}
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
# 3. 发起请求
response = requests.post(
f"{API_BASE}/chat-messages",
headers=headers,
json=payload,
stream=True,
)
# 4. 处理流式输出
for line in response.iter_lines():
if line:
text = line.decode("utf-8")
# SSE 格式以 "data:" 开头
if text.startswith("data:"):
data = json.loads(text[5:])
event = data.get("event")
if event == "message":
print(data.get("answer", ""), end="", flush=True)
elif event == "error":
print(f"\n[Error] {data}")
关键参数说明:
API_BASE:Dify 实例地址,Cloud 版为https://api.dify.ai/v1,自托管默认本地为http://localhost/v1;API_KEY:在 Dify 应用详情页获取的 API Secret Key;response_mode:blocking表示一次性返回完整结果,streaming表示流式返回;user:业务侧用户唯一标识,用于会话隔离与审计。
5.3 高可用与生产部署
对于需要高可用的场景,Dify 社区提供了多种部署方案:
| 方案 | 说明 |
|---|---|
| Kubernetes / Helm Chart | 社区贡献的 Helm Chart,支持在 K8s 上部署 |
| Terraform | 一键部署到 Azure、Google Cloud 等云平台 |
| AWS CDK | 基于 EKS 或 ECS 的 AWS 部署示例 |
| 阿里云计算巢 / DMS | 阿里云一键部署方案 |
| Grafana + PostgreSQL | 将 Dify 的 PostgreSQL 作为数据源接入 Grafana,监控应用、租户、消息等维度指标 |
例如,通过社区贡献的 Grafana Dashboard,可以监控应用维度的请求量、延迟、消息数等指标。
6. Backend-as-a-Service 与开源生态
6.1 BaaS 能力
Dify 的每项功能都对应一组 API,开发者无需从头搭建 LLM 应用后端,即可将 Dify 嵌入现有业务逻辑。典型场景包括:
- 在自有产品中集成 Chatbot;
- 通过 API 触发工作流或 Agent;
- 将 RAG 能力接入客服、知识库系统。
6.2 版本与使用场景
- Dify Cloud:零配置体验,Sandbox 计划包含 200 次免费 GPT-4 调用;
- Community Edition:自托管开源版本,源码可定制;
- 企业版:面向组织的额外功能与商业支持;
- AWS Marketplace:Dify Premium 镜像,可在 AWS VPC 中一键部署。
6.3 社区与贡献
Dify 拥有活跃的开源社区,主要参与渠道包括:
- GitHub Discussions:反馈与提问;
- GitHub Issues:Bug 反馈与功能提案;
- Discord:与社区交流应用实践;
- i18n 翻译项目:帮助将 Dify 翻译成更多语言。
总结
Dify 通过整合 Workflow、RAG、Agent、模型管理、LLMOps 与 BaaS,为个人开发者和团队提供了一个从原型到生产的 LLM 应用开发平台。借助 Docker Compose 可以快速本地启动,结合官方 API 又能方便地嵌入自有系统。对于需要生产化部署的团队,Kubernetes、Terraform、AWS CDK 以及阿里云等方案也提供了灵活的扩展路径。