检索增强生成工具

一个集成了Qdrant向量存储和AI服务的实验性RAG工具,用于探索和测试检索增强生成技术的实现。

  • by bergollo
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 bergollo/agent_rag_qdrant

使用说明

RAG Qdrant探员

AI Agent&Qdrant是一个小型的实验性单仓库,它汇集了基本的模型上下文协议(MCP)组件和Qdrant向量存储。该项目的目标是探索如何在一个地方构建一个简单的检索增强生成(RAG)设置,在那里可以测试和更新工具、代理和工作流,而无需管理多个仓库。


快速入门:MCP示例,包括Qdrant、ai_service(存根)、后端(FastAPI)、前端(Vite React)

  1. 构建并运行(需要Docker Compose): docker构建

  2. 服务

    • 后端(FastAPI):http://localhost:8000

      • 健康:http://localhost:8000/api/health/
      • AI端点:http://localhost:8000/api/ai/query(职位)
    • AI服务(存根):http://localhost:8001

      • 健康:http://localhost:8001/health
      • 查询:http://localhost:8001/v1/query(职位)
    • 问题:http://localhost:6333(用于存根)

  3. 卷曲示例: curl-X POSThttp://localhost:8000/api/ai/query-H“内容类型:应用程序/json”-d'{“查询”:“你好”}'

笔记:

  • 这 frontend_builder 该服务构建Vite前端,并将构建内容复制到NGINX容器中。

具有AI服务、FastAPI、Redaction Gate MCP和React UI的MCP Monrepo项目结构

  • Python AI服务(例如,使用LangChain/OpenAI)
  • Python FastAPI后端(提供API端点)
  • React前端
agent_rag_qdrant/
│
├── .github/
│   └── workflow/
│       └── github-actions.yml
│
├── ai_service/                # Python AI service (LangChain/OpenAI logic)
│   ├── main.py
│   ├── requirements.txt
│   └── ... (other modules)
│
├── backend/                   # FastAPI backend (serves API)
│   ├── main.py
│   ├── requirements.txt
│   └── ... (routers, models, etc.)
│
├── frontend/                  # React UI
│   ├── package.json
│   ├── public/
│   └── src/
│
├── redaction_gate/                # Python Redact FastMCP/FastAPI
│   ├── main.py
│   ├── requirements.txt
│   └── ... (other modules)
│
├── docker-compose.yml
└── README.md

细节:

  • ai_service/:包含核心AI逻辑,可以作为单独的服务运行或由后端导入。
  • backend/:FastAPI应用程序,可以为API端点提供服务。
  • frontend/:React应用程序(使用Create React app、Vite或类似工具创建)。
  • docker-compose.yml:编排所有服务(Qdrant、AI服务、FastAPI后端、NGINX中的React前端)。
  • redaction_gate/:FastMCP服务,可以为MCP服务。

要点:

  • 这 frontend 服务构建React应用程序并输出到 frontend/build.
  • 这 backend 为API端点提供服务。
  • 这 ai_service 可以是单独的微服务,也可以由后端导入。

部署前

  • 添加 .env 归档于 ./ai_服务/ 并定义 OPENAI_API_KEY=[API_KEY] 以允许访问OpenAI。

开发环境

  • 使用以下docker compose命令执行deploy-dev模式:
docker compose -f docker-compose.yml -f docker-compose.overwrite.dev.yml up -d --build