为了有效监控生产语义搜索系统,请关注三类指标:搜索质量、系统性能和用户行为。 这些指标有助于识别问题、优化相关性并确保系统满足用户需求。 每个类别都提供了对系统运行和影响的不同方面的独特见解。
对于搜索质量,从 precision@k(前 k 个结果中有多少是相关的)和 recall@k(前 k 个结果中包含多少相关项)开始。 这些指标直接衡量相关性,但需要标记的数据。 例如,如果用户搜索“经济实惠的无线耳机”,则 precision@5 会告诉您 5 个结果中有 3 个是否符合该意图。 包含 查询延迟(返回结果的时间)和错误率(搜索失败)以发现性能瓶颈。 此外,跟踪查询多样性——如果 80% 的搜索返回相同的 10 个结果,则您的系统可能过于狭窄。 使用基于嵌入的指标(如 余弦相似度漂移)来检测语义表示是否随时间推移而退化(例如,由于模型更新或数据变化)。
对于系统性能,监控基础设施指标,如 CPU/内存使用率、索引延迟(添加新文档的时间)和 吞吐量(每秒查询数)。 例如,索引延迟的峰值可能表明扩展向量数据库时出现问题。 跟踪 缓存命中率 以优化成本——如果 60% 的重复查询使用缓存结果,则可以节省计算资源。 此外,测量 嵌入生成时间,尤其是在使用大型语言模型 (LLM) 来创建向量时。 如果今天为 1,000 个文档生成嵌入需要 10 分钟,而明天需要 30 分钟,请调查模型或硬件问题。
对于用户行为,分析搜索结果的 点击率 (CTR) 和搜索后的 会话持续时间。 顶部结果的低点击率(例如,位置 1 的点击率为 20%)可能表明相关性较差。 跟踪 查询重构率——如果 40% 的用户重复表达相同的搜索,则您的系统未能理解意图。 使用 A/B 测试 来比较算法版本之间的指标。 例如,如果从 BM25 切换到密集检索器使点击率提高了 15%,则这是一个胜利。 最后,记录 长尾查询(例如,“如何修复错误代码 0xE1A8B2”)以识别文档语料库或嵌入模型知识中的差距。
通过结合这些指标,您将维护一个快速、准确且与用户需求相符的系统。 根据您的使用案例确定优先级——电子商务平台可能侧重于点击率和转化率,而内部知识库则强调 precision@10 和查询重构率。 随着您的数据和需求的发展,定期审查和调整阈值。