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
使用它
- 首选 RAG API文件 →
POST /ingest→ 上传CSV/PDF(可选collection). - 正常使用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
