> For the complete documentation index, see [llms.txt](https://docs.din.lol/din-cook-data-for-ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.din.lol/din-cook-data-for-ai/chinese/din-cao-zuo-yu-jie-shao/comprehensive-network-architecture/fu-wu-ceng-ai-dai-li-gong-ju-bao/rag-jian-suo-zeng-qiang-sheng-cheng/hun-he-sou-suo.md).

# 混合搜索

在大多数文本搜索场景中，确保最相关的结果出现在候选列表中是至关重要的。向量搜索和关键词搜索各自在搜索领域中具有自身的优势。混合搜索结合了这两种技术的优点，同时弥补了它们各自的不足。

在混合搜索中，向量索引和关键词索引会预先建立在数据库中。在用户输入查询时，系统会使用这两种搜索方法查找文档中最相关的文本。

“混合搜索”没有明确的定义；本文将其例举为向量搜索和关键词搜索的组合。然而，这个术语也可以应用于其他搜索算法的组合。例如，我们可以将用于检索实体关系的知识图谱技术与向量搜索相结合。

不同的搜索系统各自在文本（段落、句子、单词）中发现各种微妙联系方面表现出色，包括精确关系、语义关系、主题关系、结构关系、实体关系、时间关系和事件关系。可以肯定地说，没有单一的搜索模式适用于所有场景。通过整合多种搜索系统，混合搜索实现了各种搜索技术之间的互补性。

#### 向量搜索

* **定义**：向量搜索涉及生成查询嵌入，然后搜索在向量表示上与这些嵌入最匹配的文本块。
* **TopK**：此设置用于过滤与用户查询最相似的文本块。系统还会根据所选模型的上下文窗口大小动态调整块的数量。此设置的默认值为 3。
* **得分阈值**：此设置用于建立文本块选择的相似性阈值。这意味着只有超过设定得分的文本块才会被检索。默认情况下，此设置处于关闭状态，这意味着系统不会过滤检索文本块的相似性值。当激活时，默认值设为 0.5。
* **重排序模型**：在“模型提供者”页面配置重排序模型的 API 密钥后，可以在搜索设置中启用“重排序模型”。系统随后会对经过语义搜索检索到的文档结果进行语义重排序，以优化这些结果的顺序。一旦设置了重排序模型，TopK 和得分阈值设置仅在重排序步骤中有效。

#### 全文搜索

* **定义**：全文搜索涉及索引文档中的所有单词，使用户能够查询任意术语并检索包含这些术语的文本块。
* **TopK**：此设置用于选择与用户查询在相似性上最匹配的文本块。系统还会根据所选模型的上下文窗口大小动态调整块的数量。默认值设置为 3。
* **重排序模型**：在“模型提供者”页面配置重排序模型的 API 密钥后，可以在搜索设置中激活“重排序模型”。系统随后会对通过全文搜索检索到的文档结果进行语义重排序，以优化这些结果的顺序。一旦配置了重排序模型，TopK 和任何得分阈值设置将仅在重排序步骤中有效。

#### 混合搜索

混合搜索通过同时执行全文搜索和向量搜索来运行。然后，它应用重排序步骤，从两种搜索结果中选择与用户查询最匹配的最佳结果。要有效使用此功能，需要配置重排序模型 API。

* **TopK**：此设置用于过滤与用户查询最相似的文本块。系统会根据所使用模型的上下文窗口大小动态调整块的数量。默认值设置为 3。
* **重排序模型**：在“模型供应商”页面配置重排序模型的 API 密钥后，可以在搜索设置中启用“重排序模型”。系统将对通过混合搜索检索到的文档结果进行语义重排序，从而优化这些结果的顺序。一旦设置了重排序模型，TopK 和任何得分阈值设置仅适用于重排序步骤。

#### 创建知识时设置搜索模式

要在创建知识库时设置搜索模式，请导航到“知识 -> 创建知识”页面。在那里，您可以在检索设置部分配置不同的搜索模式。

#### 在提示工程中修改搜索模式

您可以通过导航到“提示工程 -> 上下文 -> 选择知识 -> 设置”页面，在应用创建过程中修改搜索模式。这允许在提示安排阶段对不同搜索模式进行调整。
