fix: Multi-card reasoning document error.
English | 简体中文
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有非常强悍的双语和跨语种能力,能消除语义检索里面的中英语言之间的差异,从而实现:
NOTE:
开源版本QAnything的大模型基于通义千问,并在大量专业问答数据集上进行微调;在千问的基础上大大加强了问答的能力。 如果需要商用请遵循千问的license,具体请参阅:通义千问
在GitHub上加星,即可立即收到新版本的通知!
我们提供两种版本: python版本和docker版本 python版本适合快速体验新功能,docker版本适合二次开发并用于实际生产环境,且新功能暂缓支持
不同安装方式对应的特性如下表:
不想用docker环境安装的,我们提供了纯Python版本安装教程,纯python环境的安装仅作为demo体验,不建议生产环境部署。
git clone https://github.com/netease-youdao/QAnything.git
bash ./run.sh -h
cd QAnything bash run.sh # 默认在0号GPU上启动
modelscope: https://modelscope.cn/models/netease-youdao/QAnything
wisemodel: https://wisemodel.cn/models/Netease_Youdao/qanything
huggingfase: https://huggingface.co/netease-youdao/QAnything
cd QAnything bash ./run.sh -c local -i 0 -b default # 指定0号GPU启动 GPU编号从0开始 windows机器一般只有一张卡,所以只能指定0号GPU
# 注意: Windows系统请先进入**WSL2**环境 # Step 1. 下载开源 LLM 模型 (e.g., Qwen-7B-QAnything) 并保存在路径 "/path/to/QAnything/assets/custom_models" # (可选) 从 ModelScope 下载 Qwen-7B-QAnything: https://www.modelscope.cn/models/netease-youdao/Qwen-7B-QAnything # (可选) 从 Huggingface 下载 Qwen-7B-QAnything: https://huggingface.co/netease-youdao/Qwen-7B-QAnything cd QAnything/assets/custom_models git clone https://huggingface.co/netease-youdao/Qwen-7B-QAnything # Step 2. 执行启动命令,其中"-b hf"表示指定使用 Huggingface transformers 后端运行 LLM. cd ../../ bash ./run.sh -c local -i 0 -b hf -m Qwen-7B-QAnything -t qwen-7b-qanything
# 查看 GPU 算力 GPU Compute Capability: https://developer.nvidia.com/cuda-gpus # Step 1. 下载开源 LLM 模型 (e.g., Qwen-7B-QAnything) 并保存在路径 "/path/to/QAnything/assets/custom_models" # (可选) 从 ModelScope 下载 Qwen-7B-QAnything: https://www.modelscope.cn/models/netease-youdao/Qwen-7B-QAnything # (可选) 从 Huggingface 下载 Qwen-7B-QAnything: https://huggingface.co/netease-youdao/Qwen-7B-QAnything cd QAnything/assets/custom_models git clone https://huggingface.co/netease-youdao/Qwen-7B-QAnything # Step 2. 执行启动命令,其中"-b vllm"表示指定使用 vllm 后端运行 LLM. cd ../../ bash ./run.sh -c local -i 0 -b vllm -m Qwen-7B-QAnything -t qwen-7b-qanything -p 1 -r 0.85
cd QAnything bash ./run.sh -c local -i 0,1 -b default # 指定0,1号GPU启动,请确认有多张GPU可用,最多支持两张卡启动
运行成功后,即可在浏览器输入以下地址进行体验。
your_host
如果想要访问API接口,请参考下面的地址:
如果想要查看相关日志,请查看QAnything/logs/debug_logs目录下的日志文件。
QAnything/logs/debug_logs
bash close.sh
如果您想要断网安装QAnything,您可以使用以下命令启动服务。
# 先在联网机器上下载docker镜像 docker pull quay.io/coreos/etcd:v3.5.5 docker pull minio/minio:RELEASE.2023-03-20T20-16-18Z docker pull milvusdb/milvus:v2.3.4 docker pull mysql:latest docker pull freeren/qanything-win:v1.2.x # 从 [https://github.com/netease-youdao/QAnything/blob/master/docker-compose-windows.yaml#L103] 中获取最新镜像版本号。 # 打包镜像 docker save quay.io/coreos/etcd:v3.5.5 minio/minio:RELEASE.2023-03-20T20-16-18Z milvusdb/milvus:v2.3.4 mysql:latest freeren/qanything-win:v1.2.1 -o qanything_offline.tar # 下载QAnything代码 wget https://github.com/netease-youdao/QAnything/archive/refs/heads/master.zip # 把镜像qanything_offline.tar和代码QAnything-master.zip拷贝到断网机器上 cp QAnything-master.zip qanything_offline.tar /path/to/your/offline/machine # 在断网机器上加载镜像 docker load -i qanything_offline.tar # 解压代码,运行 unzip QAnything-master.zip cd QAnything-master bash run.sh
# 先在联网机器上下载docker镜像 docker pull quay.io/coreos/etcd:v3.5.5 docker pull minio/minio:RELEASE.2023-03-20T20-16-18Z docker pull milvusdb/milvus:v2.3.4 docker pull mysql:latest docker pull freeren/qanything:v1.2.x # 从 [https://github.com/netease-youdao/qanything/blob/master/docker-compose-linux.yaml#L104] 中获取最新镜像版本号。 # 打包镜像 docker save quay.io/coreos/etcd:v3.5.5 minio/minio:RELEASE.2023-03-20T20-16-18Z milvusdb/milvus:v2.3.4 mysql:latest freeren/qanything:v1.2.1 -o qanything_offline.tar # 下载QAnything代码 wget https://github.com/netease-youdao/QAnything/archive/refs/heads/master.zip # 把镜像qanything_offline.tar和代码QAnything-master.zip拷贝到断网机器上 cp QAnything-master.zip qanything_offline.tar /path/to/your/offline/machine # 在断网机器上加载镜像 docker load -i qanything_offline.tar # 解压代码,运行 unzip QAnything-master.zip cd QAnything-master bash run.sh
常见问题
如果需要接入API,请参阅QAnything API 文档
我们感谢您对贡献到我们项目的兴趣。无论您是修复错误、改进现有功能还是添加全新内容,我们都欢迎您的贡献!
🔎 想了解QAnything的未来规划和进展,请看这里: QAnything Roadmap
🤬 想要给QAnything提交反馈,请看这里(可以给每个功能需求投票哦): QAnything Feedbak
欢迎加入QAnything Discord 社区!
欢迎关注微信公众号,获取最新QAnything信息
欢迎扫码进入QAnything交流群
如果你需要私信我们团队,请通过下面的邮箱联系我们:
qanything@rd.netease.com
有任何公开的问题,欢迎提交issues,或者在discussions区讨论
QAnything 依照 Apache 2.0 协议开源。
QAnything
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
Question and Answer based on Anything
English | 简体中文
目 录
🚀 重要更新
重要的事情说三遍!
2024-05-17:最新的安装和使用文档
2024-05-17:最新的安装和使用文档
2024-05-17:最新的安装和使用文档
商务问题联系方式:
010-82558901
什么是QAnything?
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有非常强悍的双语和跨语种能力,能消除语义检索里面的中英语言之间的差异,从而实现:
一阶段检索(embedding)
二阶段检索(rerank)
基于LlamaIndex的RAG评测(embedding and rerank)
NOTE:
LLM
开源版本QAnything的大模型基于通义千问,并在大量专业问答数据集上进行微调;在千问的基础上大大加强了问答的能力。 如果需要商用请遵循千问的license,具体请参阅:通义千问
🚀 最近更新
开始之前
在GitHub上加星,即可立即收到新版本的通知!
开始
安装方式
我们提供两种版本: python版本和docker版本 python版本适合快速体验新功能,docker版本适合二次开发并用于实际生产环境,且新功能暂缓支持
不同安装方式对应的特性如下表:
纯python环境安装
不想用docker环境安装的,我们提供了纯Python版本安装教程,纯python环境的安装仅作为demo体验,不建议生产环境部署。
docker环境安装
必要条件
For Linux
推荐: RTX 3090
For Windows with WSL Ubuntu子系统
推荐: RTX 3090
docker版本详细安装步骤,请点击此处
step1: 下载本项目
step2: 进入项目根目录执行启动脚本
bash ./run.sh -h
获取详细的LLM服务配置方法(注意)如果自动下载失败,您可以从以下三个地址之一手动下载模型。
modelscope: https://modelscope.cn/models/netease-youdao/QAnything
wisemodel: https://wisemodel.cn/models/Netease_Youdao/qanything
huggingfase: https://huggingface.co/netease-youdao/QAnything
(可选)指定单GPU启动
(可选)指定单GPU启动 - 推荐 Windows10/Windows11 WSL2 用户使用此方式运行 QAnything
(可选)指定单GPU启动 - 推荐 GPU Compute Capability >= 8.6 && VRAM >= 24GB 使用此方式运行 QAnything
(可选)指定多GPU启动
step3: 开始体验
前端页面
运行成功后,即可在浏览器输入以下地址进行体验。
your_host
:8777/qanything/API
如果想要访问API接口,请参考下面的地址:
your_host
:8777/api/DEBUG
如果想要查看相关日志,请查看
QAnything/logs/debug_logs
目录下的日志文件。关闭服务
断网安装
windows断网安装
如果您想要断网安装QAnything,您可以使用以下命令启动服务。
Linux断网安装
如果您想要断网安装QAnything,您可以使用以下命令启动服务。
常见问题
常见问题
使用
跨语种:多篇英文论文问答
信息抽取
文件大杂烩
网页问答
接入API
如果需要接入API,请参阅QAnything API 文档
贡献代码
我们感谢您对贡献到我们项目的兴趣。无论您是修复错误、改进现有功能还是添加全新内容,我们都欢迎您的贡献!
感谢以下所有贡献者
🛣️ 路线图 & 反馈
🔎 想了解QAnything的未来规划和进展,请看这里: QAnything Roadmap
🤬 想要给QAnything提交反馈,请看这里(可以给每个功能需求投票哦): QAnything Feedbak
交流 & 支持
Discord
欢迎加入QAnything Discord 社区!
微信
欢迎关注微信公众号,获取最新QAnything信息
欢迎扫码进入QAnything交流群
邮箱
如果你需要私信我们团队,请通过下面的邮箱联系我们:
qanything@rd.netease.com
GitHub issues & discussions
有任何公开的问题,欢迎提交issues,或者在discussions区讨论
Star History
协议
QAnything
依照 Apache 2.0 协议开源。Acknowledgements