RAG 入门到精通 - 生成的优化

前面几篇文章我优化的方向一直是上下文的召回。毕竟召回的优化可能是面试中最常被提到的。

但是,随着我不断地对召回的优化,现在召回的上下文基本都能包含我想要的内容。我发现,生成侧的问题其实也挺大。

就拿我们的评测指标来说。在最开始,我让 Agent 制定的部分指标如下。

"我喝咖啡会心悸,有低咖啡因豆吗?-- 亲,目前店里没有专门的低咖啡因豆款;对咖啡因敏感的客人建议优先选中深烘(比如胭脂,可可/葡萄柚调),咖啡因含量相对浅烘略低,或者向医生咨询减量建议。"

上面这对QA,在我4次来回的评估后,发现始终达不到一个最优解。因为,这段内容不属于商品的信息,属于常识。

强制遵守上下文

在第一个版本中,我要求LLM严格遵守上下文。当上下文没有相关信息的时候我要求返回"建议转人工"等话术。这就导致 answer_f1、 answer_llm_correctness 非常低,faithfulness 很高

宽松的上下文遵循策略

在新版本中我又放宽了上下文遵循的要求。这又导致 faithfulness 升高了,但是answer_f1、 answer_llm_correctness 非常的不稳定,时高时低。

简言之,如果要求LLM严格遵守上下文,那针对常识性问题就没法发挥它的泛化优势。可如果放宽LLM对上下文的遵循要求,就可能导致出现幻觉或者部分关键信息缺失的情况。

这里Agent给的的简单解法是加一个分类器,通过LLM来区分商品和知识。针对商品相关的问题,要求严格遵守上下文。针对知识类的问题,要求可适当补充,并加入"通常来说"这样的话术,来表明这是一个经验,而不是绝对正确的。

但是,这里有个问题。我这个场景非常简单,可以用分类器。但是如果是混合了商品和知识的问题呢?比如:哪款豆子送给刚入门手冲的朋友做礼品比较好?

这就需要先召回所有的商品,然后跟进刚入门手冲、送礼这两个场景进行推导。

定制Prompt

我想来想去,没找到好的解决办法。只能先局部优化,从Prompt入手。告诉模型,在什么场景中要严格遵循上下文。然后,补充了在有上下文时必须跟随上下文,在上下文里没答案且属于常识的时候适当地给出建议。

换句话说,还是穷举场景。只不过是通过Prompt来做这个事儿。

相关推荐
星核0penstarry1 小时前
Solon AI v4.0.4 技术分析:Java Agent 框架的兼容性突破与选型考量 基于 OSCHINA 2026-07-30 报道及公开技术资料整理
java·开发语言·人工智能
杨先生哦1 小时前
【2026热端攻防系列 11/12】前端AI风控攻防实战:验证码缺陷、人机验证绕过、智能爬虫对抗与企业智能风控加固方案
前端·人工智能·笔记·爬虫·安全
IT_陈寒1 小时前
Redis这个内存杀手坑惨了我,排查三小时发现是过期策略搞的鬼
前端·人工智能·后端
circuitsosk1 小时前
大规模离线数据管道构建:样本获取、清洗、加工与合成
人工智能·python·机器学习·搜索引擎
意图共鸣2 小时前
意图共鸣科技:人文驱动AI——从“能不能“到“好不好“
人工智能·microsoft
海兰2 小时前
【思考】银行落地业务Agent的思考
人工智能·机器学习·agent
梦想三三2 小时前
YOLOv5口罩检测完整实战(二):从现成数据集到训练、评估与摄像头识别
人工智能·yolo·计算机视觉·目标跟踪
gwf2162 小时前
Soft-RoCE与Soft-iWARP深度解析:无硬件RDMA学习环境搭建(零基础必知必会)
人工智能·python·tcp/ip·tcp·tcpdump