知识库与 RAG工具
DocSlurp:多格式文档解析、混合检索与带引用问答的 RAG 服务端
DocSlurp/docslurp-oss · DocSlurp server, worker, SDKs and CLI — active source of truth
ELI5:它是什么,解决什么问题
DocSlurp 可接收 PDF、Office 文件、EPUB、HTML、图片、音视频等文件,输出逐页 Markdown、页面图像、分块以及按 JSON Schema 抽取的结构化字段。它提供带页码引用的混合检索与 RAG 上下文、可配置的 /v1/chat 及 OpenAI 兼容聊天端点(支持流式),并可通过 REST、SDK、CLI、MCP 以及兼容 Algolia、Meilisearch、Typesense、Pagefind 的客户端接入。本仓库包含服务端(API 与 worker)、数据库迁移、CLI、SDK 和搜索集成;托管产品与 Web 面板另库开发。项目处于 pre-release 状态,API 与数据模型在 v1 前可能变动;服务端与 worker、CLI 采用 SSPL-1.0(三年后转为 Apache-2.0),SDK 等客户端包为 MIT,属于 source-available 而非 OSI 认可的开源。
核心能力与快速开始
★ 2 · TypeScript
- 能做什么
- 摄取与抽取:把 PDF、Office、EPUB、HTML、图片、音视频转换为逐页 Markdown、页面图像和分块,并可依据 JSON Schema 抽取结构化字段。检索:提供带页码引用的混合搜索和 RAG 上下文,覆盖 REST、SDK、CLI、MCP 及 Algolia、Meilisearch、Typesense、Pagefind 兼容客户端。问答:通过 /v1/chat 与 OpenAI 兼容的 /v1/chat/completions 返回带出处引用的回答,支持流式与按工作区配置。
- 适用场景
- 构建面向文档集合的知识库问答与检索服务;对公文、手册、书籍等做逐页结构化解析与字段抽取;为自有应用提供带引用的 RAG 上下文接口;用兼容客户端把既有搜索栈接到 DocSlurp 上。
- 项目形态
- 开发框架
- 部署方式
- 说明支持自托管:需 Docker 与 Compose v2,通过 selfhost-init 生成配置、selfhost-check 校验并用 compose 启动;技术栈包含 API、单个 worker、Postgres、Redis、MinIO 与 Temporal。不附带 Web UI。托管版由 docslurp.io 单独提供,未说明其部署细节与成本。
- 主要依赖
- 自托管要求 Docker Compose v2,精简 worker 需 8 GB 及以上内存,另需较新版本 Node.js 运行一次性配置生成脚本。嵌入与索引所依赖的模型、外部 API 及其费用未说明。
- 使用限制
- 状态为 pre-release,v1 前 API 与数据模型可能不预告变更。服务端为 SSPL-1.0,向第三方提供服务会触发 SSPL 第 13 条;SDK 等为 MIT。需妥善备份 .env.selfhost,后续更改加密密钥可能导致已存密钥无法解密。未说明检索质量、吞吐、支持的模型与语言范围等指标。
- 许可证
- NOASSERTION
- 最近推送
- 2026-11-03 06:30
资料检查:2026-11-03 07:00 · 卡片整理:2026-11-03 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证
职业应用
程序员
作为可自托管的 RAG 服务端,程序员可通过 REST API、SDK、CLI 或 MCP 接入,将 PDF、Office、HTML 等文档解析为逐页 Markdown 和分块,并用于带页码引用的混合检索与问答,便于构建内部文档检索或知识库应用。
查看内容依据
Send DocSlurp any file. Get back page-by-page Markdown and structured fields, hybrid search and RAG context, and a chat endpoint whose answers cite the page they came from.
由 AI 根据来源材料整理,未进行安装或运行验证
HR
HR 可将员工手册等 PDF 文档上传,通过带页码引用的检索问答查询政策内容,例如示例中查询育儿假政策并返回文档与页码引用。
查看内容依据
for await (const hit of client.search({ q: "What is the parental leave policy?" })) { console.log(hit.text, hit.citation); // citation names the document and page }
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。