修复 RAG 查询返回的 sources 缺少 similarity 字段
· 3 min read
在 RAG 知识库项目中调试查询结果返回格式问题,以下是完整排查过程。
TL;DR
RAG /query 接口返回的 sources 字段只包含 metadata,没有每条来源的 similarity 分数。解决方案:在组装响应时,将 metadatas 和 distances 合并,计算 similarity = 1 - distance。
问题现象
调用 RAG 查询接口,返回的 sources 缺少相似度信息:
{
"answer": "根据文档...",
"sources": [
{"doc_id": "doc_001", "title": "API 文档", "source": "github"},
{"doc_id": "doc_002", "title": "开发指南", "source": "github"}
],
"similarity": 0.85
}
问题:
sources数组中的每个对象没有similarity字段- 只有顶层的
similarity(最高相似度),无法知道每条来源的相关性 - 前端无法按相似度排序或高亮显示