NirDiamant/Controllable-RAG-Agent
This repository provides an advanced Retrieval-Augmented Generation (RAG) solution for complex question answering. It uses sophisticated graph based algorithm to handle the tasks.
解决的问题
本项目解决了传统RAG系统依赖简单语义相似性所带来的局限性,这类系统往往无法回答复杂的多跳问题。该项目提供了一个可控制的自主代理,能够执行多步推理和自适应规划,从自定义数据集中回答非平凡问题,同时通过仅基于所提供数据来确保答案的准确性,严格防止幻觉。
工作原理
该代理使用决定性图作为其“大脑”,协调多阶段流程:
- 数据处理:加载PDF文件,将其拆分为章节,进行清理并生成摘要。原始内容、章节摘要和特定引文均被编码到向量存储中。
- 问题匿名化:为避免LLM偏见和预训练知识的影响,代理将问题中的命名实体替换为变量,以创建通用执行计划。
- 任务分解:将匿名化计划还原并分解为具体可检索或可回答的任务。
- 执行与提炼:针对每个任务,代理决定是从未向量存储中检索信息(提炼结果以确保准确性),还是使用思维链推理生成响应。
- 验证与重规划:代理验证生成内容是否基于原始上下文。若验证失败,则更新计划并重复该过程。
- 最终答案:使用累积的上下文和思维链推理生成最终响应。
适用人群
需要高可靠性、在大型文档(如书籍)上进行复杂推理,并严格遵循源数据以避免幻觉的生产级RAG系统开发人员和AI工程师。
亮点
- 决定性图推理:使用结构化图管理复杂自主代理行为。
- 自适应规划:根据过程中获取的新信息持续更新执行计划。
- 幻觉预防:通过验证循环和根植检查,确保答案仅基于所提供数据。
- 实体匿名化:通过基于变量而非具体命名实体进行规划,防止LLM偏见。
- Ragas评估:集成质量评估,使用忠实度、答案正确性、上下文召回率等指标。
相关
- 项目
- 项目
- 项目
- 项目
- 项目