mcpField
M
MiniRAG

MiniRAG

远程服务
github.com/KiMelody记忆与知识01 天前更新
代码仓库

关于 MiniRAG

MiniRAG 是可自托管的 RAG 知识库,使用 SQLite 存储,并结合混合检索生成带来源引用的回答。它面向需要通过网页界面、REST API 或 MCP 服务进行文档问答的团队,所有功能运行在单个 Spring Boot 进程中。

主要功能

  1. 01向量与 BM25 混合检索
  2. 02RRF 结果融合及可选重排
  3. 03带可点击引用的回答
  4. 04流式网页界面
  5. 05单进程 SQLite 存储
  6. 06网页界面、REST API 和 WeChat Work

适用场景

  1. 01基于导入的语料回答问题
  2. 02使用向量、混合或重排模式检查检索
  3. 03在网页界面中流式查看引用回答
  4. 04向 MCP 客户端提供语料查询

MCP 相关

内置 MCP 服务使用 SSE,提供用于获取引用回答的 `query` 和用于添加文档的 `ingest_text`。文档导入工具需要管理员密钥。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://minirag.kimelody.de5.net/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
SSEhttps://minirag.kimelody.de5.net/sse需要授权

工具

详细介绍

MiniRAG

Build License: MIT Java RSS

单个 Spring Boot 进程即可运行的可自托管 RAG 知识库:使用 SQLite 存储,支持混合检索、带引用的回答,并内置 MCP 服务。无需向量数据库或消息队列。

在线演示(访问码请联系作者) · 评估报告

功能

  • 混合检索 — 内存余弦相似度 + SQLite FTS5(BM25),使用 RRF 融合;可选 LLM 重排
  • 带引用的回答 — 可点击的 [n] 引用;仅显示实际引用的来源
  • 流式网页 UI — SSE、打字机效果渲染、Markdown、检索模式切换器(向量 / 混合 / 重排)
  • 占用空间小 — 单进程,RSS 约 250MB,可在 1GB VPS 上运行
  • 多种接口 — MCP 服务(SSE 传输)、REST API、网页 UI、企业微信回调集成

快速开始

docker run -d --name minirag -p 18090:18090 --memory 512m \
  -v $(pwd)/data:/app/data \
  -e DEEPSEEK_API_KEY=sk-... \
  -e EMBEDDING_API_KEY=sk-... \
  ghcr.io/kimelody/minirag:latest

打开 http://localhost:18090 即可开始提问。数据存储在 ./data 中(SQLite,会自动创建)。

配置

环境变量必需默认值描述
DEEPSEEK_BASE_URL否https://api.deepseek.com任意兼容 OpenAI 的聊天端点
DEEPSEEK_API_KEY是—聊天模型 API 密钥
EMBEDDING_BASE_URL否https://api.siliconflow.cn/v1兼容 OpenAI 的嵌入端点
EMBEDDING_API_KEY是—嵌入 API 密钥
EMBEDDING_MODEL否BAAI/bge-m3嵌入模型
DEMO_KEY否—只读 API 的访客访问码;未设置时为开放访问(本地开发)
ADMIN_KEY否—调用摄取 API 所需的管理员密钥

MCP

两个工具:query(question, mode?) — 提问并获取带引用的回答;ingest_text(docId, text, adminKey) — 添加文档。

{
  "mcpServers": {
    "minirag": {
      "url": "http://localhost:18090/sse"
    }
  }
}

托管演示端点需要基本身份验证:https://minirag.kimelody.de5.net/sse(凭据请联系作者)。

REST API

方法路径描述
POST/api/chat提问;返回回答和引用来源(JSON)
POST/api/chat/stream同上,以 SSE 流式返回(meta / token / sources / done)
GET/api/search?q=&mode=检索调试:vector | hybrid | rerank
POST/api/documents/text摄取 {docId, text}(需要 X-Admin-Key)
POST/api/documents摄取上传的文件,使用 multipart 格式(需要 X-Admin-Key)

评估

eval/ 中附带评估工具:包含标注的问题集,并针对三种检索模式计算 Top-1 / Recall / MRR 分数——在演示集上,混合检索 + 重排达到 Top-1 100% / MRR 1.0(报告);eval/law/ 中包含一份 20 道题的劳动法评估及语料清理脚本。请自备语料;原始来源文本不予再分发。

从源代码构建

mvn package
java -jar target/minirag-0.1.0-SNAPSHOT.jar

需要 Java 21。可以将 API 密钥放入工作目录下的 .env 文件中(已加入 git 忽略)。

中文说明

单进程私有化 RAG 知识库:SQLite 存储 + 混合检索(向量 + BM25,RRF 融合,可选 LLM 重排),回答带可点击引用角标,自带网页演示、REST API 与 MCP server(SSE),内存占用约 250MB,1GB 小服务器可跑。在线演示(访问码联系作者)。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。