RAGstack 开源项目使用教程
1. 项目介绍
RAGstack 是一个开源项目,旨在在用户的私有 VPC 中部署一个私有的 ChatGPT 替代品。它可以将大型语言模型(LLM)与组织的知识库连接起来,用作企业级 Oracle。该项目支持多种开源 LLM,如 Llama 2、Falcon 和 GPT4All。
RAGstack 使用检索增强生成(Retrieval Augmented Generation,RAG)技术,通过从其他系统中检索信息并插入到 LLM 的上下文窗口中来增强其能力。这种方法比微调模型更便宜、更快,也更可靠,因为每个回应的来源信息都是提供的。
2. 项目快速启动
环境准备
在开始之前,请确保您的系统已经安装了以下依赖项:
- Python
- Node.js
- Docker
- Supabase
本地运行
-
克隆项目到本地:
git clone https://github.com/psychic-api/rag-stack.git cd rag-stack
-
配置环境变量:
将
ragstack-ui/local.env
文件复制到ragstack-ui/.env
,并将server/example.env
文件复制到server/.env
。在server/.env
文件中,将YOUR_SUPABASE_URL
和YOUR_SUPABASE_KEY
替换为您的 Supabase 项目 URL 和密钥。在ragstack-ui/.env
文件中,进行相同的替换操作。 -
创建 Supabase 表:
在 Supabase 中创建一个名为
ragstack_users
的表,包含以下列:id
:UUIDapp_id
:UUIDsecret_key
:UUIDemail
:TEXTavatar_url
:TEXTfull_name
:TEXT
如果启用了行级安全,请确保插入和选择操作有一个
WITH CHECK
表达式为(auth.uid() = id)
。 -
启动本地开发环境:
scripts/local/run-dev
这将下载
ggml-gpt4all-j-v1.3-groovy.bin
到server/llm/local/
并运行服务器、LLM 和 Qdrant 向量数据库。当您看到消息INFO: Application startup complete.
时,所有服务就绪。
3. 应用案例和最佳实践
- 案例一:企业内部知识库查询。企业可以将内部文档、用户手册等资料导入 RAGstack,员工可以通过自然语言提问,快速获取答案。
- 案例二:客户服务自动化。企业可以利用 RAGstack 构建智能客服系统,自动回复客户的常见问题,提高客户满意度。
4. 典型生态项目
- 向量数据库:Qdrant 是一个高性能的开源向量数据库,可以与 RAGstack 配合使用,提供高效的向量搜索和存储。
- 开源 LLM:RAGstack 支持多种开源 LLM,如 Llama 2、Falcon 和 GPT4All,为用户提供灵活的选择。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考