回复
用于复杂RAG任务的先进可控Agent
一种先进的检索增强型生成(RAG)开源解决方案,旨在解决简单的基于语义相似性的检索无法解决的复杂问题。
展示了一个复杂的确定性图,作为高度可控的自主Agent的“大脑”,能够回答来自私域数据的复杂问题。
关键特性
- 复杂的确定性图:作为Agent的“大脑”,使复杂推理成为可能。
- 可控自主Agent:能够回答自定义数据集中的复杂问题。
- 幻觉预防:确保答案仅基于提供的数据,避免AI幻觉。
- 多步骤推理:将复杂查询分解为可管理的子任务。
- 适应性规划:基于新信息不断更新其计划。
- 性能评估:使用Ragas指标进行全面质量评估。
工作流程
- PDF加载和处理:加载PDF文档并将其拆分为章节。
- 文本预处理:清洗和预处理文本,以获得更好的摘要和编码。
- 摘要:使用大型语言模型为每个章节生成广泛的摘要。
- 书籍引用数据库创建:为需要访问书籍引用的特定问题创建数据库。
- 向量存储编码:将书籍内容和章节摘要编码为向量存储,以便高效检索。
- 问题处理:
通过将命名实体替换为变量来匿名化问题。
为匿名化的问题生成高层次的计划。
去匿名化计划并将其分解为可检索或可回答的任务。
- 任务执行:
- 对于每个任务,根据上下文决定是检索信息还是回答问题。
- 如果是检索,从向量存储中获取相关信息并提炼它。
- 如果是回答,使用思维链推理生成响应。
- 验证和重新规划:
- 验证生成的内容是否基于原始上下文。
- 根据新信息重新规划剩余步骤。
- 最终答案生成:使用累积的上下文和思维链推理生成最终答案。
使用案例:哈利·波特书籍分析
该算法使用第一本哈利·波特书籍进行了测试,允许监控模型对检索信息与预训练知识依赖度的对比。这种选择使我们能够验证模型是在使用其预训练的知识,还是严格依赖从向量存储中检索到的信息。
示例问题 问:主人公是如何打败反派的助手的?
为了解决这个问题,需要执行以下步骤:
- 确定情节中的主角。
- 确定反派角色。
- 确定反派的助手。
- 搜索主角与反派之间的对抗或互动。
- 推断导致主角打败助手的原因。Agent能够分解并解决这样复杂的查询,展示了其复杂的推理能力。
https://github.com/NirDiamant/Controllable-RAG-Agent
本文转载自PaperAgent
已于2024-8-26 01:15:41修改
赞
收藏
回复
相关推荐