一句话介绍
ERAGent 通过增强问题理解、优化知识检索、提升响应效率和实现个性化服务,显著提升了基于检索的大型语言模型的性能和用户体验。
摘要
ERAGent(Enhanced Retrieval-Augmented Generation Agent)是由悉尼科技大学的研究团队开发的,旨在通过增强问题重写、知识过滤和个性化大型语言模型读取器等组件来提升基于检索的大型语言模型(LLMs)的性能。该框架在处理复杂问题时,通过改进检索质量、提高响应效率和个性化服务,增强了问题理解和回答的准确性。研究团队通过对比实验和多轮多会话问答任务的评估,证明了 ERAGent 在提供准确、高效且个性化响应方面的优势。此外,ERAGent 还能够通过学习用户的个人资料,进一步优化与用户交互的质量。
为什么要做 ERAGent
作者认为在当前的 RAG 框架中存在以下问题:
- question rewriter 的缺陷。在涉及到 question 包含多方面信息的过于细化的场景中,当前 RAG 存在不足。强调了该模块需要向将复杂的问题重新表述为更广泛、更易于搜索的查询的方向发展。
- 冗余检索会降低响应效率。当前 RAG 系统的一个关键固有局限性在于,当使用 LLM 作为黑盒组件时,它们无法保留以前检索到的知识。这一缺点严重阻碍了它们在长期服务中的有效性,在这种情况下,应用以前检索到的知识是普遍发生的。因此,RAG 系统经常冗余地处理类似于历史对话中遇到的问题
- 确定检索时间的挑战。基于 RAG 的 AI 助手在确定何时进行外部知识检索时遇到了挑战。不加区分的检索,特别是在不必要的情况下,会严重损害RAG系统的效率
- 为不同用户给相同的响应。RAG上的搜索主要旨在提高生成的响应的事实准确性。然而,在为具有不同偏好的不同用户量身定制的实际应用中,响应与用户个性化的一致性同样重要。目前,研究在提供个人响应服务方面存在不足。
ERAGent 的做法
ERAGent 框架包含 6 个模块:
- Enhanced Question Rewriter。把原始 question 增强为 rewritten question,借助 LLM API 实现(例如 gpt-3.5-turbo)。可以额外维护属于词典,来替换 question 中 的领域术语。
- Retrieval Trigger。把改写后的 query 与 Memory Knowledge Base 做对比。设定一个阈值 T,当 query 与Knowledge Base 中的相似的片段数超过 T 时,认为 query 就不需要触发检索
- Knowledge Retriever。使用搜索引擎 API 进行检索,如 Bing
- Knowledge Filter。利用 LLM 执行 NLI 任务来判定搜索到的文档与query 是否相关
- Personalized LLM Reader。结合用户 Profile 来个性化增强用户响应
- Experiential Learner。用于更新 Memory Knowledge Base 和用户 Profile
评测结果
召回效果
Rewriter 和 Filter 模块对召回和命中率数据提升并不明显
Profile 效果
Profile 增强的 LLM 生成胜率
Profile 增强的 LLM 生成示例
Leave a Reply