RAGs 项目介绍
RAGs 是一个基于 Streamlit 构建的应用程序,它允许用户通过自然语言来创建一个基于检索增强生成(RAG)的管道。这个项目的灵感来源于 OpenAI 推出的 GPTs。
主要功能
RAGs 提供了以下主要功能:
- 用户可以描述自己的任务(例如"加载这个网页")以及希望从 RAG 系统中获得的参数(例如"我想检索 X 个文档")。
- 用户可以进入配置视图,查看和修改生成的参数(如 top-k、摘要等)。
- 用户可以通过问题来查询 RAG 代理,以获取数据相关的答案。
安装和设置
要使用 RAGs,用户需要克隆项目并进入 rags
项目文件夹。建议创建一个虚拟环境来管理依赖。安装过程主要通过 Poetry 完成。默认情况下,RAGs 使用 OpenAI 作为构建代理和生成的 RAG 代理的后端。用户需要在 .streamlit/secrets.toml
文件中添加 OpenAI 的 API 密钥。
详细概述
RAGs 应用程序包含以下几个主要部分:
-
主页:用户在这里通过指导"构建代理"来构建 RAG 管道。主要包括描述数据集、描述任务以及定义 RAG 设置的典型参数。
-
RAG 配置:这部分展示了由"构建代理"生成的 RAG 参数,用户可以在此查看并手动编辑这些参数。主要参数包括系统提示、是否包含摘要、Top-K 值、块大小、嵌入模型和语言模型等。
-
生成的 RAG 代理:这是一个标准的聊天机器人界面,用户可以在这里查询 RAG 代理,获取关于数据的答案。代理能够选择合适的 RAG 工具(如 top-k 向量搜索或摘要)来回答查询。
支持的模型
RAGs 支持多种语言模型和嵌入模型:
- 构建代理默认使用 OpenAI,但可以自定义为其他 LLM。
- 生成的 RAG 代理支持多种 LLM,包括 OpenAI、Anthropic、Replicate 和 HuggingFace 的模型。
- 嵌入模型默认支持 OpenAI 的 text-embedding-ada-002,也支持 HuggingFace 的模型。
资源和支持
如果用户在使用过程中遇到问题,可以在 GitHub 上提交 issue 或加入项目的 Discord 社区寻求帮助。RAGs 是基于 LlamaIndex Python 构建的,为用户提供了一种个性化的 ChatGPT 体验,可以处理用户自己的数据。
总的来说,RAGs 为用户提供了一种简单而强大的方式来创建和管理基于自然语言的 RAG 系统,使得处理和查询个人数据变得更加容易和高效。