跳到主要内容

Retrieval 组件 (Retrieval Component)

该组件用于从指定的数据集中检索信息。

适用场景 (Scenarios)

Retrieval (检索) 组件在大多数 RAG 场景中都是必不可少的,用于在将信息发送给大语言模型 (LLM) 进行内容生成之前,从指定的数据集中提取信息。Retrieval 组件既可以作为一个独立的工作流模块运行,也可以作为 Agent 组件的工具使用。在后一种角色中,Agent 组件拥有自主决定何时调用它进行查询和检索的控制权。

以下截图展示了使用 Retrieval 组件的参考设计,其中该组件作为 Agent 组件的一个工具。您可以在 Report Agent Using Knowledge Base (使用知识库生成报告的智能体) 模板中找到它。

retrieval_reference_design

前提条件 (Prerequisites)

请确保您已正确配置目标数据集

快速上手 (Quickstart)

1. 点击 Retrieval 组件显示其配置面板

相应的配置面板将出现在画布的右侧。使用该面板可以定义和微调 Retrieval 组件的检索行为。

2. 输入查询变量

Retrieval 组件依赖查询变量来指定其查询 (Queries)。

重要提示
  • 如果您将 Retrieval 组件用作独立的工作流模块,请在 Input Variables (输入变量) 文本框中输入查询变量。
  • 如果它被用作 Agent 组件的工具,请在 Agent 组件的 User prompt (用户提示词) 字段中输入查询变量。

默认情况下,您可以使用 sys.query(即用户查询,是 Begin 组件的默认输出)。在 Retrieval 组件之前定义的所有全局变量也可以用作查询语句。使用 (x) 按钮或输入 / 可显示所有可用的查询变量。

3. 选择要查询的数据集

您可以指定一个或多个数据集以从中检索数据。如果选择多个,请确保它们使用相同的嵌入模型 (Embedding Model)。

4. 展开高级设置 (Advanced Settings) 配置检索方法

默认情况下,检索采用加权关键词相似度与加权向量余弦相似度相结合的检索方式。如果选择了重排模型 (Rerank Model),则将改用加权关键词相似度与加权重排分数的组合。

对于初学者,您可以跳过此步骤以保留默认的检索方法。

警告

使用重排模型 (Rerank Model) 将会显著延长系统的响应时间。

5. 启用跨语言检索

如果您的用户查询语言与数据集的语言不同,您可以在 Cross-language search (跨语言检索) 下拉菜单中选择目标语言。模型随后会翻译查询,以确保跨语言语义的精确匹配。

6. 测试检索结果

点击画布上方的 Run(运行)按钮以测试检索结果。

7. 选择下一个组件

在必要时,点击 Retrieval 组件上的 + 按钮,从下拉列表中选择工作流中的下一个组件。

配置项 (Configurations)

Query variables (查询变量)

必填

选择用于检索的查询源。默认值为 sys.query(即 Begin 组件的默认输出)。

Retrieval 组件依赖查询变量来指定其查询 (Queries)。在 Retrieval 组件之前定义的所有全局变量也可以用作查询。使用 (x) 按钮或输入 / 可显示所有可用的查询变量。

Retrieval from (检索自)

选择要检索数据的数据集 (Datasets) 或记忆 (Memory)。

  • 如果您选择多个数据集,您必须确保它们使用相同的嵌入模型 (Embedding Model);否则会报错。
  • 如果您选择 Memory (记忆),请配置以下任一选项:
    • Memory (记忆):从特定的现有记忆中进行检索。
    • User ID (用户 ID):从与用户 ID 关联的对话中检索。详情请参阅 User ID

Similarity threshold (相似度阈值)

RAGFlow 在检索过程中采用加权关键词相似度与加权向量余弦相似度相结合的检索方式。此参数设置用户查询与数据集中存储的分块 (Chunks) 之间的相似度阈值。相似度分数低于此阈值的任何分块都将被排除在结果之外。

默认值为 0.2。

Vector similarity weight (向量相似度权重)

此参数设置向量相似度在复合相似度分数中的权重。两个权重之和必须等于 1.0。其默认值为 0.3,这意味着在组合搜索中关键词相似度的权重为 1 - 0.3 = 0.7。

Top N

此参数从检索到的分块中选择前 “N” 个最相关的分块,并将其提供给大语言模型 (LLM)。

默认值为 8。

Rerank model (重排模型)

可选

如果选择了重排模型,则将使用加权关键词相似度与加权重排分数的组合进行检索。

警告

使用重排模型将显著增加系统的响应时间。

Empty response (空响应)

  • 如果针对您的查询未从数据集中检索到任何结果,请将此作为回复返回;或
  • 将此字段留空,以便在大语言模型未找到任何内容时进行即兴发挥。
警告

如果您未指定数据集,您必须将此字段留空;否则会发生错误。

Cross-language search (跨语言检索)

选择一种或多种语言进行跨语言检索。如果未选择任何语言,系统将使用原始查询进行检索。

Use knowledge graph (使用知识图谱)

重要提示

在启用此功能之前,请确保您已正确地在各目标数据集中构建了知识图谱

在多跳问答检索过程中,是否使用指定数据集中的知识图谱。启用此功能后,它将涉及对实体、关系和社区报告分块的迭代搜索,从而大大增加检索时间。

PageIndex (页面索引)

是否使用大模型生成的页面索引结构来增强检索。这种方法模拟了人类在书籍中搜索信息的行为。

Output (输出)

Retrieval 组件输出的全局变量名称,可以被工作流中的其他组件所引用。

常见问题 (FAQ)

如何缩短响应时间?

检查以下清单以获得最佳性能:

  • Rerank model (重排模型) 字段留空以禁用重排。
  • 禁用 Use knowledge graph (使用知识图谱)