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 流程:

  1. 上传文档(PDF、PPT、Word、TXT 等,支持 OCR)
  2. 自动解析 → 分块 → 向量化
  3. 接入应用作为上下文
# 如需通过 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 持续优化。

坑与注意

  1. 自托管 vs 云服务:Dify 本身开源免费,但云服务有不同定价 plan。生产环境自托管需要自己维护 PostgreSQL(内置)和 Redis(如使用消息队列)。

  2. 中文文档支持有限:主要文档为英文和中文,中文翻译覆盖不全,有问题优先看英文文档。

  3. Worker 资源消耗:RAG 向量化、Agent 推理都是 CPU/内存密集型任务,低配机器跑大规模文档库可能会卡。

  4. API 鉴权:所有 API 调用需要 APP-xxx 形式的密钥,密钥在"应用 → 发布 → API"页面获取。

  5. 版本升级注意:Dify 升级时数据库 schema 可能变化,升级前务必查看 CHANGELOG 并做好备份。

  6. Docker 卷权限:Linux 上 docker compose up -d 可能遇到卷权限问题,确保 Docker 以 root 或有权限的用户运行,或检查 /var/run/docker.sock 权限。

  7. 企业级功能需要付费:核心开源版覆盖大部分需求,但高级特性如 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