概念链接
同步概念数据
Knowledge API Document
步骤 | 未使用 LLMOps 平台 | 使用 Dify LLMOps 平台 | 时间差异 | |
---|---|---|---|---|
开发应用前&后端 | 集成和封装 LLM 能力,花费较多时间开发前端应用 | 直接使用 Dify 的后端服务,可基于 WebApp 脚手架开发 | -80% | |
Prompt Engineering | 仅能通过调用 API 或 Playground {'Header 1': '什么是 LLMOps?'} Engineering | 仅能通过调用 API 或 Playground 进行 | 结合用户输入数据所见即所得完成调试 | -25% |
数据准备与嵌入 | 编写代码实现长文本数据处理、嵌入 | 在平台上传文本或绑定数据源即可 | -80% | |
应用日志与分析 | 编写代码记录日志,访问数据库查看 | 平台提供实时日志与分析 | -70% | |
数据分析与微调 | 技术人员进行数据管理和创建微调队列 | 非技术人员可协同,可视化模型调整 | -60% | |
AI 插件开发与集成 | 编写代码创建、集成 AI 插件 | 平台提供可视化工具创建、集成插件能力 | -50% |
对比维度 | 简易模式 | 专家模式 |
---|---|---|
内置提示词可见性 | 封装不可见 | 开放可见 |
有无自动编排 | 可用 | 不可用 |
文本补全模型和聊天模型选择有无区别 | 无 | 文本补全模型和聊天模型选择后有编排区别 |
变量插入 | 有 | 有 |
内容块校验 | 无 | 有 |
SYSTEM / USER / ASSISTANT 三种消息类型编排 | 无 | 有 |
上下文参数设置 | 可设置 | 可设置 |
查看 PROMPT {'Header 1': '提示词专家模式(已下线)', 'Header 2': '两种模式对比'} PROMPT LOG | 可查看完整提示词日志 | 可查看完整提示词日志 |
停止序列 Stop_Sequences 参数设置 | 无 | 可设置 |
专家模式入口
上下文参数设置
快捷键 “/”
调试日志入口
调试预览界面查看提示词日志
日志与标注界面查看提示词日志
召回模式设置
N 选 1 召回
多路召回
RAG 基本架构
混合检索+重排序
在模型供应商内配置 Cohere Rerank 模型
数据集检索模式中设置 Rerank 模型
数据集多路召回模式中设置 Rerank 模型
混合检索
向量检索设置
全文检索设置
混合检索设置
创建数据集时设置检索模式
数据集设置中修改检索模式
提示词编排中修改检索模式
redis://<redis_username>:<redis_password>@<redis_host>:<redis_port>/<redis_database>
范例:`redis://:difyai123456@redis:6379/1`
* BROKER\_USE\_SSL
若设置为 true,则使用 SSL 协议进行连接,默认 false
#### CORS 配置
用于设置前端跨域访问策略。
* CONSOLE\_CORS\_ALLOW\_ORIGINS
控制台 CORS 跨域策略,默认为 `*`,即所有域名均可访问。
* WEB\_API\_CORS\_ALLOW\_ORIGINS
WebAPP CORS 跨域策略,默认为 `*`,即所有域名均可访问。
{'Header 1': '环境变量说明', 'Header 3': '服务端'}
WebAPP CORS 跨域策略,默认为 `*`,即所有域名均可访问。
详细配置可参考:[跨域/身份相关指南](https://avytux375gg.feishu.cn/wiki/HyX3wdF1YiejX3k3U2CcTcmQnjg)
#### 文件存储配置
用于存储数据集上传的文件、团队/租户的加密密钥等等文件。
* STORAGE\_TYPE
存储设施类型
* local(默认)
本地文件存储,若选择此项则需要设置下方 `STORAGE_LOCAL_PATH` 配置。
* s3
S3 对象存储,若选择此项则需要设置下方 S3\_ 开头的配置。
* azure-blob
Azure Blob 存储,若选择此项则需要设置下方 AZURE\_BLOB\_ 开头的配置。
* STORAGE\_LOCAL\_PATH
{'Header 1': '环境变量说明', 'Header 3': '服务端'}
* STORAGE\_LOCAL\_PATH
默认为 storage,即存储在当前目录的 storage 目录下。若使用 docker 或 docker-compose 进行部署,请务必将两个容器中 `/app/api/storage` 目录挂载到同一个本机目录,否则可能会出现文件找不到的报错。
* S3\_ENDPOINT:S3 端点地址
* S3\_BUCKET\_NAME:S3 桶名称
* S3\_ACCESS\_KEY:S3 Access Key
* S3\_SECRET\_KEY:S3 Secret Key
* S3\_REGION:S3 地域信息,如:us-east-1
* AZURE\_BLOB\_ACCOUNT\_NAME: your-account-name 如 'difyai'
* AZURE\_BLOB\_ACCOUNT\_KEY: your-account-key 如 'difyai'
* AZURE\_BLOB\_CONTAINER\_NAME: your-container-name 如 'difyai-container'
{'Header 1': '环境变量说明', 'Header 3': '服务端'}
* AZURE\_BLOB\_ACCOUNT\_URL: 'https://\Docker 19.03 or later
Docker Compose 1.25.1 or later
Docker 19.03 or later
Docker Compose 1.25.1 or later
Docker Desktop
项目设立 | 2023 年 3 月 |
开源协议 | 基于 Apache License 2.0 有限商业许可 |
官方研发团队 | 超过 20 名全职员工 |
社区贡献者 | 超过 290 人 (截止 2024 {'Header 1': '特性与技术规格', 'Header 3': '项目基础信息'} 290 人 (截止 2024 Q2) |
后端技术 | Python/Flask/PostgreSQL |
前端技术 | Next.js |
代码行数 | 超过 13 万行 |
发版周期 | 平均每周一次 |
LLM 推理引擎 | Dify Runtime ( 自 v0.4 起移除了 LangChain) | |
商业模型支持 | 10+ 家,包括 OpenAI 与 Anthropic 新的主流模型通常在 48 小时内完成接入 | |
MaaS 供应商支持 | 7 家,Hugging Face,Replicate,AWS Bedrock,NVIDIA,GroqCloud,together.ai,OpenRouter | |
本地模型推理 Runtime 支持 | 6 {'Header 1': '特性与技术规格', 'Header 3': '技术特性'} Runtime 支持 | 6 家,Xoribits(推荐),OpenLLM,LocalAI,ChatGLM,Ollama,NVIDIA TIS |
OpenAI 接口标准模型接入支持 | ∞ 家 | |
多模态技术 | ASR 模型 GPT-4o 规格的富文本模型 | |
预置应用类型 | 对话型应用 文本生成应用 | |
Prompt 即服务编排 | 广受好评的可视化的 Prompt 编排界面,在同一个界面中修改 Prompt 并预览效果 编排模式
Prompt 变量类型
| |
Agentic Workflow 特性 | 行业领先的可视化流程编排界面,所见即所得的节点调试,可插拔的 DSL,原生的代码运行时,构建更复杂、可靠、稳定的 LLM 应用。 支持节点
| |
RAG
{'Header 1': '特性与技术规格', 'Header 3': '技术特性'}
请求 | ||
RAG 特性 | 首创的可视化的知识库管理界面,支持分段预览和召回效果测试。
检索方式
召回优化技术
| |
ETL 技术 | 支持对 TXT、Markdown、PDF、HTML、DOC、CSV 等格式文件进行自动清洗,内置的 Unstructured 服务开启后可获得最大化支持。 支持同步来自 Notion {'Header 1': '特性与技术规格', 'Header 3': '技术特性'} Unstructured 服务开启后可获得最大化支持。 支持同步来自 Notion 的文档为知识库。 | |
向量数据库支持 | Qdrant(推荐),Weaviate,Zilliz/Milvus,Pgvector,Pgvector-rs,Chroma,OpenSearch,TiDB,Tencent Vector,Oracle,Relyt | |
Agent 技术 | ReAct,Function Call 工具支持
内置工具
| |
日志 | 支持,可基于日志进行标注 | |
标注回复 | 基于经人类标注的 Q&A 对,可用于相似度对比回复 可导出为供模型微调环节使用的数据格式 | |
内容审查机制 | OpenAI Moderation 或外部 API | |
团队协同 | 工作空间与多成员管理支持 | |
API 规格 | RESTful,已覆盖大部分功能 | |
部署方式 | Docker,Helm |
Provider | LLM | Text Embedding | Rerank | Speech to text | TTS | ||
---|---|---|---|---|---|---|---|
OpenAI | ✔️(🛠️)(👓) | ✔️ | ✔️ | ✔️ | |||
✔️ | |||||||
Anthropic | ✔️(🛠️) | ||||||
Azure OpenAI | ✔️(🛠️)(👓) | ✔️ | ✔️ | ||||
Google Cloud | ✔️(👓) | {'Header 1': '模型供应商列表'} | |||||
Nvidia API Catalog | ✔️ | ✔️ | ✔️ | ||||
Nvidia NIM | ✔️ | ||||||
Nvidia Triton Inference Server | ✔️ | ||||||
AWS Bedrock | ✔️ | ✔️ | |||||
OpenRouter | ✔️ | {'Header 1': '模型供应商列表'} | |||||
Cohere | ✔️ | ✔️ | ✔️ | ||||
together.ai | ✔️ | ||||||
Ollama | ✔️ | ✔️ | |||||
Mistral AI | ✔️ | ||||||
groqcloud | ✔️ | {'Header 1': '模型供应商列表'} | |||||
Replicate | ✔️ | ✔️ | |||||
Hugging Face | ✔️ | ✔️ | |||||
Xorbits inference | ✔️ | ✔️ | ✔️ | ✔️ | |||
智谱 | ✔️(🛠️)(👓) | ✔️ | |||||
百川 | ✔️ | ✔️ | {'Header 1': '模型供应商列表'}✔️ | ||||
讯飞星火 | ✔️ | ||||||
Minimax | ✔️(🛠️) | ✔️ | |||||
通义千问 | {'Header 1': '模型供应商列表'}|||||||
通义千问 | ✔️ | ✔️ | ✔️ | ||||
文心一言 | ✔️ | ||||||
月之暗面 | ✔️(🛠️) | {'Header 1': '模型供应商列表'} | |||||
Tencent Cloud | ✔️ | ✔️ | |||||
阶跃星辰 | ✔️ | ||||||
火山引擎 | ✔️ | {'Header 1': '模型供应商列表'}✔️ | ✔️ | ||||
零一万物 | ✔️ | ||||||
deepseek | ✔️(🛠️) | ||||||
腾讯混元 | ✔️ | ||||||
SILICONFLOW | ✔️ | ||||||
Jina | ✔️ | ✔️ | {'Header 1': '模型供应商列表'}✔️ | ||||
ChatGLM | ✔️ | ||||||
Xinference | ✔️(🛠️)(👓) | ✔️ | ✔️ | ||||
OpenLLM | {'Header 1': '模型供应商列表'}|||||||
OpenLLM | ✔️ | ✔️ | |||||
LocalAI | ✔️ | ✔️ | ✔️ | ✔️ | |||
OpenAI API-Compatible | ✔️ | ✔️ | {'Header 1': '模型供应商列表'} | ||||
PerfXCloud | ✔️ | ✔️ | |||||
Lepton AI | ✔️ | ||||||
novita.ai | ✔️ | {'Header 1': '模型供应商列表'}✔️ | |||||
Amazon Sagemaker | ✔️ | ✔️ | ✔️ |
第一方工具列表
工具 | 工具描述 |
---|---|
谷歌搜索 | 用于执行 Google SERP 搜索并提取片段和网页的工具。输入应该是一个搜索查询 |
维基百科 | 用于执行维基百科搜索并提取片段和网页的工具。 |
DALL-E {'Header 1': '工具', 'Header 3': '如何配置第一方工具'} 绘画 | 用于通过自然语言输入生成高质量图片 |
网页抓取 | 用于爬取网页数据的工具 |
WolframAlpha | 一个强大的计算知识引擎,能根据问题直接给出标准化答案,同时具有强大的数学计算功能 |
图表生成 | 用于生成可视化图表的工具,你可以通过它来生成柱状图、折线图、饼图等各类图表 |
当前时间 | 用于查询当前时间的工具 |
雅虎财经 | 获取并整理出最新的新闻、股票报价等一切你想要的财经信息。 |
Stable Diffusion | 一个可以在本地部署的图片生成的工具,您可以使用 stable-diffusion-webui 来部署它 |
Vectorizer | 一个将 PNG 和 JPG 图像快速轻松地转换为 SVG {'Header 1': '工具', 'Header 3': '如何配置第一方工具'} PNG 和 JPG 图像快速轻松地转换为 SVG 矢量图的工具。 |
YouTube | 一个用于获取油管频道视频统计数据的工具 |
配置第一方工具凭据
第一方工具已授权
创建自定义工具
自定义工具参数测试
已添加自定义工具
创建智能助手型应用时添加工具
智能助手在对话中完成工具调用回复问题
Add Tool
Cloud Service
基于 API 扩展
uvicorn main:app --reload --host 0.0.0.0
4. 在 Dify 配置该 API。
配置 API
选择扩展
Download
查看端口
Ngrok 启动
在 Dify 中添加 API Endpoint
在 App 编辑页面中添加上 API Tool
编辑应用信息
模型负载均衡
配置负载均衡
开启负载均衡
从添加模型配置负载均衡
设置-模型供应商
探索-智能助手应用模板
工作室-构建智能助手
选择智能助手的推理模型
编排智能助手的指令提示词
添加助手需要的工具
Function Calling 模式
ReAct 模式
配置会话开场白和开场问题
调试与预览
应用发布为 Webapp
创建聊天助手
应用编排
从模板创建应用
Dify 应用模板
创建一个空白应用
导入 DSL 文件创建应用
通过 URL 导入 DSL 文件
文本生成 | 聊天助手 | |
---|---|---|
WebApp 界面 | 表单+结果式 | 聊天式 |
WebAPI 端点 | completion-messages | chat-messages |
交互方式 | 一问一答 | 多轮对话 |
流式结果返回 | 支持 | 支持 |
上下文保存 | 当次 | 持续 |
用户输入表单 | 支持 | 支持 |
数据集与插件 | 支持 | 支持 |
AI {'Header 1': '构建', 'Header 3': '应用类型 '} 开场白 | 不支持 | 支持 |
情景举例 | 翻译、判断、索引 | 聊天 |
对话开场白
Content moderation
OpenAI Moderation API
Keywords
Moderation Settings
Moderation Test
创建知识库
创建知识库
Q&A 分段模式下被总结成多个 Q&A 对的文本
Q to P 与 Q to Q 的索引模式区别
向量检索设置
全文检索设置
混合检索设置
API-based Extension
Weather Inquiry
External_data_tool
Weather_search_tool
Prompt Log
在应用内关联知识库
混合检索+重排序
在模型供应商内配置 Cohere Rerank 模型
数据集检索模式中设置 Rerank 模型
数据集多路召回模式中设置 Rerank 模型
查看已上传的文档分段
过短的文本分段
过长的文本分段
明显的语义截断
批量添加自定义分段
编辑文档分段
元数据管理
知识库上传新文档
知识库设置
知识库 API 管理
网页抓取配置
执行抓取
导入网页解析文本至知识库内
绑定 Notion
同步 Notion 内容
Knowledge API Document
召回测试
召回测试-检索设置
打开引用与归属功能
查看回复内容的引用信息
标记日志以改进
标注回复流程
提示词编排中开启标注回复
标注回复参数设置
添加标注回复
编辑标注回复
通过已保存的标注回复用户问题
日志与标注中开启标注回复
设置标注回复参数
批量导入标注问答对
批量导出标注问答对
查看标注回复命中历史
Chatflow 入口
Workflow 入口
拼接文本
知识检索节点输出转换为 Markdown
HTTP 请求配置
客户评价分类
开始(Start) | 定义一个 workflow 流程启动的初始参数。 | ||
结束(End) | 定义一个 workflow 流程结束的最终输出内容。 | ||
回复(Answer) | 定义一个 Chatflow 流程中的回复内容。 | ||
大语言模型(LLM) | 调用大语言模型回答问题或者对自然语言进行处理。 | ||
知识检索(Knowledge Retrieval) | 从知识库中检索与用户问题相关的文本内容,可作为下游 LLM 节点的上下文。 | ||
问题分类(Question Classifier) | 通过定义分类描述,LLM 能够根据用户输入选择与之相匹配的分类。 | ||
条件分支(IF/ELSE) | 允许你根据 if/else 条件将 workflow 拆分成两个分支。 | ||
代码执行(Code) | 运行 Python / NodeJS 代码以在工作流程中执行数据转换等自定义逻辑。 | ||
模板转换(Template) | 允许借助 Jinja2 的 Python 模板语言灵活地进行数据转换、文本处理等。 | ||
变量聚合(Variable {'Header 1': '节点说明', 'Header 3': '核心节点'} href="variable_assigner.md">变量聚合(Variable Aggregator) | 将多路分支的变量聚合为一个变量,以实现下游节点统一配置。 | ||
参数提取器(Parameter Extractor) | 利用 LLM 从自然语言推理并提取结构化参数,用于后置的工具调用或 HTTP 请求。 | ||
迭代(Iteration) | 对列表对象执行多次步骤直至输出所有结果。 | ||
HTTP 请求(HTTP Request) | 允许通过 HTTP {'Header 1': '节点说明', 'Header 3': '核心节点'} 请求(HTTP Request) | 允许通过 HTTP 协议发送服务器请求,适用于获取外部检索结果、webhook、生成图片等情景。 | |
工具(Tools) | 允许在工作流内调用 Dify 内置工具、自定义工具、子工作流等。 |
知识库问答应用示例
知识检索配置
输出变量
配置下游 LLM 节点
长故事生成器
开始节点配置
模板节点
参数提取
配置迭代节点
配置 LLM 节点
配置 Answer 节点
按故事章节多轮迭代生成
code 节点输出 array
参数提取节点输出 array
代码节点转换
模板节点转换
LLM 节点
LLM 节点配置-选择模型
呼出变量插入菜单
上下文变量
插入会话历史变量
结束节点-长故事生成示例
工作流开始节点
配置开始节点的变量
多重条件判断
问题分类(无变量聚合)
问题分类后的多路聚合
问题分类后的多路聚合
Arxiv 论文检索工具
工具选择
配置 Google 搜索工具检索外部知识
概览—数据分析
概览
在 LangSmith 内创建项目
在 LangSmith 内查看已创建项目
项目设置
创建一个项目 API Key
创建一个 API Key
复制 API Key
配置 LangSmith
配置 LangSmith
查看配置状态
在 Dify 内调试应用
在 LangSmith 内查看应用数据
在 LangSmith 内查看应用数据
在 Langfuse 内创建项目
在 Langfuse 内创建项目
创建一个项目 API 凭据
创建一个项目 API 凭据
获取 API Key 配置
配置 Langfuse
配置 Langfuse
查看配置状态
在 Dify 内调试应用
在 Langfuse 内查看应用数据
在 Langfuse 内查看应用数据