说明
本文主要介绍知识库中利用稀疏和稠密向量等模型方案的特点和应用场景。
利用词汇匹配优化信息检索,依赖词袋模型将查询和文档表示为高维向量,各元素对应词语及重要性,适用于关键词检索。
假设我们有一个文档向量,其中只包含几个特定特征的标识,比如向量 [0, 0, 1, 0, 1,...],其中 1 可能表示存在某个特定关键词(如“科技”, “知识”),而其他位置为 0。这个向量就是相对稀疏的,它明确标记了与某些特定关键词相关的信息。
- 优点:存储和计算效率高,资源要求低。在特定场景模式下表现好。
- 缺点:难以捕捉更丰富细腻的语义和相似性。例如检索语句为“红色的漂亮苹果”,如果文档中写的是“色泽艳丽的红苹果非常好看”,可能由于没有精准匹配到“红色”“漂亮”这两个具体关键词而错过。
利用语言模型优化信息检索,用 Embedding 模型将查询和文档映射到低维向量空间,使 Query 与 Doc 匹配转化为向量相似度问题,适用于语义检索。
假设我们有一个文本,通过预训练的 Embedding 模型得到的稠密向量 [0.25, -0.1, 0.3, 0.7, -0.4, ...],它是通过对文本进行深度语义分析得到的。这个向量包含了许多非零的具体数值,就是稠密向量。
- 优点:可以理解多义词,处理错别字和语法错误,提供语义相关度更高的答案。
- 缺点:缺乏查找特定的关键字或短语的能力,对 Embedding 模型能力依赖性较强。例如检索语句是“最新电子产品评测”,如果文档中写的是“这里有各类最新上架的电子产品的详细介绍与相关的用户评测”,可能因语义理解偏差而未能准确关联。
传统的向量库产品只支持稠密向量检索,这种方案能够理解概念和上下文,提供语义相关度更高的答案。但是在某些场景下需要查找特定的关键字或短语,需要在检索阶段使用稀疏向量检索,在检索时能查找特定关键词。
为了实现更好的检索召回效果或者迁移利用已有的关键词检索能力,知识库支持用户基于关键词和语义进行混合检索,依赖向量库对稠密向量和稀疏向量的检索能力。
知识库在对原始文档进行解析和切片后,利用向量化模型同时将文本表示为稠密向量和稀疏向量,并把这种混合了稠密向量和稀疏向量的向量组合存入向量库中。而在进行检索的过程中,向量化模型会把用户所提供的检索输入文本同样地表示为稠密向量和稀疏向量,通过同时检索向量库的向量空间,同步检索召回一批相关文档切片。
说明
知识库支持使用稠密检索的高精度版和使用混合检索的多功能版等不同的文本向量模型。
说明
关键步骤1:在知识库配置时选择合适的向量化模型。
配置类别 | 参数名称 | 参数说明 |
---|---|---|
知识库配置 | 向量化模型 | 可选 Doubao-embedding 模型(多功能版)、Doubao-embedding 模型、文本向量模型(高精度版)、文本向量模型(多功能版)。必填。
|
说明
关键步骤2: 调整 Dense Weight 参数大小
配置类别 | 参数 | 作用 | 取值范围 |
---|---|---|---|
知识库-高级配置 | Dense Weight | 在创建知识库时,如果选择的向量化模型和索引算法支持混合检索,则检索时系统会同时考虑问题与候选文本片的语义相关性和字面上的匹配程度,获得更准确的检索结果。 | [0.2, 1] |
说明
关键步骤1:在知识库配置时选择合适的向量化模型。
详细 SDK 配置参考:create_collection
说明
关键步骤2:调整 Dense Weight 参数大小。
详细 SDK 配置参考:search_and_generate