rags
用自然语言描述需求,自动构建专属 RAG 流水线,无需编程即可打造私有知识库问答助手
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用自然语言描述需求,自动构建专属 RAG 流水线,无需编程即可打造私有知识库问答助手
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样的场景:你是某家律所的律师,手头有几百份合同模板和判例文档。每次客户咨询"这份合同里有没有对我们不利的条款",你只能让 ChatGPT 在一片空白中回答——它根本不知道你的文档长什么样。
反过来,如果你能把这些法律文档全部"喂"给 AI,让它只在这些材料里找答案,效果会好得多。这正是 RAG(检索增强生成) 技术的核心逻辑:让大模型先从你的数据中检索相关内容,再基于检索结果生成回答。
然而,搭建一套完整的 RAG 流水线,传统的做法需要写代码、配置向量数据库、调整参数……门槛不低。RAGs 项目的出现,就是为了彻底消除这个门槛——你只需要用自然语言描述你想要什么,系统就会自动帮你搭好整个 RAG 管道。
RAGs 由 LlamaIndex 团队开发,灵感来源于 OpenAI 2023 年 11 月推出的 GPTs 功能——用户可以通过对话方式定制专属的 ChatGPT 而无需编程。RAGs 将这一理念引入 RAG 领域:用户用自然语言描述任务(如"加载这个网页"),系统内的 Builder Agent(构建智能体) 会自动解析意图,生成对应的 RAG 参数配置。
作者 Jerry Liu 同时也是 LlamaIndex 的核心维护者,因此 RAGs 天然成为了 LlamaIndex 的"官方演示应用",两者深度集成。
RAGs 的架构分为三层,逻辑清晰:
第一层:构建界面(Home Page)
用户在首页用自然语言描述任务,比如"加载 /data/report.pdf 这个文件,我想用中文问答"。Builder Agent(默认使用 GPT-4)会理解这个描述,自动生成一整套 RAG 参数:使用哪个 Embedding 模型、分块大小设为多少、Top-K 取多少条检索结果、是否启用摘要功能等。
第二层:参数配置界面(RAG Config)
系统生成的参数会以可视化表单呈现,用户可以手动调整。支持的参数包括:系统提示词(System Prompt)、是否启用摘要工具、Top-K 检索数量、文本分块大小(Chunk Size)、Embedding 模型、底层 LLM 等。调整完毕后点击"Update Agent"即可生效。
第三层:对话界面(Generated RAG Agent)
这是最终的用户交互界面,基于 LlamaIndex 的 OpenAIAgent 和 ReActAgent 实现。Agent 会自动判断使用哪种工具:是通过向量检索(Top-K)找答案,还是调用摘要工具直接总结整篇文档。
核心技术栈:
torch + CLIP(从 GitHub 引入)支持图文混合检索1. Builder Agent 自动配置:传统 RAG 需要手动配置 10+ 个参数,RAGs 让 GPT-4 自动完成这一过程,用户只需描述需求。
2. 可视化参数调整:生成结果并非"黑箱",所有参数都在 Config 页面展示,用户可以手动微调。
3. 多模型灵活切换:支持 OpenAI、Claude、Replicate 以及本地 HuggingFace 模型,适应不同隐私和成本需求。
4. 多模态扩展:可选安装 multimodal 额外依赖,支持图文混合检索场景(如用图片+文字一起检索)。
5. 缓存机制:通过 core/param_cache.py 和 core/agent_builder 实现 Agent 和参数的持久化缓存,重启应用不会丢失配置。
部署步骤:
git clone https://github.com/run-llama/rags
cd rags
python3 -m venv .venv
source .venv/bin/activate
poetry install --with dev
# 配置 API Key
mkdir -p .streamlit
echo 'openai_key = "sk-xxx"' > .streamlit/secrets.toml
# 启动
streamlit run 1_🏠_Home.py
注意事项:
cache 文件夹(版本升级可能改变数据结构)硬件需求:无 GPU 要求,CPU 足以运行,默认依赖 OpenAI API(推理在云端)。
RAGs 代表了 RAG 技术"平民化"的重要方向。从最初需要写 Python 代码配置向量数据库,到用 LlamaIndex 这样的高层抽象库,再到 RAGs 的纯自然语言配置——技术门槛在持续下探。
LlamaIndex 作为 RAGs 的底层引擎,其生态也在不断丰富:支持多模态检索(图文混合)、多数据源(PDF、网页)、多模型(OpenAI/Claude/Replicate/本地)——这预示着 RAG 的未来将向多模态、多源融合的方向演进。
Star 增长趋势:作为 LlamaIndex 官方项目,RAGs 受益于 LlamaIndex 本身的快速增长,GitHub Stars 从 0 到 6000+ 的积累,体现了开发者对"零代码 RAG 流水线"需求的强烈共鸣。