Skip to content

Latest commit

 

History

History
256 lines (189 loc) · 11.9 KB

README_zh.md

File metadata and controls

256 lines (189 loc) · 11.9 KB
Logo

Question and Answer based on Anything

English | 简体中文

         

              

目 录

什么是QAnything?

QAnything (Question and Answer based on Anything) 是致力于支持任意格式文件或数据库的本地知识库问答系统,可断网安装使用。

您的任何格式的本地文件都可以往里扔,即可获得准确、快速、靠谱的问答体验。

目前已支持格式: PDFWord(doc/docx)PPTMarkdownEmlTXT图片(jpg,png等)网页链接,更多格式,敬请期待...

特点

  • 数据安全,支持全程拔网线安装使用。
  • 支持跨语种问答,中英文问答随意切换,无所谓文件是什么语种。
  • 支持海量数据问答,两阶段向量排序,解决了大规模数据检索退化的问题,数据越多,效果越好。
  • 高性能生产级系统,可直接部署企业应用。
  • 易用性,无需繁琐的配置,一键安装部署,拿来就用。
  • 支持选择多知识库问答。

架构

qanything_system

为什么是两阶段检索?

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

two stage retrievaal

QAnything使用的检索组件BCEmbedding有非常强悍的双语和跨语种能力,能消除语义检索里面的中英语言之间的差异,从而实现:

一阶段检索(embedding)

模型名称 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

二阶段检索(rerank)

模型名称 Reranking 平均
bge-reranker-base 57.78 57.78
bge-reranker-large 59.69 59.69
bce-reranker-base_v1 60.06 60.06

基于LlamaIndex的RAG评测(embedding and rerank)

NOTE:

  • 在WithoutReranker列中,我们的bce-embedding-base_v1模型优于所有其他embedding模型。
  • 在固定embedding模型的情况下,我们的bce-reranker-base_v1模型达到了最佳表现。
  • bce-embedding-base_v1和bce-reranker-base_v1的组合是SOTA。
  • 如果想单独使用embedding和rerank请参阅:BCEmbedding

LLM

开源版本QAnything的大模型基于通义千问,并在大量专业问答数据集上进行微调;在千问的基础上大大加强了问答的能力。 如果需要商用请遵循千问的license,具体请参阅:通义千问

开始之前

在GitHub上加星,即可立即收到新版本的通知! star_us

开始

必要条件

For Linux

System Required item Minimum Requirement Note
Linux Single NVIDIA GPU Memory
or Double NVIDIA GPU Memory
>= 16GB
>= 11GB + 5G
NVIDIA 3090 x 1 recommended
NVIDIA 2080TI × 2 recommended
NVIDIA Driver Version >= 525.105.17
CUDA Version >= 12.0
Docker version >= 20.10.5 Docker install
docker compose version >= 2.23.3 docker compose install

For Winodws 11 with WSL 2

System Required item Minimum Requirement Note
Windows 11 with WSL 2 Single NVIDIA GPU Memory
or Double NVIDIA GPU Memory
>= 16GB
>= 11GB + 5G
NVIDIA 3090
NVIDIA 2080TI × 2
GEFORCE EXPERIENCE >= 546.33 GEFORCE EXPERIENCE download
Docker Desktop >= 4.26.1(131620) Docker Desktop for Windows

下载安装

step1: 下载本项目

git clone https://github.com/netease-youdao/QAnything.git

step2: 进入项目根目录执行启动脚本

如果在Windows系统下请先进入wsl环境

cd QAnything
bash run.sh  # 默认在0号GPU上启动
(可选)指定单GPU启动
cd QAnything
bash run.sh 0  # 指定0号GPU启动 GPU编号从0开始 windows机器一般只有一张卡,所以只能指定0号GPU
(可选)指定多GPU启动
cd QAnything
bash run.sh 0,1  # 指定0,1号GPU启动,请确认有多张GPU可用,最多支持两张卡启动

step3: 开始体验

前端页面

运行成功后,即可在浏览器输入以下地址进行体验。

  • 前端地址: http://your_host:5052/qanything/

API

如果想要访问API接口,请参考下面的地址:

  • API address: http://your_host:8777/api/
  • For detailed API documentation, please refer to QAnything API 文档

关闭服务

bash close.sh

常见问题

常见问题

使用

跨语种:多篇英文论文问答

multi_paper_qa.mp4

信息抽取

information_extraction.mp4

文件大杂烩

various_files_qa.mp4

网页问答

web_qa.mp4

接入API

如果需要接入API,请参阅QAnything API 文档

支持

Discord

欢迎加入QAnything Discord 社区!

微信群

扫描下方二维码,加入QAnything官方微信群

邮箱

如果你需要私信我们团队,请通过下面的邮箱联系我们:

[email protected]

GitHub issues

有任何公开的问题,欢迎提交 Github issues

Star History

Star History Chart

协议

QAnything 依照 Apache 2.0 协议开源。

Acknowledgements