Loading...

文章背景图

QAnything:网易有道本地知识库问答系统部署与使用指南

2026-09-22
0
- 字
- 分钟
|

📋 官方信息

项目名称QAnything
仓库地址https://github.com/netease-youdao/QAnything
官方网站网易有道
最新更新2026年9月
项目定位网易有道开源的本地知识库问答系统,支持任意格式文件,可断网使用

🎯 项目背景

QAnything(Question and Answer based on Anything)是网易有道团队开源的本地知识库问答系统。它的核心卖点是"什么格式都能吃"——无论你的资料是 PDF、Word、PPT、Excel、图片还是网页,都能上传到知识库,然后用自然语言提问,AI 会基于你的文档内容给出准确回答,并标注信息来源。

与其他 RAG 项目不同,QAnything 特别强调"本地化"和"断网可用"。它内置了有道自研的本地大语言模型和 Embedding 模型,不需要调用 OpenAI API,不需要联网,全部在本地服务器运行。这对于企业内部知识库、涉密文档问答、离线环境部署特别有价值。项目提供 Docker 和 Python 两种安装方式,Docker 版本一键启动,对普通用户非常友好。

✨ 核心特性

  • 全格式支持:PDF、Word、PPT、Excel、TXT、Markdown、图片(OCR)、网页链接
  • 本地大模型:内置有道本地 LLM,无需 OpenAI API,断网可用
  • 高准确率:基于 RAG 技术,回答附带来源引用
  • 纯 CPU 运行:不需要 GPU 也能跑起来
  • 多知识库:支持创建多个独立知识库
  • 开源免费:MIT 协议,可自由使用和二次开发
  • 模块化设计:OCR、Embedding、Rerank 组件可替换
  • 中文优化:网易有道团队开发,对中文文档理解更精准

💻 环境要求

  • Docker 部署:Docker 20.10+,Docker Compose v2+,内存 8GB 以上(推荐 16GB)
  • 磁盘空间:至少 20GB(含模型和数据库)
  • CPU:支持纯 CPU 运行,有 GPU 更快
  • 系统:Linux / macOS / Windows(WSL2)

🚀 详细部署步骤

方式一:Docker 一键部署(推荐)

# 1. 克隆仓库
git clone https://github.com/netease-youdao/QAnything.git
cd QAnything

# 2. 根据操作系统选择对应的 compose 文件启动
# Linux:
docker compose -f docker-compose-linux.yaml up -d

# macOS:
docker compose -f docker-compose-mac.yaml up -d

# Windows (WSL2):
docker compose -f docker-compose-windows.yaml up -d

首次启动会自动拉取所有镜像和模型文件,整个过程可能需要 10-30 分钟,取决于网速。启动后访问 http://localhost:8777。

方式二:Python 版本(适合开发体验新功能)

# 1. 创建 Conda 环境
conda create -n qanything-python python=3.10
conda activate qanything-python

# 2. 克隆 Python 版本分支
git clone -b qanything-python https://github.com/netease-youdao/QAnything.git
cd QAnything

# 3. 安装依赖
pip install -r requirements.txt

# 4. 下载模型(脚本会自动下载到指定目录)
# 按照官方文档下载 embedding 和 LLM 模型

# 5. 启动后端
python -m qanything_server.server.server_start

# 6. 启动前端(另一个终端)
cd qanything前端目录
npm install
npm run dev

📝 Docker 服务架构说明

QAnything 的 Docker 部署包含以下服务:

  • mysql:存储知识库元数据和文档信息
  • milvus:向量数据库,存储文档 embedding
  • etcd:Milvus 的元数据存储
  • minio:对象存储,存储上传的原始文件
  • qanything-backend:后端服务,处理 RAG 逻辑
  • qanything-frontend:前端聊天界面

🔧 配置说明

编辑 .env 或对应 compose 文件中的环境变量:

# 服务端口
FRONTEND_PORT=8777
BACKEND_PORT=5050

# 模型路径(Docker 内已配置好)
EMBEDDING_MODEL_PATH=/path/to/bce-embedding
LLM_MODEL_PATH=/path/to/qwen

# 是否使用 GPU(Docker 版本默认 CPU)
USE_GPU=false

✅ 启动验证

  1. 查看所有容器状态:docker compose ps
  2. 所有服务状态应为 "Up" 或 "running"
  3. 首次启动需要初始化模型和数据库,等待 3-5 分钟
  4. 浏览器访问 http://服务器IP:8777
  5. 注册/登录账号
  6. 创建知识库,上传一份 PDF 测试文档
  7. 等待文档处理完成,提问验证回答质量

⚠️ 常见坑

  • 内存不足会导致 Milvus 或后端启动失败,确保至少 8GB 可用内存
  • 首次拉取镜像和模型文件很大(约 10GB+),耐心等待
  • Windows 用户必须使用 WSL2 后端,不支持原生 Windows Docker
  • 如果前端 502,等后端服务完全启动后刷新
  • 文档上传后处理需要时间,大文件可能需要几分钟

📖 使用方法

创建知识库

登录后点击"新建知识库",输入名称。每个知识库是独立的文档集合。

上传文档

进入知识库,点击上传按钮,选择本地文件。支持拖拽上传多个文件。系统会自动解析文档内容、分块、向量化。

提问对话

在聊天界面选择知识库,输入问题。AI 会检索相关文档片段,生成回答并标注引用来源。点击引用可以跳转到原文位置。

❓ 常见问题

Q1: 必须联网吗?
A: 部署完成后完全可以断网使用。所有模型都是本地运行的。只是首次部署时需要下载模型文件。

Q2: 支持 GPU 加速吗?
A: 支持。修改 Docker Compose 配置启用 GPU,推理速度会明显提升。

Q3: 支持多少种文件格式?
A: 支持 PDF、DOCX、PPTX、XLSX、TXT、MD、JPG、PNG 等。图片会自动 OCR 识别文字。

Q4: 可以替换成自己的 LLM 吗?
A: 可以。QAnything 是模块化设计,支持替换 Embedding 模型和 LLM。修改配置文件即可接入 Ollama、vLLM 等。

Q5: 数据存在哪里?
A: 文件存在 MinIO 容器中,向量存在 Milvus,元数据在 MySQL。全部通过 Docker volume 持久化。

🔗 跳转链接

评论交流

文章目录