mirror of
https://github.com/langgenius/dify-docs.git
synced 2026-03-27 13:28:32 +07:00
* 🌐 Initial translations for PR #636 Auto-generated translations for documentation changes in PR #636. Last-Processed-Commit:3f204fbd9dOriginal-PR: #636 Languages: Chinese (zh), Japanese (ja) 🤖 Generated with GitHub Actions * 🔄 Update translations for commit623b346aAuto-generated translations for changes in commit623b346a77. Last-Processed-Commit:623b346a77Original-PR: #636 Languages: Chinese (zh), Japanese (ja) 🤖 Generated with GitHub Actions * Fix pricing link for batch upload information Updated the link for the paid plan pricing page. * Update maintain-knowledge-documents.mdx * Update link text for knowledge base creation * Update pricing link in readme for batch upload * Update setting-indexing-methods.mdx * Update knowledge-retrieval.mdx --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Riskey <36894937+RiskeyL@users.noreply.github.com>
135 lines
5.6 KiB
Plaintext
135 lines
5.6 KiB
Plaintext
---
|
||
title: 知识检索
|
||
icon: "database"
|
||
---
|
||
|
||
<Note> ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考[英文原版](/en/use-dify/nodes/knowledge-retrieval)。</Note>
|
||
|
||
## 简介
|
||
|
||
你可以通过知识检索节点将已有知识库集成到 Chatflow 或 Workflow 应用中。该节点在指定知识库中检索与查询相关的信息,并将检索结果作为上下文内容传递给下游节点(如 LLM)使用。
|
||
|
||
知识检索节点在 Chatflow 中的典型用例如下:
|
||
|
||
1. **用户输入** 节点收集用户问题。
|
||
|
||
2. **知识检索** 节点在指定知识库中检索与用户问题相关的内容,并输出检索结果。
|
||
|
||
3. **LLM** 节点基于用户问题和检索结果生成回复。
|
||
|
||
4. **直接回答** 节点将 LLM 的回复输出给用户。
|
||
|
||

|
||
|
||
<Info>
|
||
使用知识检索节点前,确保至少有一个可用的知识库。了解如何创建知识库,阅读 [知识库](/zh/use-dify/knowledge/readme#创建知识库)。
|
||
</Info>
|
||
|
||
<Note>
|
||
在 Dify Cloud 上,知识检索操作受订阅计划的频率限制。详见 [知识库请求频率限制](/zh/use-dify/knowledge/knowledge-request-rate-limit)。
|
||
</Note>
|
||
|
||
## 配置知识检索节点
|
||
|
||
要使知识检索节点正常工作,你需要指定:
|
||
|
||
- *检索什么*(查询内容)
|
||
|
||
- *在哪里检索*(知识库)
|
||
|
||
- *如何处理检索结果*(节点级检索设置)
|
||
|
||
你还可以利用文档元数据实现基于筛选的检索,进一步提升检索精度。
|
||
|
||
### 指定查询内容
|
||
|
||
设置节点需要在指定知识库中检索的查询内容。
|
||
|
||
- **查询文本**:选择一个文本变量。例如,在 Chatflow 中可用 `userinput.query` 引用用户输入,而在 Workflow 中则可选择文本类型的用户输入变量。
|
||
|
||
- **查询图片**:选择一个图片变量(如用户通过用户输入节点上传的图片),通过图片进行检索。图片大小限制为 2 MB。
|
||
|
||
<Tip>
|
||
对于自托管部署,可通过环境变量 `ATTACHMENT_IMAGE_FILE_SIZE_LIMIT` 调整图片大小限制。
|
||
</Tip>
|
||
|
||
<Info>
|
||
当添加了至少一个多模态知识库时,才会出现 **查询图片** 选项。
|
||
|
||
此类知识库会带有 **Vision** 图标,表示其使用的是多模态嵌入模型。
|
||
</Info>
|
||
|
||
### 选择检索的知识库
|
||
|
||
为节点添加一个或多个知识库,用于检索与查询内容相关的信息。
|
||
|
||
添加了多个知识库时,会同时检索所有知识库,合并结果并根据 [节点级检索设置](#调整节点级检索设置) 进行处理。
|
||
|
||
<Info>
|
||
带有 **Vision** 图标的知识库支持跨模态检索——基于语义相关性同时检索文本和图片。
|
||
</Info>
|
||
|
||
<Tip>
|
||
点击已添加知识库对应的 **编辑** 图标,可直接在知识检索节点内修改其设置。了解更多设置说明,阅读 [调整知识库设置](/zh/use-dify/knowledge/manage-knowledge/introduction)。
|
||
</Tip>
|
||
|
||
### 调整节点级检索设置
|
||
|
||
设置节点在获取知识库检索结果后的处理方式。
|
||
|
||
<Info>
|
||
检索设置分为知识库级和节点级两层。
|
||
|
||
可将其理解为先后两道筛选:知识库设置决定初步的检索结果池,而节点设置对结果进行重排序(Rerank)或进一步筛选。
|
||
</Info>
|
||
|
||
- **Rerank 设置**
|
||
|
||
- **权重设置**:语义相似度与关键词匹配的权重。语义权重高则更注重语义相关性,关键词权重高则更偏向精确匹配。
|
||
|
||
<Info>
|
||
仅当所有已添加的知识库使用的索引方式均为高质量时,才会出现 **权重设置** 的选项。
|
||
</Info>
|
||
|
||
- **Rerank 模型**:根据与查询内容的相关性,对所有结果的相似度分数进行重新评定和排序。
|
||
|
||
<Note>
|
||
若添加了多模态知识库,需同时选择多模态 Rerank 模型(带有 **Vision** 图标)。否则,检索到的图片将在重排序和最终输出中被排除。
|
||
</Note>
|
||
|
||
- **Top K**:重排序后返回的最大结果数。选择 Rerank 模型时,该值将根据模型的最大输入容量自动调整。
|
||
|
||
- **Score 阈值**:返回结果的最低相似度分数。低于该阈值的结果会被过滤。阈值高表示对结果的相关性更严格,阈值低则更宽松。
|
||
|
||
### 启用元数据过滤
|
||
|
||
可利用已有的文档元数据,将检索范围限定在知识库的特定文档内,以进一步提升检索精度。
|
||
|
||
启用元数据过滤后,知识检索节点仅会检索符合指定元数据过滤条件的文档,而非整个知识库。尤其适用于内容多样的大型知识库。
|
||
|
||
<Info>
|
||
了解如何创建与管理文档元数据,阅读 [元数据](/zh/use-dify/knowledge/metadata)。
|
||
</Info>
|
||
|
||
## 输出变量
|
||
|
||
知识检索节点将检索结果输出为 `result` 变量——一个包含分段内容、元数据、标题等属性的文档分段数组。
|
||
|
||
若检索结果中包含图片附件,`result` 变量中将增加包含图片元数据的 `files` 字段。
|
||
|
||
## 搭配 LLM 节点使用知识检索节点
|
||
|
||
如需在 LLM 节点中基于检索结果回答用户问题:
|
||
|
||
1. 在 **上下文** 字段中,选择知识检索节点的 `result` 变量。
|
||
|
||
2. 在提示词字段中,同时引用 `上下文` 变量和用户输入变量(如 Chatflow 中的 `userinput.query`)。
|
||
|
||
3. (可选)若 LLM 支持视觉能力(带有 **Vision** 图标),可启用 **Vision**,以便其理解检索到的图片。
|
||
|
||
<Info>
|
||
启用 **Vision** 后,LLM 会自动处理检索到的图片。无需在 **Vision** 输入字段中再次手动引用 `上下文` 变量。
|
||
</Info>
|
||
|
||
<img src="/images/llm_node_configuration_example.png" alt="LLM 节点配置示例" width="400"/>
|