2026年3月更新 RAG 指南 进阶

Dify RAG 指南 2026:从自有文档中获取答案

检索增强生成(RAG)是 Dify 最强大的功能。本指南将向您展示如何构建一个在回答之前搜索您文档的 AI — 提供准确、有据可查的答案,而非凭空捏造的猜测。

什么是 Dify RAG?

RAG 代表检索增强生成。这项技术让您的 AI 能够访问您自己的文档、数据库和知识源 — 它不只是从通用训练数据中回答,而是先搜索您的内容,然后基于找到的内容生成答案。

GPT-4 或 Claude 等标准 LLM 在被问及内部文档、产品规格或公司政策时会产生幻觉 — 因为它们根本不了解这些数据。Dify RAG 通过从您的文件创建知识库并在模型回答之前插入最相关的文本片段来解决这个问题。

结果:一个能从您真实数据中精准回答、引用来源,并在信息不可用时说"我不知道"而非编造内容的 AI 聊天机器人。

从您的文档中回答
大幅减少幻觉
引用具体文本段落
支持 PDF、Word、TXT、Markdown
无需微调模型
随时可更新知识库

Dify RAG 内部工作原理

理解处理管道有助于您更好地配置系统。当您上传文档并向聊天机器人提问时,流程如下:

1

文档摄入

您上传文件。Dify 从 PDF、Word 文档、Markdown 等中提取文本内容。

2

分块

文本被切分成更小的片段(通常 500-1000 个 token),以实现精确搜索。

3

向量化

每个片段使用 text-embedding-3-small 等嵌入模型转换为向量(数字列表)。

4

向量存储

向量存储在向量数据库中(内置、pgvector、Qdrant、Weaviate、Milvus 或 Pinecone)。

5

查询检索

用户提问时,问题同样被向量化,从向量存储中检索最相似的片段。

6

上下文注入

检索到的片段作为上下文插入 LLM 提示词。模型基于这些真实数据作答。

重要理解:RAG 不会修改 LLM,它在生成之前添加了一个检索步骤。这意味着您可以随时更新知识库而无需更改模型。
1

设置知识库

知识库是您上传和索引文档的地方。请按以下步骤操作:

1

打开 Dify → "知识库"标签

点击顶部导航中的"知识库"。这里存放您所有的文档集合。

2

创建新知识库

点击"+ 创建知识库",输入描述性名称(如"产品文档"、"支持常见问题")。

3

上传文件

拖放文件或通过浏览器选择。支持:PDF、Word(.docx)、TXT、Markdown(.md)、HTML、CSV。支持同时上传多个文件。

4

选择分块策略

大多数情况选"自动"。这会按段落和标题分割文档。对于密集技术文档:选"自定义",800 token 块,150 token 重叠。

5

选择嵌入模型

选择嵌入模型。推荐 OpenAI text-embedding-3-small — 快速、经济、准确。自托管时,通过 Ollama 使用 nomic-embed-text 也可离线运行。

6

索引文档

点击"保存并处理"。Dify 会自动分块和向量化所有内容。根据文档大小,需要 1-5 分钟。进度条显示状态。

提示:格式整洁的文档索引效果更好。上传前请删除 PDF 中的页眉页脚、页码和样板文字,以提升检索质量。
2

将 RAG 连接到您的应用

知识库索引完成后,将其连接到聊天机器人或智能体:

1

在 Studio 中打开您的聊天机器人或智能体

2

在左侧面板找到"上下文"部分

3

点击"+ 添加上下文"并选择您的知识库

4

将检索模式设为"语义搜索"(推荐)用于基于语义的检索,或"全文搜索"用于关键词匹配

5

将"Top K"设为 3-5(每次请求检索的片段数量),从 3 开始

6

启用"分数阈值",设为 0.5,以过滤不相关结果

7

在预览面板用文档中的问题进行测试,验证机器人是否提供正确信息。

专业提示:在系统提示词中添加:"当从提供的上下文中回答时,请始终注明来源文档名称。"这让引用哪份文档一目了然。
3

支持的向量数据库

Dify 支持多种向量存储。对于大多数用户,内置存储已足够。对于大规模部署(数百万文档),请切换到专用向量数据库:

向量存储 设置 适用场景 费用
内置(默认) 推荐 无需设置 大多数用户 — 最多约 10 万文档 免费
pgvector PostgreSQL 扩展 现有 PostgreSQL 用户 免费(自托管)
Qdrant Docker 容器 自托管,高性能 免费(自托管)
Weaviate Docker 或云 多模态数据(文本+图像) 免费 / 付费云
Milvus Docker 或 Zilliz Cloud 十亿级向量,企业级 免费 / 付费云
Pinecone 仅需 API 密钥 全托管,无需基础设施维护 付费 SaaS
建议:从内置向量存储开始。无需任何配置,适用于大多数项目。只有在文档块超过 10 万个时才考虑切换到外部存储。
4

获得最佳结果的 RAG 技巧

这些配置技巧可以显著提升 RAG 准确性:

最佳块大小:500-1000 tokens

太小 = 缺乏上下文。太大 = 相关性稀释。对于大多数文档,600 tokens、100 token 重叠是理想设置。

清理源文档

删除重复的页眉页脚、页码和导航元素。这些会产生噪音,影响检索质量。

利用元数据过滤

用类别标记文档(如"产品:计费"、"类型:常见问题")。过滤器允许从相关子集精确检索。

按主题分离知识库

不要将产品手册和人事政策混在一起。独立数据集实现更精确的检索。一个应用可附加多个知识库。

使用混合搜索

Dify 支持混合模式(语义搜索+关键词搜索组合)。非常适合产品代码或专有名词等精确术语。

在日志中监控检索

在应用的"日志与标注"中查看每次请求检索了哪些块。用于诊断回答质量差的原因。

检索模式详解

Dify 提供三种检索模式。请根据内容类型选择:

推荐

语义搜索

即使措辞不同也能找到概念相似的内容。非常适合关于复杂主题的自然语言问题。使用向量相似度。

全文搜索

像传统搜索引擎一样的关键词搜索。更适合精确术语:产品代码、名称、ID。速度快且可预测。

混合搜索

使用重排序器结合语义搜索和全文搜索。总体准确性最佳,但速度较慢。需要重排序模型(如 cohere-rerank)。

常见问题

什么是 Dify RAG?

RAG 代表检索增强生成。通过 Dify RAG,您的 AI 可以在回答之前搜索您自己的文档、PDF 或数据库 — 这大大减少了幻觉,并提高了专业问题的回答准确性。

Dify RAG 支持哪些文件格式?

Dify 知识库支持 PDF、Word(.docx)、纯文本(.txt)、Markdown(.md)、HTML 和 CSV 文件。您也可以通过 API 连接外部数据源或与 Notion 同步。

Dify RAG 如何减少幻觉?

Dify RAG 不仅仅依赖 LLM 的训练知识,而是从您的文档中检索相关文本片段并作为上下文插入。模型随后基于您的实际数据进行回答。

哪些向量数据库与 Dify RAG 兼容?

Dify 支持多种向量存储:内置(默认,无需设置)、pgvector(PostgreSQL)、Qdrant、Weaviate、Milvus 和 Pinecone。内置存储适用于大多数用户。

托管 Dify 并构建 RAG 应用

RAG 在自托管实例上运行最佳,您可以控制计算能力、无积分限制,并可无限处理文档。在 Hetzner 上仅需 €3.79/月起步,或在 Elestio 上使用一键托管部署。

在 Hetzner 上部署 → Dify 入门教程 比较所有托管选项