检索增强生成堆栈

一个完整的检索增强生成堆栈,包含Open WebUI前端、rag-proxy、rag-api(FastAPI)、Ollama和Qdrant,用于自动注入RAG上下文并进行CSV/PDF文件处理、向量搜索和生成。

  • by arunjora1992
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 arunjora1992/rag-stack-mcp-openshift

使用说明

Docker化RAG(始终通过开放式WebUI进行RAG)——Ollama+Qdrant+FastAPI

这是什么

完整的检索增强生成堆栈:

  • 打开WebUI (前端)→ 指向 rag代理
  • rag代理 → 模仿Ollama API并始终注入RAG上下文
  • rag api (FastAPI)→ CSV/PDF摄取+Qdrant搜索+通过Ollama生成
  • 奥拉玛 → LLM+嵌入
  • Qdrant → 矢量数据库

快速入门

docker compose up -d --build

# Pull models into Ollama (one-time)
docker exec -it ollama ollama pull mistral:7b
docker exec -it ollama ollama pull nomic-embed-text

打开:

  • WebUI:http://localhost:3000
  • RAG API文件:http://localhost:8000/docs
  • Qdrant仪表板:http://localhost:6333/dashboard
  • 代理(类似Ollama):http://localhost:11435/api/tags

使用它

  1. 首选 RAG API文件 → POST /ingest → 上传CSV/PDF(可选 collection).
  2. 正常使用Open WebUI。每个提示都会自动通过RAG路由。

在ALWAYS-RAG和普通Olama之间切换

  • ALWAYS-RAG(默认): open-webui 环境 OLLAMA_BASE_URL=http://rag-proxy:11434
  • 正常Ollama:更改为 http://ollama:11434 和 docker compose up -d

备注

  • 上传目录为 rag-api/app/uploads (已安装)。
  • 调音分块 MAX_CHARS 和 OVERLAP 大约。
  • 使用 collection 现场。

安全

  • 使用auth(Keycloak OIDC)保护反向代理后面的WebUI和rag api。
  • 限制CORS和上传大小;考虑ClamAV。

用于docker gpu集成

  • dnf配置管理器——添加仓库https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
  • yum安装-y nvidia容器工具包
  • sudo nvidia ctk运行时配置--runtime=docker
  • sudo系统ctl重启docker
  • docker 容器列表
  • docker compose-up-build
  • docker execut-it rag-stack-lallama-1 nvidia smi

抹布堆mcp开式

抹布堆mcp开式