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系统依赖简单语义相似性所带来的局限性,这类系统往往无法回答复杂的多跳问题。该项目提供了一个可控制的自主代理,能够执行多步推理和自适应规划,从自定义数据集中回答非平凡问题,同时通过仅基于所提供数据来确保答案的准确性,严格防止幻觉。

工作原理

该代理使用决定性图作为其“大脑”,协调多阶段流程:

  1. 数据处理:加载PDF文件,将其拆分为章节,进行清理并生成摘要。原始内容、章节摘要和特定引文均被编码到向量存储中。
  2. 问题匿名化:为避免LLM偏见和预训练知识的影响,代理将问题中的命名实体替换为变量,以创建通用执行计划。
  3. 任务分解:将匿名化计划还原并分解为具体可检索或可回答的任务。
  4. 执行与提炼:针对每个任务,代理决定是从未向量存储中检索信息(提炼结果以确保准确性),还是使用思维链推理生成响应。
  5. 验证与重规划:代理验证生成内容是否基于原始上下文。若验证失败,则更新计划并重复该过程。
  6. 最终答案:使用累积的上下文和思维链推理生成最终响应。

适用人群

需要高可靠性、在大型文档(如书籍)上进行复杂推理,并严格遵循源数据以避免幻觉的生产级RAG系统开发人员和AI工程师。

亮点

  • 决定性图推理:使用结构化图管理复杂自主代理行为。
  • 自适应规划:根据过程中获取的新信息持续更新执行计划。
  • 幻觉预防:通过验证循环和根植检查,确保答案仅基于所提供数据。
  • 实体匿名化:通过基于变量而非具体命名实体进行规划,防止LLM偏见。
  • Ragas评估:集成质量评估,使用忠实度、答案正确性、上下文召回率等指标。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目