# QAnything **Repository Path**: liu-yong-123/QAnything ## Basic Information - **Project Name**: QAnything - **Description**: QAnything (Question and Answer based on Anything) 是致力于支持任意格式文件或数据库的本地知识库问答系统,可断网安装使用。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://qanything.ai - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 99 - **Created**: 2025-02-07 - **Last Updated**: 2025-02-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
***NOTE:***
- 在WithoutReranker列中,我们的bce-embedding-base_v1模型优于所有其他embedding模型。
- 在固定embedding模型的情况下,我们的bce-reranker-base_v1模型达到了最佳表现。
- **bce-embedding-base_v1和bce-reranker-base_v1的组合是SOTA。**
- 如果想单独使用embedding和rerank请参阅:[BCEmbedding](https://github.com/netease-youdao/BCEmbedding)
### LLM
开源版本QAnything的大模型基于通义千问,并在大量专业问答数据集上进行微调;在千问的基础上大大加强了问答的能力。
如果需要商用请遵循千问的license,具体请参阅:[通义千问](https://github.com/QwenLM/Qwen)
# 🚀 最近更新 
- ***2024-05-20***: **支持与OpenAI API兼容的其他LLM服务,并提供优化后的PDF解析器。** - 详见👉 [v1.4.1](https://github.com/netease-youdao/QAnything/releases/tag/v1.4.1)
- ***2024-04-26***: **支持联网检索、FAQ、自定义BOT、文件溯源等。** - 详见👉 [v1.4.0](https://github.com/netease-youdao/QAnything/releases/tag/v1.4.0-python)
- ***2024-04-03***: **支持在纯Python环境中安装;支持混合检索。** - 详见👉 [v1.3.0](https://github.com/netease-youdao/QAnything/releases/tag/v1.3.0)
- ***2024-01-29***: **支持自定义大模型,包括OpenAI API和其他开源大模型,GPU需求最低降至GTX 1050Ti,极大提升部署,调试等方面的用户体验** - 详见👉 [v1.2.0](https://github.com/netease-youdao/QAnything/releases/tag/v1.2.0)
- ***2024-01-23***: **默认开启rerank,修复在windows上启动时存在的各类问题** - 详见👉 [v1.1.1](https://github.com/netease-youdao/QAnything/releases/tag/v1.1.1)
- ***2024-01-18***: **支持一键启动,支持windows部署,提升pdf,xlsx,html解析效果** - 详见👉 [v1.1.0](https://github.com/netease-youdao/QAnything/releases/tag/v1.1.0)
# 开始之前
**在GitHub上加星,即可立即收到新版本的通知!**

* [🏄 在线试用QAnything](https://qanything.ai)
* [📚 在线试用有道速读](https://read.youdao.com)
* [🛠️ 想只使用BCEmbedding(embedding & rerank)](https://github.com/netease-youdao/BCEmbedding)
* [📖 常见问题](FAQ_zh.md)
* [👂️需求反馈 | 让我听见你的声音](https://qanything.canny.io/feature-requests)
# 开始
## 安装方式
我们提供两种版本:
python版本和docker版本
python版本适合快速体验新功能,docker版本适合二次开发并用于实际生产环境,且新功能暂缓支持
不同安装方式对应的特性如下表:
| 特性                                | python版本                                                                              | docker版本                                                                    | 说明                                                             |
|-----------------------------------|---------------------------------------------------------------------------------------|-----------------------------------------------------------------------------|----------------------------------------------------------------|
| 详细安装文档                            | ✅ [详情](./QAnything使用说明.md)                                                            | ✅ [详情](./QAnything使用说明.md)                                                  |                                                                |
| API支持                             | ✅ [详情](https://github.com/netease-youdao/QAnything/blob/qanything-python/docs/API.md) | ✅ [详情](https://github.com/netease-youdao/QAnything/blob/master/docs/API.md) |                                                                |
| 生产环境(小型生产环境)                      | ❌                                                                                     | ✅                                                                           |                                                                |
| 断网安装(私有化部署)                       | ❌                                                                                     | ✅ [详情](./QAnything使用说明.md)                                                  |                                                                |
| 支持多并发                             | ❌                                                                                     | ✅ [详情](./QAnything使用说明.md)                                                  | python在使用API而非本地大模型时可手动设置:[详情](./QAnything使用说明.md)             |
| 支持多卡推理                            | ❌                                                                                     | ✅ [详情](./QAnything使用说明.md)                                                  |                                                                |
| 支持Mac(M系列芯片)                      | ✅                                                                                     | ❌                                                                           | 目前在mac下运行本地LLM依赖llamacpp,问答速度较慢(最长数分钟),建议使用Openai-API的方式调用模型服务 |
| 支持Linux                           | ✅                                                                                     | ✅                                                                           | python版本Linux下默认使用onnxruntime-gpu,glibc<2.28时自动切换为onnxruntime  |
| 支持windows WSL                     | ✅                                                                                     | ✅                                                                           |                                                                |
| 支持纯CPU环境                          | ✅ [详情](./QAnything使用说明.md)                                                            | ❌                                                                           |                                                                |
| 支持混合检索(BM25+embedding)            | ❌                                                                                     | ✅                                                                           |                                                                |
| 支持联网检索(需外网VPN)                    | ✅ [详情](./QAnything使用说明.md)                                                            | ❌                                                                           | docker版本计划中                                                    |
| 支持FAQ问答                           | ✅ [详情](./QAnything使用说明.md)                                                            | ❌                                                                           | docker版本计划中                                                    |
| 支持自定义机器人(可绑定知识库,可分享)              | ✅ [详情](./QAnything使用说明.md)                                                            | ❌                                                                           | docker版本计划中                                                    |
| 支持文件溯源(数据来源可直接点击打开)               | ✅ [详情](./QAnything使用说明.md)                                                            | ❌                                                                           | docker版本计划中                                                    |
| 支持问答日志检索(暂只支持通过API调用)             | ✅ [详情](./QAnything使用说明.md)                                                            | ❌                                                                           | docker版本计划中                                                    |
| 支持解析语音文件(依赖faster_whisper,解析速度慢)  | ✅                                                                                     | ❌                                                                           | docker版本计划中,上传文件时可支持mp3,wav格式文件                                |
| 支持OpenCloudOS                     | ✅[详情](./QAnything使用说明.md)                                                             | ❌                                                                           |                                                                |
| 支持与OpenAI接口兼容的其他开源大模型服务(包括ollama) | ✅ [详情](./QAnything使用说明.md)                                                            | ✅ [详情](./QAnything使用说明.md)                                                  | 需手动修改api_key,base_url,model等参数                                 |
| pdf(包含表格)解析效果+++                  | ✅ [详情:需手动开启](./QAnything使用说明.md)                                                      | ❌                                                                           |                                                                |
| 用户自定义配置(实验性:提升速度)                 | ✅ [详情:需手动开启](./QAnything使用说明.md)                                                      | ❌                                                                           |                                                                |
| 其他文件类型解析效果+++                     | ❌                                                                                     | ❌                                                                           | 预计下个版本发布(15d)                                                  |
## 纯python环境安装
不想用docker环境安装的,我们提供了[纯Python版本安装教程](https://github.com/netease-youdao/QAnything/blob/qanything-python/README_zh.md),纯python环境的安装仅作为demo体验,不建议生产环境部署。
- 支持纯CPU安装运行(检索部分跑在CPU上,大模型调用在线API)
- 支持Mac安装运行
## docker环境安装
### 必要条件
#### **For Linux**
|**System**| **Required item** | **Minimum Requirement** | **Note**                                                           |
|---------------------------|-------------------|-------------------------|--------------------------------------------------------------------|
|Linux | NVIDIA GPU Memory | >= 4GB (use OpenAI API)  | 最低: GTX 1050Ti(use OpenAI API) 
欢迎扫码进入QAnything交流群
## 邮箱
如果你需要私信我们团队,请通过下面的邮箱联系我们:
qanything@rd.netease.com
## GitHub issues & discussions
有任何公开的问题,欢迎提交issues,或者在discussions区讨论
- [Github issues](https://github.com/netease-youdao/QAnything/issues)
- [Github discussions](https://github.com/netease-youdao/QAnything/discussions)