本章主要结介绍如何部署AIChat引擎, 升级AIChat引擎请查看文档:AIChat引擎版本升级。
1.安装环境要求
1.1. 环境检查
1.1.1 CPU架构以及指令集确认
输入查看系统的指令
uname -a|grep x86
可以看到如下信息,即为正常:
输入查看系统指令集的指令:
cat /proc/cpuinfo|grep avx
可以看到如下信息,即为正常:
1.1.2网络环境检查
利用ping和telnet的方法无法准确判断是否连通,请务必按照本教程来检查。
网络环境检查要确保Smartbi服务器和NLA服务器双向访问正常。
首先确认NLA服务器是否可以连通Smartbi服务:
curl -L <http|https>://<Smartbi地址>
出现如下信息则在NLA服务器访问Smartbi服务是正常的。
同理需要在Smartbi安装的服务器上确认AIChat的服务是否连通:
curl -L <http|https>://<AIChat服务地址>
出现如下信息则在Smartbi服务器访问NLA服务是正常的。
安装权限要求:
安装时用root用户运行或使用具有sudo权限的用户执行,推荐使用root用户安装,如果是普通用户有sudo权限的,在命令前加上sudo。
2.安装
(1) 解压安装包
cd /<安装包路径> tar -xvf nla-setup.tar.gz
(2) 执行安装脚本进行安装
先在安装包的解压目录下对文件进行授权:
sudo chmod 777 -R *
创建AIChat安装目录(以下以/data/admin/smartbi-nla为例)
mkdir /data/admin/smartbi-nla
进入安装包解压目录
cd /<安装包解压目录>
使用install.sh脚本进行安装:
sudo bash install.sh
输入创建的AIChat安装目录的绝对路径:
当出现如下字样则说明安装完成:
(3)修改docker本地存储地址(可选择)
原因:通常docker安装后,默认的本地存储地址是根目录,根目录通常都不大,需要将仓库迁移到容量较大的目录
方法:
1、停止AIChat和docker cd /data/admin/smartbi-nla #停止AIChat ./stop.sh systemctl stop docker #停止docker 2、创建存储目录(假设你的存储目录是:/data/docker-data) mkdir /data/docker-data 3、在 /etc/docker目录下创建daemon.json文件;如果存在该文件则修改: cd /etc/docker vim /etc/docker/daemon.json |
---|
(4)更改了docker本地存储地址后需要重新安装
进入AIChat安装目录
cd /<AIChat安装目录>
删除AIChat目录下文件
rm -rf *
进入安装包解压目录
cd /<安装包解压目录>
使用install.sh脚本进行安装:
sudo bash install.sh
输入创建的AIChat安装目录的绝对路径:
当出现如下字样则说明安装完成:
(3) 配置服务设置
进入Smartbi服务,进入系统运维--系统选项找到 服务器地址-- Smartbi服务器URL地址 配置项,设置Smartbi的地址:
这里以 http://10.10.202.100:8080/smartbi为例。
进入“系统运维--自然语言配置“中设置“自然语言分析的登录地址”,设置AIChat服务地址 ,点击“显示更多设置”:
如果出现设置项则配置成功,此时点击“保存”,保存系统设置;
AIChat默认的端口为9060;如需修改端口请依照安装目录下的docker-compose.yml的注释进行修改。
如果点击“保存“按钮提示报错,请检查一下是否拥有系统配置权限。
(4) 配置大语言模型
进入“系统运维--自然语言配置“中设置“使用大模型的版本”
配置大模型调用参数的信息
Local_llm/Local
适用于所有OpenAI接口的大模型,例如deepseek
OPEN Al/gpt-3.5-turbo
OPEN Al/gpt-3.5-turbo-1106-ft
Azure/gpt-3.5-turbo
Baidu/ERNlE-Bot-4
Mianbi/cpm-conv
Xunfei/Spark-general 3.5
Qwen/Qwen
(5)验证自然语言配置是否正常
浏览器中访问部署好的地址出现以下页面如:http://10.10.202.100:9060/aiweb
进入后根据构建的知识图谱来输入对话,出现以下内容则配置正常
3.常见问题(FAQ)
1. selinux导致daemon的OCI runtime create failed
问题现象:启动服务的时候出现报错,报错信息如下
解决办法:关闭selinux
临时关闭selinux,立即生效,不需要重启服务器。
setenforce 0
永久关闭selinux,修改完配置后需要重启服务器才能生效
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
2. CPU缺少AVX指令集合
问题现象:启动服务后nl2sql、metadata、intention2cls、rhetorical_question服务不停的重启或停止运行。
使用docker logs 进入容器查看,出现如下日志:
|
当前服务器的 CPU 不支持TensorFlow所需要的指令集 avx 和 avx2。
解决办法:更换服务器,要求服务器支持AVX指令集。
3. 安装完成了但是自然语言分析的配置项显示不出来。
问题现象:填了“自然语言分析的登陆地址“,点击“测试连接”,提示OK,点击“显示更多设置“按钮无反应。
问题可能的原因1:如果部署了CAS拓展包,请检查CAS服务器是否能与nla服务器互通。
问题可能的原因2:Smartbi服务器地址没有填,或者NLA服务无法访问smartbi服务的地址。请在NLA服务器上用curl -L <Smartbi地址>来测试连通性。
4. 启动报NLA服务 iptables failed问题
问题报错:如下
解决方案:
1、检查iptables状态, systemctl status iptables 如果状态启动则跳到第3步,如果失败则参照第2步进行安装iptables。
2、安装iptables
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum install iptables
sudo systemctl start iptables
sudo systemctl enable iptables
3、手动添加iptables规则
sudo iptables -P FORWARD ACCEPT
sudo iptables -A FORWARD -i dockere -j ACCEPT
sudo iptables -A FORWARD-o dockero -j ACCEPT
4、重启docker
sudo systemctl restart docker