首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[大模型]QAnything的docker安装方法

[大模型]QAnything的docker安装方法

作者头像
云未归来
发布2025-07-20 15:40:47
发布2025-07-20 15:40:47
10100
代码可运行
举报
运行总次数:0
代码可运行

什么是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)

模型名称

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,具体请参阅:通义千问

🚀 最近更新

  • 2024-04-03: 支持在纯Python环境中安装;支持混合检索。 - 详见👉 v1.3.0
  • 2024-01-29: 支持自定义大模型,包括OpenAI API和其他开源大模型,GPU需求最低降至GTX 1050Ti,极大提升部署,调试等方面的用户体验 - 详见👉 v1.2.0
  • 2024-01-23: 默认开启rerank,修复在windows上启动时存在的各类问题 - 详见👉 v1.1.1
  • 2024-01-18: 支持一键启动,支持windows部署,提升pdf,xlsx,html解析效果 - 详见👉 v1.1.0

开始之前

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

开始

安装方式

我们提供三种安装方式:

不同安装方式对应的特性如下表:

特性

纯python环境安装

docker安装

断网安装

生产环境

断网安装

支持Mac

支持Linux

支持windows WSL

支持纯CPU

支持混合检索(BM25+embedding)

纯python环境安装

不想用docker环境安装的,我们提供了纯Python版本安装教程,纯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) 推荐: RTX 3090

NVIDIA Driver Version

>= 525.105.17

Docker version

>= 20.10.5

Docker install

docker compose version

>= 2.23.3

docker compose install

git-lfs

git-lfs install

For Windows with WSL Ubuntu子系统

System

Required item

Minimum Requirement

Note

Windows with WSL Ubuntu子系统

NVIDIA GPU Memory

>= 4GB (use OpenAI API)

最低: GTX 1050Ti(use OpenAI API) 推荐: RTX 3090

GEFORCE EXPERIENCE

>= 546.33

GEFORCE EXPERIENCE download

Docker Desktop

>= 4.26.1(131620)

Docker Desktop for Windows

git-lfs

git-lfs install

step1: 下载本项目
代码语言:javascript
代码运行次数:0
运行
复制
git clone https://github.com/netease-youdao/QAnything.git
step2: 进入项目根目录执行启动脚本
代码语言:javascript
代码运行次数:0
运行
复制
cd QAnything
bash run.sh  # 默认在0号GPU上启动

(注意)如果自动下载失败,您可以从以下三个地址之一手动下载模型。

(可选)指定单GPU启动

(可选)指定单GPU启动 - 推荐 Windows10/Windows11 WSL2 用户使用此方式运行 QAnything

(可选)指定单GPU启动 - 推荐 GPU Compute Capability >= 8.6 && VRAM >= 24GB 使用此方式运行 QAnything

(可选)指定多GPU启动

step3: 开始体验
前端页面

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

  • 前端地址: http://your_host:8777/qanything/
API

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

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

如果想要查看相关日志,请查看QAnything/logs/debug_logs目录下的日志文件。

  • debug.log
    • 用户请求处理日志
  • sanic_api.log
    • 后端服务运行日志
  • llm_embed_rerank_tritonserver.log(单卡部署)
    • LLM embedding和rerank tritonserver服务启动日志
  • llm_tritonserver.log(多卡部署)
    • LLM tritonserver服务启动日志
  • embed_rerank_tritonserver.log(多卡部署或使用openai接口)
    • embedding和rerank tritonserver服务启动日志
  • rerank_server.log
    • rerank服务运行日志
  • ocr_server.log
    • OCR服务运行日志
  • npm_server.log
    • 前端服务运行日志
  • llm_server_entrypoint.log
    • LLM中转服务运行日志
  • fastchat_logs/*.log
    • FastChat服务运行日志
关闭服务
代码语言:javascript
代码运行次数:0
运行
复制
bash close.sh

断网安装

windows断网安装

如果您想要断网安装QAnything,您可以使用以下命令启动服务。

代码语言:javascript
代码运行次数:0
运行
复制
# 先在联网机器上下载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
Linux断网安装

如果您想要断网安装QAnything,您可以使用以下命令启动服务。

代码语言:javascript
代码运行次数:0
运行
复制
# 先在联网机器上下载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

常见问题

常见问题

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是QAnything?
    • 特点
    • 架构
      • 为什么是两阶段检索?
      • 一阶段检索(embedding)
      • 二阶段检索(rerank)
      • 基于LlamaIndex的RAG评测(embedding and rerank)
      • LLM
  • 🚀 最近更新
  • 开始之前
  • 开始
    • 安装方式
    • 纯python环境安装
    • docker环境安装
      • 必要条件
      • step1: 下载本项目
      • step2: 进入项目根目录执行启动脚本
      • step3: 开始体验
      • 关闭服务
    • 断网安装
      • windows断网安装
      • Linux断网安装
    • 常见问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档