<img src="https://github.com/netease-youdao/QAnything/raw/v2.0.0/docs/images/qanything_logo.png" alt="Logo" width="911" height="175">
目 录
我们感谢您对贡献到我们项目的兴趣。无论您是修复错误、改进现有功能还是添加全新内容,我们都欢迎您的贡献!

QAnything (Question and Answer based on Anything) 是致力于支持任意格式文件或数据库的本地知识库问答系统,可断网安装使用。
您的任何格式的本地文件都可以往里扔,即可获得准确、快速、靠谱的问答体验。
目前已支持格式: PDF(pdf),Word(docx),PPT(pptx),XLS(xlsx),Markdown(md),电子邮件(eml),TXT(txt),图片(jpg,jpeg,png),CSV(csv),网页链接(html),更多格式,敬请期待...

知识库数据量大的场景下两阶段优势非常明显,如果只用一阶段embedding检索,随着数据量增大会出现检索退化的问题,如下图中绿线所示,二阶段rerank重排后能实现准确率稳定增长,即数据越多,效果越好。

QAnything使用的检索组件BCEmbedding有非常强悍的双语和跨语种能力,能消除语义检索里面的中英语言之间的差异,从而实现: - 强大的双语和跨语种语义表征能力【基于MTEB的语义表征评测指标】。 - 基于LlamaIndex的RAG评测,表现SOTA【基于LlamaIndex的RAG评测指标】。
| 模型名称 | Retrieval | STS | PairClassification | Classification | Reranking | Clustering | 平均 |
|---|---|---|---|---|---|---|---|
| bge-base-en-v1.5 | 37.14 | 55.06 | 75.45 | 59.73 | 43.05 | 37.74 | 47.20 |
| bge-base-zh-v1.5 | 47.60 | 63.72 | 77.40 | 63.38 | 54.85 | 32.56 | 53.60 |
| bge-large-en-v1.5 | 37.15 | 54.09 | 75.00 | 59.24 | 42.68 | 37.32 | 46.82 |
| bge-large-zh-v1.5 | 47.54 | 64.73 | 79.14 | 64.19 | 55.88 | 33.26 | 54.21 |
| jina-embeddings-v2-base-en | 31.58 | 54.28 | 74.84 | 58.42 | 41.16 | 34.67 | 44.29 |
| m3e-base | 46.29 | 63.93 | 71.84 | 64.08 | 52.38 | 37.84 | 53.54 |
| m3e-large | 34.85 | 59.74 | 67.69 | 60.07 | 48.99 | 31.62 | 46.78 |
| bce-embedding-base_v1 | 57.60 | 65.73 | 74.96 | 69.00 | 57.29 | 38.95 | 59.43 |
| 模型名称 | Reranking | 平均 |
|---|---|---|
| bge-reranker-base | 57.78 | 57.78 |
| bge-reranker-large | 59.69 | 59.69 |
| bce-reranker-base_v1 | 60.06 | 60.06 |

NOTE:
v2.0版本QAnything不再提供本地大模型,用户可自行接入OpenAI接口兼容的其他开源大模型服务,如ollama, DashScope等。
在GitHub上加星,即可立即收到新版本的通知!
* 🏄 在线试用QAnything
* 📚 在线试用有道速读
* 🛠️ 想只使用BCEmbedding(embedding & rerank)
* 📖 FAQ
* 👂️需求反馈 | 让我听见你的声音
| 特性 | python (v1.4.2) | docker (v1.2.2) | 全新QAnything v2.0.0 | 说明 |
|---|---|---|---|---|
| 详细安装文档 | ✅ | ✅ | ✅ | |
| API支持 | ✅ | ✅ | ✅ | |
| 生产环境(小型生产环境) | ❌ | ✅ | ✅ | |
| 离线使用 | ❌ | ✅ | ✅ | |
| 支持多并发 | ❌ | ✅ | ✅ | |
| 支持多卡推理 | ❌ | ✅ | ❌ | v2.0.0版本不再提供默认本地LLM,一律通过openai接口接入,用户可自行通过ollama等工具部署本地LLM |
| 支持Mac(M系列芯片) | ✅ | ❌ | ✅ | |
| 支持Linux | ✅ | ✅ | ✅ | python旧版本Linux下默认使用onnxruntime-gpu for cuda12,glibc<2.28时自动切换为onnxruntime |
| 支持windows (无需WSL) | ❌ | ❌ | ✅ | python和docker旧版本均要求WSL环境,v2.0.0可直接在非WSL环境下启动 |
| 支持纯CPU环境 | ✅ | ❌ | ✅ | v2.0.0版本Mac,Linux,Win统一不再使用GPU,完全迁移至CPU |
| 支持混合检索(BM25+embedding) | ❌ | ✅ | ✅ | |
| 支持联网检索(需外网VPN) | ✅ | ❌ | ✅ | |
| 支持FAQ问答 | ✅ | ❌ | ✅ | |
| 支持自定义机器人(可绑定知识库,可分享) | ✅ | ❌ | ✅ | |
| 支持文件溯源(数据来源可直接点击打开) | ✅ | ❌ | ✅ | |
| 支持问答日志检索 | ✅ | ❌ | ✅ | python和docker旧版本均只能通过API检索,v2.0.0可直接在前端检索 |
| 支持解析语音文件(依赖faster_whisper,解析速度慢) | ✅ | ❌ | ❌ | 依赖whisper,速度慢且占用资源大,暂时去除 |
| 支持OpenCloudOS | ✅ | ❌ | ✅ | |
| 支持与OpenAI接口兼容的其他开源大模型服务(包括ollama) | ✅ | ✅ | ✅ | python和docker旧版本需手动修改api_key,base_url,model等参数,v2.0.0版本均改为前端设置自动保存 |
| pdf(包含表格)解析效果+++ | ✅ | ❌ | ✅ | v1.4.2版本需手动设置,v2.0.0无需手动设置,pdf解析效果和性能均有提升 |
| 用户自定义embed,rerank配置(实验性:提升速度) | ✅ | ❌ | ✅ | v1.4.2需手动设置,v2.0.0默认使用最佳配置 |
| 其他文件类型解析效果+++ | ❌ | ❌ | ✅ | v2.0.0版本提升url,md,xlsx,docx等解析效果 |
| 支持独立服务调用 | ❌ | ❌ | ✅ | v2.0.0版本独立依赖服务,包括embed,rerank,ocr,pdf解析服务等,可独立调用(http) |
| 支持快速开始模式 | ❌ | ❌ | ✅ | 快速开始:无需创建知识库,支持文件即传即问,支持无文件问答 |
| 支持仅检索模式 | ❌ | ❌ | ✅ | 仅返回检索结果,不调用大模型进行问答 |
| 支持解析结果chunks内容可视化,手动编辑 | ❌ | ❌ | ✅ | v2.0.0版本支持手动编辑chunks内容,实时生效 |
| pdf解析支持图片,支持回答带图 | ❌ | ❌ | ✅ |
| 原图 | 旧版本解析效果 | 新版本解析效果 |
|---|---|---|
![]() |
![]() |
![]() |
| 原图 | 旧版本解析效果 | 新版本解析效果 |
|---|---|---|
$ claude mcp add QAnything \
-- python -m otcore.mcp_server <graph>