LlamaIndex 发布 RAGs:用自然语言搭建专属数据的 ChatGPT 应用
Introducing RAGs: Your Personalized ChatGPT Experience Over Your Data
LlamaIndex 发布 RAGs,一个 Streamlit 应用,无需写代码即可用自然语言创建并定制 RAG pipeline,对自己的数据实现「ChatGPT over your data」。
原文给出了用自然语言搭建 RAG pipeline 的三步流程、可编辑参数清单和开源仓库,读者可以直接部署复用。
今天我们介绍 RAGs,一个 Streamlit 应用,让你能够创建并自定义自己的 RAG 流水线,然后将其用于你自己的数据——全部通过自然语言完成!这意味着你现在无需编写代码,就能搭建一个“基于你的数据的 ChatGPT”。
立即探索我们的免费和付费方案。
只需三个简单步骤即可设置并查询 RAG 流水线:
- 简单的任务描述:只需描述你的任务(例如“加载这个网页”),并为你的 RAG 系统定义参数(例如检索一定数量的文档)。
- 可配置的设置:进入配置视图,查看并修改自动生成的参数,例如 top-k 检索、摘要选项等。
- 交互式 RAG 智能体:设置完成后,你可以与你的 RAG 智能体交互,基于你的数据提问并获得回答。
该应用专为非技术用户和技术用户设计:如果你不太懂技术,仍然需要克隆仓库并 pip 安装,但无需担心底层发生了什么。另一方面,如果你懂技术,可以检查和自定义具体的参数设置(例如 top-k、数据)。

详细概述
该应用包含以下部分,对应上面列出的步骤。
[1] 🏠 主页
这是你通过指示“构建器智能体”来构建 RAG 流水线的部分。通常,设置 RAG 流水线需要以下组件:
- 描述数据集:目前我们支持单个本地文件或网页。我们欢迎这方面的建议!
- 定义任务:你在此处的描述会初始化驱动 RAG 流水线的 LLM 的“系统提示”。
- 设置 RAG 参数:配置典型的 RAG 设置参数,例如 top-k 检索、块大小和摘要选项。完整参数列表见下文。
[2] ⚙️ RAG 配置:量身定制你的体验
完成基本设置后,你进入 RAG 配置部分。应用的这一部分提供了直观的 UI,你可以:
- 查看生成的参数:构建器智能体会根据你的初始设置建议参数。
- 编辑和自定义:你可以完全自由地调整这些设置,确保 RAG 智能体的行为完全符合你的需求。
- 更新智能体:你做出的任何更改都可以通过点击“更新智能体”按钮立即应用。
这是当前的参数集:
- 系统提示
- 包含摘要:是否还要添加摘要工具(而不仅仅是进行 top-k 检索)。
- Top-K
- 块大小
- 嵌入模型
- LLM
[3] 🤖 生成的 RAG 智能体:与你的数据交互
RAGs 体验的最后一部分是生成的 RAG 智能体部分。以下是你可以期待的内容:
- 交互式聊天机器人界面:就像 ChatGPT 一样,与你的 RAG 智能体进行对话。
- 数据驱动的回答:智能体利用 top-k 向量搜索和可选的摘要工具,基于底层数据回答你的查询。
- 无缝集成:智能体会动态选择合适的工具来满足你的查询,确保与你的数据集进行流畅而智能的交互。
架构
我们将在后续文章中更详细地介绍架构。从高层次来说:
- 我们有一个构建器代理,配备了构建器工具——构建 RAG 管道所必需的工具。
- 构建器代理将使用这些工具来设置配置状态。在初始对话流程结束时,这些参数将被用来初始化 RAG 代理。
让我们通过一个示例来了解!
安装与设置
启动 RAGs 非常简单直接:
- 克隆 RAGs 项目并导航到
rags项目文件夹:https://github.com/run-llama/rags - 安装所需的包:
pip install -r requirements.txt3. 启动应用:
streamlit run 1_🏠_Home.py构建 RAG 代理
在下面的图表中,我们展示了一系列“构建”RAG 管道的命令。
- 假设你想构建一个聊天机器人
- 定义数据集(这里是一个网页,也可以是本地文件)
- 定义任务
- 定义参数(块大小 512,top-k = 3)


查看配置
我们可以在下面的页面中看到生成的配置,并根据需要查看/编辑它们!
例如,我们可以将 include_summarization 设置为 True。

测试一下
现在我们可以提问了!我们可以问具体问题,也可以问总结性问题。
这同时使用了向量搜索和总结工具来回答相应的问题。


结论
总的来说,RAGs 是对一个由自然语言构建和驱动的 LLM 应用世界的初步尝试。让我们知道你的想法和反馈!
资源
RAGs 仓库:https://github.com/run-llama/rags
贡献与支持
我们致力于改进和扩展 RAGs。如果你遇到任何问题或有建议,请随时提交 Github issue 或加入我们的 Discord 社区。
来源:LlamaIndex:产品、工程与评测 · llamaindex.ai