langgenius/dify · 上手攻略
- 仓库:langgenius/dify
- 链接:https://github.com/langgenius/dify
- 分类:trending
- 作者:Tom
- 更新:2026-07-09
这是什么
Dify 是一个开源的 LLM 应用开发平台,将 AI 应用的全生命周期管理浓缩到一个直观的界面中。它同时支持"零代码"可视化编排和后端 API 调用,定位介于 LangChain 的灵活度和 Dify 的开箱即用之间——你不需要写 Python 就能跑起一个完整的 AI 应用,但一旦需要深度定制,Dify 也提供了足够的扩展性。
官方给它的定义是:Production-Ready LLM App Development Platform。核心理念是把 AI 应用的原型到生产环节全部覆盖:工作流编排、RAG 管道、Agent 能力、模型管理、可观测性(集成 Opik、Langfuse、Arize Phoenix),全部在一个平台内完成。
解决什么问题
如果你试过用纯 LangChain 搭建一个生产级 AI 应用,大概率会遇到这些问题:
- 上线容易,维护难:Prompt 改了没有版本管理,生产出错了没有日志可查。
- RAG 管道要从零搭:文档解析 → 分块 → 向量化 → 检索,每一步都要自己拼。
- Agent 能力门槛高:ReAct / Function Calling 的逻辑写一遍可以,写三遍就开始想骂人。
- 多模型切换麻烦:今天用 GPT-4,明天想换 Llama3,要改一堆代码。
Dify 把这些问题打包成可视化模块,让产品经理和独立开发者都能快速搭出能上线的产品,而不需要配一个完整的 Python 团队。
快速安装(Docker 单机部署)
前置要求:CPU ≥ 2 核,内存 ≥ 4 GiB,Docker 和 Docker Compose 已安装。
# 克隆仓库
git clone https://github.com/langgenius/dify.git
cd dify/docker
# 复制环境配置
cp .env.example .env
# 一行启动
docker compose up -d
启动后访问 http://localhost/install,按引导完成初始化(设置管理员账号)。
⚠️ 注意:首次启动会拉取多个 Docker 镜像(约数 GB),国内用户可能较慢,建议配置 Docker 镜像加速。
如需自定义配置,编辑 docker/.env,关键变量说明见 官方环境变量文档。完整重启:docker compose -f docker/docker-compose.yaml down && docker compose -f docker/docker-compose.yaml up -d。
核心用法
1. 创建应用
登录后在工作台点击"创建应用",选择应用类型:
| 类型 | 说明 |
|---|---|
| Chatbot | 对话式应用,支持多轮对话 |
| Agent | 基于 LLM Function Calling 或 ReAct 的智能体 |
| Completion | 文本补全(Prompt 工程) |
| Workflow | 可视化编排的 AI 工作流 |
2. 内置 Prompt IDE
在应用内可直接编写、调试 Prompt,支持: - 多模型横向对比(同时问 GPT-4 和 Llama3,看哪个回答更好) - 变量插入(让用户输入或从上下文注入) - 文本转语音(TTS)集成
3. RAG 管道(文档问答)
Dify 内置完整的 RAG 流程:
- 上传文档(PDF、PPT、Word、TXT 等,支持 OCR)
- 自动解析 → 分块 → 向量化
- 接入应用作为上下文
# 如需通过 API 上传文档(Dify 后端即服务模式)
curl -X POST 'https://your-dify-instance/v1/datasets' \
-H 'Authorization: Bearer APP-xxx' \
-F "name=my_dataset" \
-F "indexing_technique=high_quality"
4. Agent 与工具
Dify 提供 50+ 内置工具,涵盖 Google 搜索、DALL·E 绘图、Stable Diffusion、Wolfram Alpha 等。可以基于 ReAct 或 Function Calling 定义 Agent,添加自定义工具:
# 通过 API 调用已部署的 Agent
import requests
response = requests.post(
"https://your-dify-instance/v1/chat-messages",
headers={"Authorization": "Bearer APP-xxx"},
json={
"query": "帮我查一下北京今天的天气",
"user": "user_123",
"response_mode": "blocking"
}
)
print(response.json()["answer"])
5. LLMOps:监控与迭代
Dify 内置日志和性能分析,持续追踪: - 每次调用的 Prompt、Token 消耗 - 用户反馈(点赞/点踩) - 标注与微调数据集导出
可接入 Grafana 仪表盘(参考 社区 Dashboard)。
6. 后端 API
每个 Dify 应用都自带 REST API,可嵌入到任何业务系统:
# 查看应用 API 文档
# 在 Dify UI 中:应用 → 发布 → 调用API
典型适用场景
- AI 产品原型快速验证:非工程师也能搭一个能跑的应用,给投资人或客户演示。
- 企业内部知识库问答:上传产品文档、客服记录,用 RAG 管道构建智能问答。
- 多模型对比选型:在 Prompt IDE 里同时跑 GPT-4、Claude、Llama3,客观评估效果差异。
- Agent 应用搭建:需要调用外部工具(搜索、数据库、API)的智能体场景。
- AI 应用生产运营:日志分析、Prompt 迭代、用户反馈收集,用 LLMOps 持续优化。
坑与注意
-
自托管 vs 云服务:Dify 本身开源免费,但云服务有不同定价 plan。生产环境自托管需要自己维护 PostgreSQL(内置)和 Redis(如使用消息队列)。
-
中文文档支持有限:主要文档为英文和中文,中文翻译覆盖不全,有问题优先看英文文档。
-
Worker 资源消耗:RAG 向量化、Agent 推理都是 CPU/内存密集型任务,低配机器跑大规模文档库可能会卡。
-
API 鉴权:所有 API 调用需要
APP-xxx形式的密钥,密钥在"应用 → 发布 → API"页面获取。 -
版本升级注意:Dify 升级时数据库 schema 可能变化,升级前务必查看 CHANGELOG 并做好备份。
-
Docker 卷权限:Linux 上
docker compose up -d可能遇到卷权限问题,确保 Docker 以 root 或有权限的用户运行,或检查/var/run/docker.sock权限。 -
企业级功能需要付费:核心开源版覆盖大部分需求,但高级特性如 SSO、SLA 支持属于企业版。
与同类对比
| 维度 | Dify | LangChain | Flowise | LangFlow |
|---|---|---|---|---|
| 上手难度 | 低(UI+API) | 高(纯代码) | 低 | 中 |
| 可视化 | ✅ 完整 | ❌ | ✅ | ✅ |
| 后端 API | ✅ 原生 | ❌ 需自己封装 | ✅ | ❌ |
| RAG 内置 | ✅ | 需自己拼 | ✅ | ✅ |
| 多租户/团队 | ✅ | ❌ | 有限 | ❌ |
| 开源协议 | Apache 2.0 + 附加条款 | MIT | Apache 2.0 | Apache 2.0 |
Dify 的核心优势:开箱即用的 UI + 原生 API + RAG 内置,最适合"想快速上线一个 AI 产品"的团队。不适合:需要深度定制 LangChain 逻辑、对依赖版本有严格控制的场景。
一句话推荐结论
Dify 是目前开源 LLM 应用平台中完成度最高、门槛最低的选择——用它,你可以在一个下午把一个 AI 应用从零做到能上线。
来源
- GitHub README:https://github.com/langgenius/dify
- 官方文档:https://docs.dify.ai
- Docker 部署:https://github.com/langgenius/dify/tree/main/docker