Dify:开源 LLM 应用开发平台功能与部署指南
项目简介
Dify 是一个开源的 LLM(大型语言模型)应用开发平台。它通过直观的界面结合了 AI 工作流程、RAG(检索增强生成)管道、代理功能、模型管理、可观察性特性等,使用户能够快速从原型设计转向产品生产。Dify 旨在降低构建基于大模型应用的门槛,提供后端即服务(Backend-as-a-Service)的能力,让开发者专注于业务逻辑而非基础设施。
核心功能详解
1. 可视化工作流(Workflow)
Dify 提供了强大的可视化画布,允许用户构建和测试复杂的 AI 工作流程。这不仅仅是简单的链式调用,而是支持条件分支、循环、变量操作等编程逻辑。
- 节点类型:支持开始、结束、LLM、知识库、代码执行、HTTP 请求、条件判断等多种节点。
- 调试能力:在发布前可在画布上逐步运行,查看每个节点的输入输出,便于排查逻辑错误。
2. 全面的模型支持
Dify 解耦了应用与底层模型,支持接入数十个推理提供商和自托管解决方案中的数百种专有/开源 LLM。
- 兼容性:覆盖 GPT、Mistral、Llama2、Qwen 以及任何与 OpenAI API 兼容的模型。
- 多租户隔离:企业版支持不同团队配置不同的模型密钥和配额。
3. 提示词工程(Prompt IDE)
内置的提示词编辑器支持结构化编写 Prompt,并提供以下辅助功能:
- 变量管理:轻松定义输入变量和上下文变量。
- 性能对比:支持 A/B 测试不同版本的 Prompt,根据实际效果选择最优方案。
- 模板化:支持将常用 Prompt 保存为模板,供团队成员复用。
4. RAG 管道(检索增强生成)
RAG 是 Dify 的核心优势之一,涵盖了从文档摄取到检索的全流程。
- 数据源支持:支持文本、PDF、PPT、Word 等常见文档格式。
- 分块策略:提供字符分割、语义分割等多种 Chunking 策略,并允许自定义重叠率。
- 向量存储:内置支持多种向量数据库(如 Milvus, Qdrant, PGVector),支持混合检索(关键词 + 向量)。
5. 代理功能(Agents)
Dify 允许基于 LLM 功能调用或 ReAct 模式定义智能代理。
- 工具集成:预置了 Google 搜索、WolframAlpha、Stable Diffusion 等 50 多个内置工具。
- 自定义工具:支持通过 HTTP 接口注册自定义工具,扩展 Agent 的能力边界。
6. LLMOps 与可观察性
生产环境需要监控和分析应用程序日志和性能随时间的变化。
- Trace 追踪:记录每次请求的完整链路,包括 Token 消耗、延迟、模型响应。
- 反馈机制:支持用户对回答进行点赞/点踩,收集数据用于后续优化。
7. 后端即服务(BaaS)
Dify 的所有产品都配有相应的 RESTful API,可以轻松地将 Dify 集成到你自己的业务逻辑中,无需自建后端。
系统架构概述
Dify 采用前后端分离架构,主要组件包括:
- API Server:处理业务逻辑、路由分发、鉴权。
- Worker:异步任务队列,处理耗时操作如文档解析、向量入库。
- Frontend:基于 React 的管理控制台。


