
Controllable-RAG-Agent
用图算法让RAG回答复杂问题更准更可控
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1630
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 环境(需可运行 Jupyter Notebook)
- pip 包管理工具
- OpenAI API Key
- Groq API Key
- Docker 与 docker-compose(仅在使用容器方式时需要)
安装与启动步骤
-
1克隆项目仓库
把 GitHub 上的项目代码下载到本地,并进入项目根目录,后续所有命令都在这个目录下执行。
git clone https://github.com/NirDiamant/Controllable-RAG-Agent.git cd Controllable-RAG-Agent -
2安装 Python 依赖
用项目自带的 requirements.txt 一次性安装全部依赖包,建议先创建虚拟环境避免污染全局环境。
pip install -r requirements.txt -
3配置 API 密钥
在项目根目录新建 .env 文件,填入 OpenAI 与 Groq 的 API Key,可参考仓库中的 .env.example 文件格式。
OPENAI_API_KEY=sk-xxxxxxxx GROQ_API_KEY=gsk_xxxxxxxx -
4打开教程 Notebook
用 Jupyter 打开 sophisticated_rag_agent_harry_potter.ipynb,按顺序逐格运行,了解图构建、图检索与答案生成的完整流程。
-
5启动可视化界面
在本地运行 Streamlit 脚本,实时观察智能体的推理与检索过程,界面会自动在本地端口启动。
streamlit run simulate_agent.py -
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
下一篇:ragbuilder
同类项目推荐
search2ai
开源
给大模型插上联网搜索,实时问答不求人
Self-hosted search gateway for AI agents. Unified search, news and page extraction w···
google-ai-mode-scraper
开源
批量抓取 Google AI 回答不封号,数据稳稳到手
Scrape Google AI Mode responses without blocks on a large scale.
webgrep
开源
把网页脚本、样式、图片里的线索一键抓出来搜
Grep Web pages with extra features like JS deobfuscation and OCR
tavily-python
开源
几行代码让 Python 应用接入联网搜索与内容提取
The Tavily Python SDK allows for easy interaction with the Tavily API, offering the ···
llmgraph
开源
输入文本,自动生成可视化知识图谱
Create knowledge graphs with LLMs
rag-web-ui
开源
上传文档,即刻拥有一个能聊天的知识库助手
RAG Web UI is an intelligent dialogue system based on RAG (Retrieval-Augmented Gener···
patent-literature-search-mcp
开源
一个接口搜遍全球专利和学术文献,让AI帮你做创新情报分析
Search global patents across WIPO, EPO, USPTO, CNIPA, JPO, KIPO and other authoritie···
biomedical-graphrag
开源
让生物医学问答更精准,用知识图谱增强大模型检索
A comprehensive GraphRAG (Graph Retrieval-Augmented Generation) system designed for ···
SeekStorm
开源
搜亿级数据秒出结果,快到你怀疑人生
SeekStorm: vector & lexical search - in-process library & multi-tenancy server, in R···