知识库与 RAG工具
CitationNeeded:可引用来源的混合检索 RAG 引擎
miguelzzzzzzzz/CitationNeeded · Production-style RAG engine: configurable chunking, hybrid BM25 + vector retrieval, cross-encoder reranking, cited structured answers, FastAPI, and reproducible retrieval evals.
ELI5:它是什么,解决什么问题
CitationNeeded 是一个面向生产风格的检索增强生成(RAG)服务,采用类型化、可替换的流水线阶段,支持 Markdown/HTML/PDF/文本加载、结构感知分块并保留精确字符偏移,稀疏 BM25 与向量检索混合并可用 cross-encoder 重排,输出带原文引用和 Pydantic 校验结构的答案。项目提供 FastAPI 只读索引服务及 Docker 配置,并附带基于 SciFact(BEIR)的可复现检索评测,报告 Recall@K、MRR、nDCG 等指标及逐阶段延迟。
核心能力与快速开始
★ 0 · Python
- 能做什么
- 支持多格式文档加载(Markdown、HTML、PDF、文本)与三种分块策略,分块保留标题路径、页码和精确字符偏移;支持稠密向量 + BM25 混合检索、RRF 或加权融合、元数据过滤与 cross-encoder 重排;输出带可核验引用区间和 Pydantic 结构校验的答案,可选用 OpenAI 兼容 LLM 或抽取式生成器;提供 FastAPI 搜索/回答接口、Docker 镜像和基于 SciFact 的可复现评测工具,报告检索指标与延迟。
- 适用场景
- 构建需要引用原文位置的文档问答或知识库检索服务;在自有语料上对比稠密、BM25 与混合检索及重排效果;通过 HTTP API 对外提供只读检索与带引用回答;在 CPU 环境用本地 ONNX 模型做离线检索实验与评测。
- 项目形态
- 可直接使用的工具
- 部署方式
- 支持本地 pip 安装运行 CLI,也提供 FastAPI 服务与 Docker/compose 部署;HTTP 服务只读服务单个预建索引,重建索引需重启服务。
- 主要依赖
- Python 环境(README 提到 pip install -e . 及可选 api、embeddings 依赖);Docker 镜像基于 python:3.13-slim;默认向量模型为 BAAI/bge-small-en-v1.5,重排模型为 Xenova/ms-marco-MiniLM-L-6-v2(约 80 MB,CPU);LLM 生成可选,需配置 OpenAI 兼容的 RAG_LLM_BASE_URL 与 RAG_LLM_MODEL。
- 使用限制
- v0.1.0 预 1.0 版本,接口仍可能变化;HTTP 服务无身份认证,可达端口者即可查询,配置 LLM 后还会产生调用费用;索引为只读,重建需重启;README 说明 SciFact 结果仅针对单一数据集和嵌入模型,重排相对混合检索的差异在置信区间内不显著;未说明硬件总需求与 API 计费细节。
- 许可证
- MIT
- 最近推送
- 2026-10-26 09:00
资料检查:2026-10-27 07:00 · 卡片整理:2026-10-27 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证
职业应用
程序员
作为可本地部署的 RAG 检索服务,程序员可将其用于构建带精确原文引用和 Pydantic 校验结构的问答/检索接口,并通过 FastAPI 只读索引服务对外提供搜索与回答端点;还可运行 SciFact 评测脚本测量 Recall@K、MRR、nDCG 及逐阶段延迟,用于评估检索配置。
查看内容依据
Production-style RAG engine: configurable chunking, hybrid BM25 + vector retrieval, cross-encoder reranking, cited structured answers, FastAPI, and reproducible retrieval evals.
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。