中文原生的混合检索
Chinese-native hybrid retrieval
pgvector 向量 + PostgreSQL FTS + zhparser 中文分词 + 确定性 RRF 融合。中文关键词不再被整句当词,召回质量开箱即用。
RAG 知识处理层 · 原生 MCP over HTTP
Your knowledge base, as an MCP service.
单二进制全栈(REST + MCP + Worker + Web Console),pgvector 向量与 PostgreSQL 全文检索(zhparser 中文分词)双路召回、确定性 RRF 融合,每个结果都带回来源锚点。不生成答案,只把「文档 → 检索」做到生产级。
$ docker compose up -d --build ✔ postgres (pgvector + zhparser) Started ✔ redis Started ✔ langhuan (single binary) Started $ curl :8080/mcp -d '{"tool":"knowledge_search","query":"中文混合检索怎么配"}' { "hits": [{ "content": "向量 + FTS 双路召回…" }] }
Highlights · 特性
不做 LLM 答案生成、不做 Chat 编排——把「文档 → 可追溯检索」这一段做到极致,作为任何 LLM 应用、MCP 客户端或 Agent 的知识底座。
Chinese-native hybrid retrieval
pgvector 向量 + PostgreSQL FTS + zhparser 中文分词 + 确定性 RRF 融合。中文关键词不再被整句当词,召回质量开箱即用。
First-class MCP over HTTP
knowledge_search、document_ingest 等工具直接暴露给 MCP 客户端。Claude、Cursor 等拿到即用,无需额外桥接。
Single binary, full stack
REST + MCP + 异步 worker + Web Console 内嵌于一个二进制(go:embed)。一个 docker compose 即可起步。
Fully traceable
每个 chunk 都能回到源文档、版本与页码/行列/偏移锚点。导入、分块、索引全链路幂等,状态以 PostgreSQL 为准。
Workspace-scoped isolation
Workspace 即租户边界,成员角色 + 绑库限权的 API Key 细粒度鉴权,越权访问统一返回 404。
A library, retrievable at will
文档 → 规范化事实层 → 可检索投影,原子发布到唯一 active Generation;知识库即藏书楼,检索即取书。
Architecture · 架构
File / Web / FAQ → 稳定 Document + 不可变 Revision
asynq 异步:解析 → 资产归档 → 分块 → 索引
RetrievalEntry 同行保存 halfvec 向量 + FTS tsvector + 返回内容
原子发布到唯一 active Generation
Vector + FTS 双路召回 → 确定性 RRF 融合 → 带锚点证据
REST /api/v1/* · MCP /mcp
技术基线:Go 1.26 · Gin · GORM · PostgreSQL 17 + pgvector · FTS (zhparser) · asynq + Redis
Quick Start · 快速开始
PostgreSQL(pgvector + zhparser 中文分词)、Redis 与琅嬛本体一键拉起,打开 http://localhost:8080 完成初始化即可导入文档并检索。
# 需要 Docker;首次构建约 2-3 分钟 $ git clone https://github.com/amoydavid/langhuan.git $ cd langhuan && docker compose up -d --build
创建管理员账号
创建知识库,上传 md/txt/csv/xlsx/docx
REST / Web / MCP 三端一致检索
Positioning · 定位
琅嬛把「知识处理与检索」这一段做到极致,再通过 MCP 供上层应用调用。
| 琅嬛 Langhuan | Dify / RAGFlow 等平台 | |
|---|---|---|
| 定位 | 知识处理层(无 LLM 编排) | 应用平台(含 Chat / Agent) |
| 中文关键词检索 | zhparser 分词 + RRF 原生 | 依赖向量,FTS 较弱 |
| 交付形态 | 单二进制 + 标准 PostgreSQL | 多容器全家桶 |
| MCP | 原生 MCP over HTTP | 需额外桥接 |
| 可追溯 | chunk → 页码/行列锚点全链路 | 部分 |
| 接入方式 | 作为你应用的知识底座 | 平台内闭环 |
FAQ · 常见问题
琅嬛不是应用平台,而是知识处理层:它不生成 LLM 答案、不编排 Chat/Agent,只把「文档 → 可追溯检索」这一段做到生产级,并通过 MCP over HTTP 供上层调用。
支持且是原生能力。全文检索路使用 zhparser 中文分词,与 pgvector 向量检索双路召回后经确定性 RRF 融合。
琅嬛原生提供 MCP over HTTP(/mcp),使用 Workspace API Key 作为 Bearer 认证。Claude、Cursor 等 MCP 客户端配置一个 endpoint 即可调用。
一条命令即可:docker compose up -d --build。PostgreSQL、Redis 与琅嬛本体一并启动。