ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

VeapAI 实战(七)Milvus 调试搜索

VeapAI 实战(七)Milvus 调试搜索 摘要本文是 VeapAI 企业 AI 知识库实战系列的第七篇聚焦 Milvus 调试搜索环节。文章通过检索模板与检索审计两张表把 TopK、阈值、过滤表达式等检索参数固定为可调、可查的契约让向量检索从黑盒变成留痕的透明过程。内容涵盖表设计、页面操作、源码走读、调参习惯与复现步骤帮助读者把检索调参从玄学变成有据可查的工程实践。# 从零打通企业 AI 知识库全链路VeapAI 实战七Milvus 调试搜索 关键词Milvus 检索、向量检索调参、TopK 阈值 | 首发CSDN | 同步知乎 / 掘金![本系列 8 步流程总览当前⑦ Milvus 调试搜索]## 检索是个黑盒直到你让它留痕向量写进去了问答上线前还有个环节验证检索本身行不行。TopK 取多少、阈值卡多少、过滤表达式写得对不对全靠猜的话问答效果就是玄学。VeapAI 的解法是两件事检索模板把参数固定下来检索审计把每次调用记下来。前者让你调参后者让你知道每次调的效果。## 表设计ai_vector_search_template检索模板| 字段 | 说明 || ---- | ---- || template_code | 租户内唯一 || collection_id | 目标集合 || top_k | 默认 10 || score_threshold | 分数阈值decimal(10,6)可选 || filter_expr | Milvus 过滤表达式varchar(1000) || output_fields | 输出字段列表JSON || search_params | 检索参数JSONrerank 配置单列 rerank_config || status | 0 停用 1 启用 |模板这张表实际上是检索的参数契约TopK、阈值、过滤表达式、输出字段、检索参数都收口在这里其中 rerank 配置单列 rerank_config。重排是检索质量的重要一截配置单列意味着它是检索流程里的正式环节而不是塞在某个 JSON 角落里的附带项。契约集中扩展就集中——加新的检索参数扩模板字段不用散改问答代码。ai_vector_search_audit审计| 字段 | 说明 || ---- | ---- || query_text | 查询文本来自调试台 || query_vector_hash | 向量 hash。**不落向量本体** || top_k / filter_expr / search_params | 本次检索的参数快照 || result_count / latency_ms | 结果数与耗时 || status / error_msg | success / fail 与错误信息 || operator_ip | 操作 IP |索引 idx_search_audit_collection(tenant_id, collection_id, created_time)按集合翻检索历史。审计表存 hash 不存向量这个细节很关键向量本体几百 KB 一条落库既费空间又没必要hash 足够对账。审计记录是为了这次检索发生了什么不是存档检索内容本身——知道自己要什么是这类表设计的分寸。![核心表关系 ER 图简化版只标关键属性与核心联动]## 页面操作![检索模板]「Milvus 管理 → 检索模板」建模板选集合、定 TopK、填阈值、写过滤表达式比如 region_code 440000。![调试搜索]调试台输入查询文本直接搜返回片段带分数每次调试都写一条审计记录。调完一组参数去审计页翻历史哪次检索空结果、哪次延迟高一眼能看出来。第 3 篇提到应用知识配置里的 min_score它和这里的 score_threshold 是两个层面的参数前者是应用对知识主题的召回门槛后者是模板层面的检索参数。调参顺序建议先在调试台把模板参数调到位再把应用侧的召回门槛对齐。## 源码走读com.veap.milvus.controller.AiVectorSearchTemplateController、AiVectorSearchAuditController服务实现在 com.veap.milvus.service.impl.AiVectorSearchTemplateServiceImpl。检索的底层走 milvusops 包的 facade同第 2 篇的 collection 操作一样经过统一断言和审计。## 一个提效的小习惯filter_expr 是 Milvus 原生表达式语法写错不会报 SQL 错而是安静地返回空结果。调试时先不填 filter 确认向量召回正常再加 filter一次只变一个变量。这个顺序能让为什么没结果少一半。顺带说模板 审计的组合还解决了一个团队协作问题检索参数是谁调的、调成了什么值审计表里每次都有快照。接手的人不用问上次效果好的那组参数是多少翻审计记录就行。调参从玄学变成有据可查靠的就是这两张表。## 复现用第 6 篇向量化后的集合建一个模板TopK 从 5 起步阈值先不设。在调试台搜一条确定存在的知识点原文观察分数区间再把阈值设到区间中位数确认过滤生效。审计页确认每次调试都有记录。下一篇收尾政策问答。知识搜索、知识溯源、文档在线定位预览这条链路在问答页里怎么串起来。项目地址https://gitee.com/mindock/veap
返回列表