向量索引

本文介绍向量索引的原理,以及在日志服务Project中配置和使用向量索引。

重要

如需使用该功能,请提交工单申请加白。

向量索引概述

向量索引是信息检索和机器学习中的一种技术,旨在高效地存储和检索高维数据(如文本、图像、音频等)。通过将数据(如文本)映射到高维空间的一个点,使得语义相似的文本在高维空间中距离相近。在高维空间中,每一个数据点用一个高维向量表示,每个维度代表一个特征。

距离度量:使用距离度量(如欧氏距离、余弦相似度等)来量化向量之间的相似性。

向量索引:使用数据结构(如树形结构、哈希表等)构建索引,以提高搜索效率。例如,常见的向量索引包括HNSW,IVF等。

向量索引的优势

日志服务是一个一站式日志数据分析平台,解决日志数据的采集、处理、存储、检索分析的需求。大语言模型的兴起,对自然语言的搜索需求陡增。例如对用户问答数据,Agent和LLM的交互日志,有审计、检索、分析的需求。 为了解决大语言模型领域的语义搜索需求,SLS推出了向量索引功能。

日志服务向量索引的优势:一站式的向量嵌入 - 索引构建。在传统的解决方案中,用户需要维护向量嵌入和向量数据库两个系统。日志服务合二为一,用户无需维护复杂的架构,只需要选择嵌入模型即可。

配置向量索引

前提条件

操作步骤

打开查询分析属性,在向量索引这一列中,选择对应的embedding模型后,自动开启向量索引。

重要

向量索引默认关闭,开启向量索引后,只对新数据生效。

向量索引不支持重建索引。

image.png

模型参数解析

  • dashscope-embedding-v2 : 使用百炼的embedding模型,模型维度是1536。更多信息,请参见快速开始

  • bge-large-zh-v1.5-q4-1: bge中文量化模型,模型维度是1024。

向量搜索语法

日志服务搜索向量,返回指定距离范围内的数据,数据按照时间顺序排序。

语法

similarity(字段名, "搜索文本") < 距离

  • 字段名:要搜索的字段,例如msg。

  • 搜索文本:要搜索目标文本,例如"番茄鸡蛋"。

  • 距离:距离范围从0到1,距离越小表示越相似。0表示最相似,1表示最不相似。

使用示例

similarity("input_semantic.topic","教育") < 0.1表示搜索input_semantic.topic字段中跟“教育”相关,距离在0.1以内的数据。

混合检索

向量检索可以和关键字检索混合使用,使用and连接。例如:error and similarity("input_semantic.summary","查询") <0.8

重要

混合检索只支持and 连接。

image.png