尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

向量函数的作用与构建逻辑

向量函数的作用与构建逻辑 很多开发者将向量数据库等同于向量索引与向量存储却忽略向量函数是整个链路的前置底座。向量数据库本身只负责向量存储、索引构建与近似检索而原始文本、图片等非结构化数据向向量的转换、距离度量、归一化、多路融合计算、重排打分全部依赖向量函数完成。向量函数的设计质量直接决定RAG语义召回精度、检索时延、结果相关性。一、为什么向量函数是向量数据库的前置核心向量数据库不能直接接收原始文本它只识别浮点数组格式的高维向量。完整语义检索链路原始数据→向量函数处理→向量入库查询问句→向量函数处理→向量检索→函数二次计算打分→返回业务结果。在早期实践中向量化、距离计算全部放在业务代码完成业务侧调用嵌入模型生成向量再传入向量数据库做ANN检索检索完成后业务层再完成距离换算、重排、过滤。这种模式下业务代码臃肿数据写入与查询链路割裂参数散落在各个服务调优、排查问题难度高。新一代向量数据库普遍内置向量函数Function机制把向量化、相似度计算、稀疏向量生成、结果重排下沉至数据库内部执行实现传入原始文本即可完成写入与查询。向量函数相当于向量数据库的计算引擎没有向量函数向量数据库只是一个只能存储数组的容器无法独立完成语义检索。很多项目RAG效果差优先排查不是索引参数而是向量函数嵌入函数是否匹配领域、距离度量函数选择是否合理、归一化逻辑是否缺失、多路检索融合函数配置是否错位。二、向量函数的定义与主要分类向量函数是运行在向量数据库内部、针对原始数据或向量数据执行转换、计算、打分、过滤的一组可配置逻辑集合分为转换类函数、度量计算函数、融合重排函数三大类。1.转换类向量函数原始数据到向量核心职责非结构化数据转为向量分为稠密向量函数、稀疏向量函数。1稠密嵌入函数Embedding Function对接嵌入模型API或本地模型输入原始文本输出固定维度稠密向量。写入集合时传入文本函数自动调用模型生成向量并写入向量字段查询时直接传入query文本内部自动完成向量化业务侧不再感知向量数组。典型场景标准文档、业务知识库语义向量化。关键点必须保证写入与查询使用同一套嵌入函数模型、维度、归一化配置完全一致否则向量空间错位检索完全失效。2稀疏向量函数BM25 Function基于BM25算法输入原始文本自动分词、计算词项权重生成稀疏向量。用于关键词检索可和稠密向量做混合检索。不需要外部embedding模型数据库内部完成分词与权重计算实现关键词语义的多路召回在标准知识库场景可以显著提升专有名词、标准编号的召回能力。边界区分嵌入模型是AI模型向量函数是数据库层调用、封装模型的执行逻辑模型负责语义编码函数负责调用、预处理、异常处理、数据落库。2.度量计算函数向量之间相似度运算接收两组向量输出距离或相似度分数是排序过滤的依据常用三类函数余弦相似度Cosine优先用于文本嵌入关注向量方向不受向量模长影响绝大多数知识库RAG首选内积IP要求向量提前归一化计算速度快欧氏距离L2侧重向量空间绝对距离多用于图像特征检索文本场景较少使用。向量数据库索引需要和度量函数绑定索引构建时选定度量方式检索阶段调用对应度量函数完成打分。很多实践误区索引配置余弦查询时误用L2距离函数导致排序结果完全错乱。3.融合与重排函数多路结果二次加工多路召回稠密向量BM25关键词完成粗召回之后向量函数负责结果融合、打分、重排。1加权融合函数对稠密向量分数、BM25分数配置权重加权计算综合得分实现语义与关键词能力平衡2MMR最大边际相关性函数在保证相关性前提下降低结果重复度避免多条文档高度雷同适合标准文档检索减少重复条文3过滤函数基于向量得分阈值做结果裁剪过滤相似度过低的噪声结果减少大模型幻觉来源。三、向量函数完整构建逻辑向量函数不是简单的模型调用封装完整构建分为五层逻辑输入层、预处理层、模型调用层、后处理层、执行调度层。1.输入层接入原始业务数据支持原始文本、JSON字段支持字段绑定将集合内某个文本字段直接绑定向量函数写入数据只需要写入文本不需要手动传入vector数组。同时支持查询侧输入原始问句由函数完成查询向量化。2.预处理层领域适配与数据清洗这一层往往被忽略却直接影响领域知识库效果。内置逻辑包括文本截断、超长分片、特殊字符过滤、标准文档专有符号处理、空白文本异常拦截。例如标准数字化场景标准文本包含条款编号、图表标记预处理函数需要避免把标记噪声大量输入嵌入模型否则向量质量下降。3.模型调用层模型对接与容错支持对接远程Embedding API也支持本地部署模型实现批量调用、限流、重试、超时熔断异常兜底模型调用失败时的降级逻辑避免单条脏数据导致整批写入失败。重要约束写入链路、查询链路必须复用同一套函数配置模型版本、截断长度、参数不能出现差异。4.后处理层向量归一化、校验模型输出向量之后执行向量归一化、维度校验、非法值清洗NaN、无穷值过滤。如果选择内积作为度量归一化必须放在向量函数内部统一执行不能部分向量归一、部分不归一会造成打分错乱。处理完成之后向量写入集合的向量字段和主键、元数据绑定存储。5.执行调度层写入链路 / 查询链路1写入链路业务写入原始文本 → 向量函数流水线执行 → 生成向量落库 → 构建索引2查询链路业务传入查询文本 → 向量函数生成查询向量 → ANN索引粗召回 → 度量函数打分 → 融合重排函数处理 → 返回业务ID与分数。四、向量函数的典型落地误区误区1向量数据库直接做语义检索向量数据库只提供存储索引能力语义能力全部来自向量函数封装的嵌入模型。更换嵌入模型不需要改动向量数据库只需要重新配置向量函数全量重新生成向量。误区2写入和查询使用两套配置业务侧写入用A模型查询时向量数据库内置函数调用B模型向量空间不一致检索结果完全不可用是线上高频故障来源。误区3忽略预处理直接投喂原始脏文本标准文档、工单文本含有大量特殊标记、换行、图表占位符不经过预处理直接向量化向量混入噪声降低召回精度。预处理逻辑应当封装在向量函数内部统一生效于写入与查询。误区4索引与度量函数不匹配构建索引选定余弦相似度查询使用欧氏距离函数计算索引加速失效排序逻辑错乱。误区5把重排交给大模型完成粗召回几十条结果全部送入LLM重排成本高、时延大。优先使用向量层MMR、加权融合函数完成第一轮筛选再送入大模型。五、面向标准知识库场景的向量函数实践原则在标准数字化项目中知识库存在大量标准编号、条款、专有术语向量函数配置遵循如下原则1.双函数搭配同时启用稠密嵌入函数BM25稀疏向量函数做混合检索稠密向量抓语义关联BM25保障标准号、专有名词精准命中2.预处理定制化在向量函数预处理层适配标准文本过滤图表标记控制分片长度适配标准条款长短不一的特点3.度量优先选择余弦相似度向量函数内部开启归一化4.开启MMR重排函数降低标准条文重复设置最低相似度阈值过滤低相关噪声5.配置可观测记录向量函数调用状态、截断统计、异常计数方便定位召回变差的根因。六、总结向量数据库解决的是海量向量的存储、索引、高速近似检索向量函数解决的是原始业务数据到向量的全链路计算、转换、打分融合是衔接业务原始数据与向量数据库之间的关键前置底座。RAG项目优化不能只关注索引调参应当优先审视向量函数整套流水线预处理逻辑、嵌入模型配置、归一化、度量函数、多路融合策略。尤其垂直领域知识库如标准语义知识库向量函数的领域适配往往比索引调优带来更大的精度收益。只有理解向量函数的构建逻辑才能完整打通从原始文档到语义检索的完整链路。
返回列表