【导读】
【导读】本⽂是2024Zabbix中*会讲师程哲的演讲内容,介绍如何通过开源⼯具构建基于Zabbix官⽅⽂档的知识库问答系统并嵌⼊⾄Zabbix前端,本文详细阐述了系统环境搭建与基础安装过程的全过程(含代码)。
【作者】程哲,2024Zabbix中*会演讲嘉宾、Zabbix7.0中⽂⼿册译者
本文目录
1.背景介绍(含系统特点和架构介绍)
2.硬件需求
3.安装部署
4.配置Maxkb
5.嵌⼊⾄Zabbix前端
6.效果展示
7.Q&A(常见使用场景)
1
背景介绍
构建基于Zabbix官⽅⽂档的知识库问答系统,利⽤语⾔模型和检索增强⽣成技术,可以理解⽤户提问并检索相关信息给出准确答案,提⾼⽤户检索⼿册效率和使⽤体验。
系统特点
① 基于开源技术,⽀持容器化部署,简单上⼿
② ⾼效的知识整合与检索
③ ⽀持私有化部署,数据可以完全在内⽹处理,安全可靠
架构系统
2
硬件需求
Server- 01
CPU/内存/GPU/硬盘:4核⼼/16G/⽆需/500G硬盘,用途:部署Zabbix7.0
Server- 02
CPU/内存/GPU/硬盘:8核⼼/32G/⽆需/500G硬盘,用途:部署Maxkb ,通过API调⽤公有⼤模型参考。
CPU/内存/GPU/硬盘:8核⼼/Llama3-8B⾄少16GB ,Llama3-70B⾄少 64GB/具有⾄少8GB VRAM的GPU ,最好是⽀持 CUDA的NVIDIA GPU/500G硬盘,用途:部署Maxkb ,私有化部署⼤模型参考。
Server-02 的硬件有两种选择⽅案。 当私有化部署⼤模型时硬件需求⽆法得到满⾜时,建议通过 API 调 ⽤公有⼤模型,否则可能会造成使⽤感知下降,进⽽带来不佳的体验。
3
安装部署
在Server1上部署Zabbix7.0
本次Zabbix部署环境选⽤CentOS Stream 9+mysql
安装相关软件
登录 MySQL 创建⽤户和库
导⼊数据库,修改配置⽂件
在Server2上安装Maxkb
部署环境选⽤CentOS系统,安装maxkb前请提前安装好Docker ,—键安装Maxkb命令如下:
申请公有⼤模型API授权
(选做,硬件配置不足时推荐)
国内主流⼤模型均可,如阿⾥通义千问,讯飞星⽕ ,腾讯混元等,⾸次使⽤可申请免费tokens ,具体申 请⽅式详⻅各⼚家官⽹ , 申请后请妥善保存接⼝认证信息。
在Server2上安装Ollama
(选做,本地部署大模型时推荐)
① 下载Ollama:
② 下载安装脚本:
③ 编辑官⽅安装脚本,将脚本中下载源替换为已经从Github中下载到本地的安装⽂件
④ 请将脚本71-94⾏替换为如下内容
⑤ 执⾏安装脚本即可
注 :本次下载ollama模型使⽤了GitHub ⽂件加速下载,也可直接从ollama官⽹下载安装,命令为:
⑥ 修改Ollama配置⽂件
在[Service]下⾯加上:
⑦ 重启ollama
配置Maxkb
通过浏览器访问 MaxKB:
配置模型(公有⼤模型API)
进⼊系统管理-模型设置中,列表中列出了所有调⽤模型,选择已申请到的⼤模型API Key ,将授权填⼊ 即可。
配置模型(私有部署⼤模型)
进⼊系统管理-模型设置中,列表中列出了所有可调⽤模型,选择Ollama
API域名请填写私⽹地址+端⼝号,API Key未设置的话可随意输⼊任意字符, 随后会进⼊下载阶段,等待 下载完成。
新建知识库并配置
选择知识库-创建知识库,有两种类型可选,通⽤型可上传或⼿动录⼊⽂档,Web站点可以直接同步⽹站 ⽂本数据,本次上传本地Zabbix-7.0⼿册pdf⽂档,上传完后会⾃动进⾏索引并进⾏向量化处理,等待索 引完成即可。
新建应⽤并配置
选择应⽤-创建应⽤ ,输⼊⾃定义名称及描述,选择简单应⽤即可。
在设置中根据实际情况修改AI模型及⾃定义开场⽩ ,并关联已上传的知识库,可在参数设置中对检索模 式和召回分段进⾏设置,测试并调整⾄合适效果即可。
5
嵌⼊⾄Zabbix前端
在Maxkb中找到应⽤-zabbix知识库⼩助⼿-概览-嵌⼊第三⽅
找到浮窗模式,复制所有代码,编辑Zabbix前端⽂件
在第62⾏加⼊
echo ' *******(此处为maxkb中复制的代码) ';
在第96⾏加⼊
echo ' *******(此处为maxkb中复制的代码) ';
最后重启zabbix即可
6
效果展示
7
Q&A
常见使用场景
① 可以将以往运维⼯程师的故障处理⼼得进⾏提炼,形成已知故障案例库并导⼊知识库。 当相似问题重 现时,能够快速检索到相关分析路径与恢复步骤,缩减故障排查时间。
② 如果可联⽹ ,也可以直接在Zabbix前端通过调⽤公有⼤模型提供检索服务,⽅便对检索互联⽹信息。
如何增强回答的准确性
① 知识⽂档优化,进⾏⽂本规范化处理,去除特殊字符、不相关及冗余信息,合理分段,提升⽂档可读 性。
② 向量检索优化, ⾃定义 embedding 模型,结合知识库数据量设置不同搜索模式,调整相似度值与 TOP 分段,精准定位所需内容。
③ 提示词优化,依据问答场景设置特定提示词,引导模型适应各种应⽤场景,提供贴⼼服务。
④ 模型层⾯优化,接⼊参数更多、性能更强且数据不断更新的模型,或按需接⼊⽤户⾃⾏微调的模型, 满⾜个性化需求。