无需GPU卡内网轻松部署AI问答助手
📖系统概述
智能知识库问答系统是一款基于向量检索的本地化知识库问答工具,核心特性包括:
-
基于 BGE-small-zh 中文语义向量化模型,实现高精度语义检索 -
支持 Excel 问答对批量导入,提供增量/全量两种导入模式 -
内置 Web 问答界面,流式输出答案,支持 Markdown 格式 -
纯本地部署,数据不出服务器,保障信息安全 -
支持 Token 认证,保护管理接口安全
系统采用 Go 语言开发,使用 ONNX Runtime 加载向量化模型,无需 GPU 即可运行,适合在普通服务器上部署。
下载程序:链接:https://pan.quark.cn/s/e4c58b75b5b8
解压目录如下图:



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

导入后即可在问答页面进行问答
🚀快速开始
- 启动 Web 服务
bashexport LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH ./knowbase serve --port=8080
- 访问导入页面,上传 Excel 数据
浏览器打开 http://localhost:8080/import,输入 Token 后上传 Excel 文件。 - 开始问答
访问 http://localhost:8080,在输入框中输入问题即可获得答案。
⚙️环境要求
硬件要求
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
软件要求
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
📁目录结构
models/model.onnx 和 models/vocab.txt 是核心文件,缺失将导致程序无法启动。
🧠模型文件准备
系统依赖以下两个模型文件,放置在 models/ 目录下:
|
|
|
|
|---|---|---|
model.onnx |
models/model.onnx |
|
vocab.txt |
models/vocab.txt |
|
获取模型文件
- 下载 BGE-small-zh 模型
访问 HuggingFace: https://huggingface.co/BAAI/bge-small-zh-v1.5,下载模型文件。 - 转换为 ONNX 格式
使用 optimum-cli工具转换:bashpip install optimum[onnxruntime] optimum-cli export onnx --model BAAI/bge-small-zh-v1.5 ./bge-small-zh-onnx
- 放置文件
将转换后的 model.onnx和vocab.txt复制到项目的models/目录。
ℹ️
项目已内置 models/vocab.txt,通常只需准备 model.onnx 文件即可。若项目中已包含 bge_small_zh_onnx/ 目录,也可从该目录复制。
✅安装验证
完成以上步骤后,按以下流程验证安装是否成功:
- 检查文件完整性
确认以下文件/目录存在: bashls -l knowbase # 可执行文件 ls -l models/model.onnx # 模型文件 ls -l models/vocab.txt # 词表文件 ls -d static/ # 前端资源目录
- 运行帮助命令
bashexport LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH ./knowbase
期望输出: 用法:knowbase index|search|import|clear|serve - 启动 Web 服务测试
bash./knowbase serve --port=8080
期望输出: Web服务器启动在 http://localhost:8080打开浏览器访问
http://localhost:8080,应看到问答界面。 - 测试问答功能
在问答界面输入任意问题,确认系统能正常响应(首次使用无数据时会提示”未找到相关答案”)。
✅
如果以上步骤均通过,说明安装成功!接下来请参阅 使用手册 了解如何导入数据和配置系统。
❓常见问题
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 格式,且第一列为”问题”、第二列为”答案”,首行为表头。
夜雨聆风