乐于分享
好东西不私藏

无需GPU卡内网轻松部署AI问答助手

无需GPU卡内网轻松部署AI问答助手

📖系统概述

智能知识库问答系统是一款基于向量检索的本地化知识库问答工具,核心特性包括:

  • 基于 BGE-small-zh 中文语义向量化模型,实现高精度语义检索
  • 支持 Excel 问答对批量导入,提供增量/全量两种导入模式
  • 内置 Web 问答界面,流式输出答案,支持 Markdown 格式
  • 纯本地部署,数据不出服务器,保障信息安全
  • 支持 Token 认证,保护管理接口安全

系统采用 Go 语言开发,使用 ONNX Runtime 加载向量化模型,无需 GPU 即可运行,适合在普通服务器上部署。

下载程序:链接:https://pan.quark.cn/s/e4c58b75b5b8

解压目录如下图:

执行start.bat启动
打开页面 http://localhost:8080

知识库导入页面:http://localhost:8080/import

导入后即可在问答页面进行问答

已关注

关注

重播 分享

🚀快速开始

  1. 启动 Web 服务
    bashexport LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH ./knowbase serve --port=8080
  2. 访问导入页面,上传 Excel 数据
    浏览器打开 http://localhost:8080/import,输入 Token 后上传 Excel 文件。
  3. 开始问答
    访问 http://localhost:8080,在输入框中输入问题即可获得答案。

⚙️环境要求

硬件要求

项目
最低要求
推荐配置
CPU
2 核
4 核及以上
内存
2 GB
4 GB 及以上
磁盘
500 MB
1 GB 及以上(视数据量)
GPU
不需要
不需要

软件要求

软件
版本要求
说明
操作系统
Linux / Windows
推荐 Linux (amd64)
Go
≥ 1.24
编译需要
ONNX Runtime
≥ 1.17
模型推理引擎,需安装 C 共享库
Git
任意
拉取代码(可选)

📁目录结构

models/model.onnx 和 models/vocab.txt 是核心文件,缺失将导致程序无法启动。

🧠模型文件准备

系统依赖以下两个模型文件,放置在 models/ 目录下:

文件
路径
说明
model.onnx models/model.onnx
BGE-small-zh 向量化模型的 ONNX 格式文件
vocab.txt models/vocab.txt
BERT 中文分词器词表

获取模型文件

  1. 下载 BGE-small-zh 模型
    访问 HuggingFace:https://huggingface.co/BAAI/bge-small-zh-v1.5,下载模型文件。
  2. 转换为 ONNX 格式
    使用 optimum-cli 工具转换:

    bashpip install optimum[onnxruntime] optimum-cli export onnx --model BAAI/bge-small-zh-v1.5 ./bge-small-zh-onnx
  3. 放置文件
    将转换后的 model.onnx 和 vocab.txt 复制到项目的 models/ 目录。

ℹ️

项目已内置 models/vocab.txt,通常只需准备 model.onnx 文件即可。若项目中已包含 bge_small_zh_onnx/ 目录,也可从该目录复制。

安装验证

完成以上步骤后,按以下流程验证安装是否成功:

  1. 检查文件完整性
    确认以下文件/目录存在:

    bashls -l knowbase          # 可执行文件 ls -l models/model.onnx  # 模型文件 ls -l models/vocab.txt   # 词表文件 ls -d static/            # 前端资源目录
  2. 运行帮助命令
    bashexport LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH ./knowbase
    期望输出:

    用法:knowbase index|search|import|clear|serve
  3. 启动 Web 服务测试
    bash./knowbase serve --port=8080
    期望输出:

    Web服务器启动在 http://localhost:8080

    打开浏览器访问 http://localhost:8080,应看到问答界面。

  4. 测试问答功能
    在问答界面输入任意问题,确认系统能正常响应(首次使用无数据时会提示”未找到相关答案”)。

如果以上步骤均通过,说明安装成功!接下来请参阅 使用手册 了解如何导入数据和配置系统。

常见问题

1. 启动报错 “初始化分词器失败”

原因:models/vocab.txt 文件不存在或路径错误。

解决:确认 models/vocab.txt 存在,且程序在项目根目录下运行。

2. 启动报错 “初始化向量化模型失败”

原因:models/model.onnx 文件不存在,或 ONNX Runtime 未正确安装。

解决:

  • 确认 models/model.onnx 存在
  • Linux 下检查 LD_LIBRARY_PATH 是否包含 ONNX Runtime 的 lib 目录
  • Windows 下检查 onnxruntime.dll 是否在 PATH 中

3. 运行时找不到 libonnxruntime.so(Linux)

解决:在运行前设置环境变量:

bashexport LD_LIBRARY_PATH=/usr/local/onnxruntime/lib:$LD_LIBRARY_PATH

或将 libonnxruntime.so 复制到项目根目录,然后设置:

bashexport LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH

4. 编译报错 “cgo: C compiler not found”

原因:onnxruntime_go 依赖 CGO,需要安装 C 编译器。

解决:

bash# Ubuntu/Debian sudo apt install build-essential  # CentOS/RHEL sudo yum groupinstall "Development Tools"

5. Web 页面无法访问

排查步骤:

  • 确认程序已输出 “Web服务器启动在 http://localhost:端口”
  • 检查防火墙是否放行对应端口
  • 如果是远程服务器,使用 http://服务器IP:端口 访问
  • 确认 static/ 目录存在且包含 index.html

6. 导入 Excel 时报错 “Invalid Excel file”

原因:Excel 文件格式不正确或文件损坏。

解决:确保使用 .xlsx 格式,且第一列为”问题”、第二列为”答案”,首行为表头。