LangChain 实践笔记:RAG 调优的基线、定位与测试
从四个评估分数拿到手却仍判断不了改动是否有效出发,讲清基线与阈值怎么定、七类故障如何沿链路逐层定位、控制变量测试怎么验证原因。
文章 / POSTS
按发布时间倒序。想看主题聚合用「分类」,想看技术点串联用「标签」。
8 篇
从四个评估分数拿到手却仍判断不了改动是否有效出发,讲清基线与阈值怎么定、七类故障如何沿链路逐层定位、控制变量测试怎么验证原因。
从一次模型调用说起,讲清 RAG 评测为什么要分成检索与生成两段,上下文召回率、上下文精确率、忠实度、答案相关性这四个指标各量什么、需要哪些输入,再用 Ragas 跑通一次评测并读懂输出。
从中间件机制出发,梳理 before_model、wrap_model_call 等钩子的触发位置与两种自定义写法,再用 add_routes 注册出 /invoke 与 /stream 接口。
从模型无状态出发,讲清两类消息历史组件的用法、工具五要素与 @tool/bind_tools 的区别、create_agent 的自动执行,最后用摘要中间件处理历史超限。
从本地文档出发,拆解加载器、切割器、Document、嵌入模型、向量库、检索器的职责,用两个 create_ 函数串成问答链,再改造成网页实现。
从 LCEL 的 | 写法出发,梳理 Runnable 的核心机制,讲清三个 Runnable 组件与 invoke、batch、stream 的用法,最后用完整案例串成一条可读、可扩展的处理链。
从一次模型调用出发,梳理 Model I/O 的四段职责,讲清三类 Prompt 模板与部分格式化的用法,再把消息、模型包装器与输出解析串成一条从变量到结构化结果的调用链。
文字怎么变成向量、两个向量凭什么判断语义相似、上百万条数据怎么毫秒级捞出最相关的——这三个问题构成了 RAG 向量检索的全部关键。这篇从嵌入模型、三种相似度算法的实际分歧,讲到向量库的索引与度量配置,把链路上最容易配错的那几处逐一点出来。