定义
QALSH 是局部敏感哈希(LSH)算法的一种改进版本,特别适用于高维度空间中的近似最近邻搜索(ANN)。这一算法在 RAG 系统的检索过程中扮演着关键角色,主要负责对向量化文本进行高效的相似性搜索。
检索过程中的应用
RAG 系统的检索过程涉及将文本块和用户查询转化为高维向量,然后在向量数据库中查找与查询向量相似的文本向量。随着知识库的扩展,高维向量的数量显著增加,这使得传统的精确最近邻搜索变得不切实际,因为这种搜索方法不仅计算成本高昂,而且速度较慢。QALSH 旨在解决这些问题,它能够快速找到与查询向量接近的候选向量集合,同时保持较高的检索精度,从而有效降低了计算成本。
[此处为图片1]技术特点
查询感知优化:与传统的 LSH 算法不同,QALSH 在设计哈希函数时考虑了查询的特性,采用四元组等创新机制。这使得哈希函数可以根据不同的查询向量动态调整,从而减少不相关向量的影响,提高检索的准确性和效率。
支持大规模数据处理:QALSH 支持基于磁盘的存储实现,能够处理像 SIFT10M 这样的大型高维数据集。对于需要构建大规模外部知识库的 RAG 系统来说,这一特性尤为重要,因为它确保了即使在数据量极大的情况下,系统也能保持稳定的检索性能。
在 RAG 中的应用流程
数据预处理阶段
RAG 系统首先会对文档进行分割,生成多个文本块,然后使用嵌入模型将这些文本块转换成高维向量。接下来,通过 QALSH 构建哈希索引,将这些向量分配到相应的哈希桶中,从而建立向量数据库的索引。
查询检索阶段
当用户提交查询请求时,系统会利用相同的嵌入模型生成查询向量。QALSH 使用与创建索引时相同的哈希函数来计算查询向量的哈希值,确定其所属的哈希桶,并迅速从桶内筛选出潜在的相似文本向量。
结果优化阶段
由于 QALSH 实现的是近似搜索,因此在初步筛选出候选向量后,还需要进一步计算这些向量与查询向量之间的精确相似度(例如,通过余弦相似度或欧氏距离)。经过这一步骤,系统将最相关的前 K 个文本块传递给生成模块,以辅助生成最终的回答。
优势与适用场景
相较于 FAISS 的 IVF 等其他近似搜索算法,QALSH 不需要复杂的聚类预处理步骤,其哈希函数的设计更加贴近查询的特性。因此,在处理中小规模的高维数据集或面对多变的查询场景时,QALSH 能够提供更快的检索速度和更高的灵活性。它广泛应用于生物医学、图像检索等领域的 RAG 系统,例如在处理包含高维特征的医学文献向量检索或图像描述文本的相似性匹配任务时,QALSH 表现尤为出色。


雷达卡


京公网安备 11010802022788号







