trace 是RAG检索链路的**全链路追踪日志对象

trace 是RAG检索链路的全链路追踪日志对象

用来把检索每一步中间结果打包保存,方便调试、看每一步发生了什么。

python 复制代码
trace={
    "original_query":question,
    "vector_results":vector_results,
    "keyword_results":keyword_results,
    "fused_results":fused,
    "final_evidence":evidence
}

逐个字段

  1. original_query

    用户原始查询问题,例:数字化补贴申报材料

  2. vector_results

    向量检索结果 :向量库根据语义相似度召回的chunk列表,附带向量相似度分数。

    只看语义,不看关键词字面。

  3. keyword_results

    关键词检索(BM25)结果:分词后按关键词字面匹配召回的chunk,是传统文本检索。

  4. fused_results

    融合结果(RRF融合) :把vector_results + keyword_results两套结果,用RRF算法合并、重新排序,输出rrf_score。

    👉 就是粗召回的候选列表,对应你日志里top6候选。

  5. final_evidence

    经过重排+分数过滤之后,最终输出的证据列表

  • hybrid:直接拿fused_results,不做rerank
  • hybrid_rerank / full:对 fused_results 跑BGE重排,生成rerank_score,再按min_score过滤,得到final_evidence。

完整链路对应trace

复制代码
原始question
    ↓
vector_results(向量召回) + keyword_results(bm25关键词召回)
    ↓ RRF融合
fused_results(粗排top6,带rrf_score)
    ↓ 【可选】rerank打分 + min_score过滤
final_evidence(最终给大模型的上下文证据)

trace作用

  • 开发调试:查看哪一步丢了文档、哪一步分数异常
  • 对比:看向量召回、关键词召回各自召回了哪些chunk,融合后怎么变、重排过滤删掉了哪些
  • 评估RAG:统计召回、重排、过滤各个阶段的命中率

结合你刚才的例子:

fused_results 有6条候选,full模式经过rerank+min_score=0.6过滤后,final_evidence只剩1条。

相关推荐
tellmewhoisi19 分钟前
深度学习32:卷积神经网络:卷积层(卷积运算,填充,步幅)
人工智能·深度学习·cnn
weixin_3077791342 分钟前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Sinokap1 小时前
OpenAI 披露 AI 安全实验:智能体如何突破隔离边界?
人工智能·安全
云和数据.ChenGuang1 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
重生之我在番茄自学网安拯救世界2 小时前
AI 开发者日报 第1期(本周精选)| 插件市场投毒、智能体搞出“官僚饥荒村”,十年前的 CNN 打赢大模型
人工智能·网络安全·大模型·ai编程·智能体
涛声依旧-底层原理研究所2 小时前
拆解 Cordis 底座:Agent 是如何被「组合」出来的
人工智能·架构
秦先生在广东3 小时前
记忆不再是黑盒
人工智能
秦先生在广东3 小时前
49个AI智能体接管你的游戏开发
人工智能
骑着蜗牛撵大象3273 小时前
2026 后端 AI 工程化:Spring AI 管调用、MCP 管工具、Agent 内嵌管自治
java·人工智能·后端·spring·ai·可观测性·mcp