LiteLLM + vLLM vLLM+ Ollama Ollama+ Docker Registry Docker Registry+ Qdrant Qdrant + OpenAI-compatible API+ TGI+ LocalAI

本地索引+自部署OpenAI兼容LLM的轻量RAG,无需Ollama部署与重排器,资源占用更低。

✓ 资源占用更轻,无需Ollama✓ LLM服务端灵活,兼容多种推理服务器 ✕ 无重排,检索精度依赖向量检索✕ 需自行部署OpenAI兼容LLM端点

方案简介

该配方是 Minima 的第二种模式:索引器在本地运行,而 LLM 可以部署在你的服务器、云或本机,只要暴露 OpenAI 兼容 API 即可接入。兼容的推理服务器包括 vLLM、Text Generation Inference (TGI)、Ollama Server(API 模式)、LiteLLM 代理、LocalAI,甚至直接使用 OpenAI API。相比完全本地 Ollama 模式,此模式无需部署 Ollama、无需下载 reranker,Docker 构建会自动跳过重排器,资源占用更轻,同时保留对 LLM 基础设施的完全控制。

亮点与能力

  • 通过 OpenAI 兼容 API 接入任意自部署或托管 LLM
  • 索引器本地运行,LLM 可在服务器/云/本机任意位置
  • LLM 通过 function calling 判断是否需要文档检索
  • 需要时直接向量检索(不做重排)以获得更好性能
  • Docker 构建自动跳过 reranker 下载
  • 专用 docker-compose-custom-llm.yml 只部署必要服务(无 Ollama 容器)
  • 支持递归索引本地文档目录

组成与分工

  • vLLM / TGI / Ollama Server / LiteLLM / LocalAI / OpenAI API:OpenAI 兼容 LLM 端点,负责答案生成与 function calling 判断
  • Sentence Transformers:本地文档嵌入
  • Qdrant:向量存储,由 EMBEDDING_SIZE 配置维度
  • Docker Compose:编排本地索引与服务
  • 索引器:在本地 PC 或云端递归索引文档

前置要求

  • 本地已安装 Docker 与 Docker Compose
  • 一个已部署的 OpenAI 兼容 LLM 端点(vLLM、TGI、Ollama server、LiteLLM、LocalAI 等)
  • 在项目根目录按 .env.sample 创建 .env 文件

实施步骤

1. 配置 .env

在项目根目录创建 .env(参考 .env.sample),Custom LLM 模式示例:

LOCAL_FILES_PATH=/Users/davidmayboroda/Downloads/PDFs/
EMBEDDING_MODEL_ID=sentence-transformers/all-mpnet-base-v2
EMBEDDING_SIZE=768
LLM_BASE_URL=http://your-llm-address:port/v1 # Your custom LLM endpoint
LLM_MODEL=Qwen/Qwen-1.7B # Your model name
LLM_API_KEY=not-needed # Optional: API key if required

注意:此模式不需要设置 OLLAMA_MODEL 和 RERANKER_MODEL。

2. 启动容器

bash
docker compose -f docker-compose-custom-llm.yml --env-file .env up --build

3. 使用聊天界面

浏览器访问 http://localhost:3000,对 LOCAL_FILES_PATH 目录中的本地文件提问即可。

使用与配置要点

  • LLM_BASE_URL:自定义 OpenAI 兼容端点地址,设置后 Ollama 将不再使用
  • LLM_MODEL:LLM_BASE_URL 设置时必填的模型名
  • LLM_API_KEY:可选,LLM 不需要认证时可省略或填任意值
  • 验证:向本地文件目录中的内容提问,若 LLM 判断需要检索则直接向量搜索并生成带上下文的答案,否则直接回答

注意事项与常见问题

  • 该模式不设置 OLLAMA_MODEL 与 RERANKER_MODEL,Dockerfile 构建时会自动跳过 reranker 下载
  • 与 Ollama 工作流不同:无查询增强与重排环节,改用 function calling + 直接向量检索
  • LLM_MODEL 在 LLM_BASE_URL 设置时必填

优缺点

  • ✓ 资源占用更轻,无需Ollama
  • ✓ LLM服务端灵活,兼容多种推理服务器
  • ✕ 无重排,检索精度依赖向量检索
  • ✕ 需自行部署OpenAI兼容LLM端点

出处

本方案挖掘自开源项目 Minima-AI-Inc/minima,方案内容与实施命令均来自其 README 原文。

方案出处
Minima-AI-Inc/minima:On-premises conversational RAG with configurable containers
1047 star On-premises conversational RAG with configurable containers

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。