ID-based RAG FastAPI 使用教程

ID-based RAG FastAPI 使用教程

rag_api ID-based RAG FastAPI: Integration with Langchain and PostgreSQL/pgvector rag_api 项目地址: https://gitcode.com/gh_mirrors/ra/rag_api

1. 项目介绍

ID-based RAG FastAPI 是一个开源项目,它整合了 Langchain 与 FastAPI,以异步、可扩展的方式提供了文档索引和检索的框架。该项目使用 PostgreSQL/pgvector 作为后端存储,主要适用于需要基于文件级别的嵌入使用场景。其主要用途是与 LibreChat 集成,但也适用于任何基于 ID 的使用场景。

2. 项目快速启动

环境准备

确保你的系统中已经安装了 Docker 和 PostgreSQL。

克隆项目

git clone https://github.com/danny-avila/rag_api.git
cd rag_api

配置环境变量

在项目根目录下创建一个 .env 文件,并设置以下环境变量:

RAG_OPENAI_API_KEY=your_openai_api_key
POSTGRES_DB=your_db_name
POSTGRES_USER=your_db_user
POSTGRES_PASSWORD=your_db_password
DB_HOST=your_db_host
DB_PORT=your_db_port
RAG_HOST=0.0.0.0
RAG_PORT=8000

确保替换上述变量值为你的实际配置。

启动服务

使用 Docker Compose 启动数据库和服务:

docker-compose up

或者,如果你想单独启动 API 服务,可以使用以下命令:

docker-compose -f ./api-compose.yaml up

如果你想在本地环境中运行,首先确保安装了所有依赖:

pip install -r requirements.txt

然后运行:

uvicorn main:app

3. 应用案例和最佳实践

添加文档

使用以下 API 将文档添加到系统中:

curl -X POST "http://localhost:8000/documents" -H "Content-Type: application/json" -d '{"file_id": "unique_id", "content": "Document content goes here."}'

确保替换 unique_idDocument content goes here. 为你的文件 ID 和文档内容。

检索文档

使用以下 API 来检索文档:

curl -X GET "http://localhost:8000/documents?file_id=unique_id"

替换 unique_id 为你想要检索的文档的 ID。

删除文档

使用以下 API 来删除文档:

curl -X DELETE "http://localhost:8000/documents?file_id=unique_id"

替换 unique_id 为你想要删除的文档的 ID。

4. 典型生态项目

ID-based RAG FastAPI 可以与多种服务和框架集成,例如:

  • LibreChat: 用于集成聊天功能。
  • Langchain: 用于处理和存储文档嵌入。
  • PostgreSQL/pgvector: 用于存储向量数据。
  • Atlas MongoDB: 作为替代的向量数据库。

以上是 ID-based RAG FastAPI 的基本使用教程,你可以根据自己的需求进行相应的调整和扩展。

rag_api ID-based RAG FastAPI: Integration with Langchain and PostgreSQL/pgvector rag_api 项目地址: https://gitcode.com/gh_mirrors/ra/rag_api

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陶羚耘Ruby

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值