Controllable-RAG-Agent

用图算法让RAG回答复杂问题更准更可控

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 搜索知识 🍴 复刻 269 🐛 待处理 4 👀 关注 18
GitHub ↗
GitHub 星标 ★ 1630
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,Apache-2.0 许可证,可免费使用和部署。

项目预览

Controllable-RAG-Agent 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类搜索知识
开发团队NirDiamant
定价模式🏷️完全免费
价格说明开源项目,Apache-2.0 许可证,可免费使用和部署。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Jupyter Notebook
技术栈/模型advanced-rag,agent,genai,langchain,langgraph,llm,llms,openai,python,rag
GitHub 星标★ 1630
上线时间2024-04-03 00:00:00
代码更新2026-11-01
仓库体积57.3 MB
本站数据更新2026-11-10
维护状态较活跃
收录时间2026-08-09
浏览次数3

项目介绍

这是一个面向复杂问答场景的检索增强生成(RAG)解决方案。它针对传统RAG在处理多跳、复杂问题时的不足,采用基于图的算法来组织、检索和融合信息,从而提升回答的准确性和可解释性。项目提供了完整的实现代码和示例,支持用户自定义知识库和查询流程,核心能力包括图构建、图检索、答案生成以及可控的推理路径。它解决了简单向量检索无法关联多源信息、回答缺乏逻辑连贯性的问题,适用于需要深度推理和精准答案的领域,如法律咨询、医疗问答、技术文档支持等。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1630

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:入门 约 15 分钟 部署方式:本地安装 6 步

环境要求

  • Python 环境(需可运行 Jupyter Notebook)
  • pip 包管理工具
  • OpenAI API Key
  • Groq API Key
  • Docker 与 docker-compose(仅在使用容器方式时需要)

安装与启动步骤

  1. 1克隆项目仓库

    把 GitHub 上的项目代码下载到本地,并进入项目根目录,后续所有命令都在这个目录下执行。

    git clone https://github.com/NirDiamant/Controllable-RAG-Agent.git
    cd Controllable-RAG-Agent
  2. 2安装 Python 依赖

    用项目自带的 requirements.txt 一次性安装全部依赖包,建议先创建虚拟环境避免污染全局环境。

    pip install -r requirements.txt
  3. 3配置 API 密钥

    在项目根目录新建 .env 文件,填入 OpenAI 与 Groq 的 API Key,可参考仓库中的 .env.example 文件格式。

    OPENAI_API_KEY=sk-xxxxxxxx
    GROQ_API_KEY=gsk_xxxxxxxx
  4. 4打开教程 Notebook

    用 Jupyter 打开 sophisticated_rag_agent_harry_potter.ipynb,按顺序逐格运行,了解图构建、图检索与答案生成的完整流程。

  5. 5启动可视化界面

    在本地运行 Streamlit 脚本,实时观察智能体的推理与检索过程,界面会自动在本地端口启动。

    streamlit run simulate_agent.py
  6. 6用 Docker 启动(可选)

    若不想本地装依赖,可直接构建并启动 Docker 镜像,启动后同样通过浏览器访问可视化界面。

    docker-compose up --build

关键配置

配置项必填说明示例
OPENAI_API_KEY是调用 OpenAI 模型所需的密钥,写在根目录 .env 文件中sk-xxxxxxxx
GROQ_API_KEY是调用 Groq 模型服务所需的密钥,写在根目录 .env 文件中gsk_xxxxxxxx

如何确认成功

浏览器打开 http://localhost:8501/ 能看到智能体实时可视化界面,或在 Notebook 中逐格运行无报错、能返回答案。

常见问题

Q:必须同时配置 OpenAI 和 Groq 两个密钥吗?

A:README 的 .env 示例中同时列出了 OPENAI_API_KEY 和 GROQ_API_KEY 两项,建议按 .env.example 全部填写,避免运行时报缺少密钥。

Q:Docker 方式和本地安装该选哪个?

A:本地安装适合调试和改代码,需要自己装依赖;Docker 方式只需 docker-compose up --build,环境隔离更省事。

Q:启动后去哪里访问界面?

A:Docker 方式下访问 http://localhost:8501/,本地 streamlit 方式启动后终端也会输出同样的本地地址。

Q:想先了解原理从哪看起?

A:先打开 sophisticated_rag_agent_harry_potter.ipynb 这个分步教程,它演示了从图构建到答案生成的完整流程。

注意事项

  • README 未给出具体的 Python 版本要求,建议使用较新的 Python 3 版本并在虚拟环境中安装依赖。
  • .env 文件必须放在项目根目录,否则代码可能读取不到密钥。
  • 可视化界面默认使用 8501 端口,若被占用需自行释放端口或调整 Streamlit 启动参数。
  • API 密钥属于敏感信息,不要提交到 Git 仓库或公开分享。

核心亮点

  • 基于图结构建模知识关联,支持多跳推理,回答更准确
  • 提供可控的推理路径,用户可干预生成过程,增强可解释性
  • 代码实现完整,包含示例和文档,易于上手和二次开发

不足之处

  • 对非技术用户门槛较高,需要理解图算法和RAG原理
  • 文档/社区待观察,项目成长中,生态尚不成熟

适用场景

  • 法律条文与案例的关联问答
  • 医疗知识库的复杂症状推理
  • 企业技术文档的深度检索与问答

替代项目

Haystack、LlamaIndex、LangChain

上一篇:AgenticRAG-Survey

下一篇:ragbuilder

同类项目推荐

search2ai 开源

给大模型插上联网搜索,实时问答不求人

Self-hosted search gateway for AI agents. Unified search, news and page extraction w···

★ 1287 2026-09-16
google-ai-mode-scraper 开源

批量抓取 Google AI 回答不封号,数据稳稳到手

Scrape Google AI Mode responses without blocks on a large scale.

★ 3630 2026-08-09
webgrep 开源

把网页脚本、样式、图片里的线索一键抓出来搜

Grep Web pages with extra features like JS deobfuscation and OCR

★ 113 2026-11-10
tavily-python 开源

几行代码让 Python 应用接入联网搜索与内容提取

The Tavily Python SDK allows for easy interaction with the Tavily API, offering the ···

★ 1428 2026-10-11
llmgraph 开源

输入文本,自动生成可视化知识图谱

Create knowledge graphs with LLMs

★ 509 2026-08-09
rag-web-ui 开源

上传文档,即刻拥有一个能聊天的知识库助手

RAG Web UI is an intelligent dialogue system based on RAG (Retrieval-Augmented Gener···

★ 3299 2026-08-09
patent-literature-search-mcp 开源

一个接口搜遍全球专利和学术文献,让AI帮你做创新情报分析

Search global patents across WIPO, EPO, USPTO, CNIPA, JPO, KIPO and other authoritie···

★ 85 2026-08-09
biomedical-graphrag 开源

让生物医学问答更精准,用知识图谱增强大模型检索

A comprehensive GraphRAG (Graph Retrieval-Augmented Generation) system designed for ···

★ 107 2026-08-09
SeekStorm 开源

搜亿级数据秒出结果,快到你怀疑人生

SeekStorm: vector & lexical search - in-process library & multi-tenancy server, in R···

★ 1937 2026-08-09