页面树结构
转至元数据结尾
转至元数据起始

本章主要结介绍如何部署自然语言分析引擎, 升级NLA引擎请查看文档:自然语言分析引擎版本升级

1.安装环境要求

1.1. 服务器配置清单

注意:小模型版本-目前已经暂停发布小模型版本

组件配置CPU内存硬盘

NLA核心服务

最低配置

X86架构 16核

32G

1TB+

推荐配置X86架构 32核128G1TB+

大模型版本的机器需要有GPU,大模型版本的硬件要求请查看文档


(1) 服务器CPU要求支持AVX指令集,否则无法安装 TensorFlow;

(2) 不建议将 Smartbi-NLA 和 Smartbi 部署在同一台服务器上,由于 NLA 对计算和内存资源的使用量均较高,会抢占资源导致卡顿、死机、进程被杀死等问题。

(3) 当服务器配置为最低配置时,即16核32GB。并发数推荐为30个左右,最高不应超过40个。不同并发数下的平均响应时间如下:

并发数

平均响应时间

20

2.487s

30

3.669s

40

4.814s

1.2. 系统环境要求

由于 Smartbi-NLA 采用 docker 容器 部署,因此服务器的系统环境需要支持 docker19.03 以上docker-compose 1.24.* 。

以下系统版本支持部署 Smartbi-NLA :

系统

版本

Ubuntu

Ubuntu-16.04.3以上

Centos

 CentOS-7以上

1.3. Smartbi版本要求

 版本要求

License

Smartbi V11 及以上

License 需要包含“自然语言分析”相应权限

1.4. 环境检查

1.4.1 CPU架构以及指令集确认

输入查看系统的指令

uname -a|grep x86

可以看到如下信息,即为正常:

输入查看系统指令集的指令:

cat /proc/cpuinfo|grep avx

可以看到如下信息,即为正常:

1.4.2网络环境检查

利用ping和telnet的方法无法准确判断是否连通,请务必按照本教程来检查。

网络环境检查要确保Smartbi服务器和NLA服务器双向访问正常。

首先确认NLA服务器是否可以连通Smartbi服务:

curl -L <http|https>://<Smartbi地址>

出现如下信息则在NLA服务器访问Smartbi服务是正常的。

同理需要在Smartbi安装的服务器上确认NLA的服务是否连通:

curl -L <http|https>://<NLA服务地址>

出现如下信息则在Smartbi服务器访问NLA服务是正常的。

2.安装

  (1) 解压安装包

tar -xvf nla-setup.tar.gz


  (2) 执行安装脚本进行安装

先在安装包的解压目录下对文件进行授权:

sudo chmod 777 -R *

使用install.sh脚本进行安装:

sudo bash install.sh

输入安装目录的绝对路径(以下以/data/admin/smartbi-nla为例):

当出现如下字样则说明安装完成:

  (3) 配置服务设置

 进入Smartbi服务,进入系统运维--系统选项找到 服务器地址-- Smartbi服务器URL地址 配置项,设置Smartbi集群的地址:

这里以 http://10.10.202.100:8080/smartbi为例。

进入“系统运维--自然语言配置“中设置“自然语言分析的登录地址”,设置NLA服务地址 ,点击“显示更多设置”:

如果出现设置项则配置成功,此时点击“保存”,保存系统设置;

NLA默认的端口为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

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 进入容器查看,出现如下日志:

Illegal instruction (core dumped)

当前服务器的 CPU 不支持TensorFlow所需要的指令集 avx 和 avx2。

解决办法:更换服务器,要求服务器支持AVX指令集。


3. 安装完成了但是自然语言分析的配置项显示不出来。

问题现象:填了“自然语言分析的登陆地址“,点击“测试连接”,提示OK,点击“显示更多设置“按钮无反应。

问题可能的原因1:如果部署了CAS拓展包,请检查CAS服务器是否能与nla服务器互通。

问题可能的原因2:Smartbi服务器地址没有填,或者NLA服务无法访问smartbi服务的地址。请在NLA服务器上用curl -L <Smartbi地址>来测试连通性。


4.修改docker本地存储地址

原因:通常docker安装后,默认的本地存储地址是根目录,根目录通常都不大,需要将仓库迁移到容量较大的目录

方法:

1、在 /etc/docker目录下创建daemon.json;如果存在该文件则修改:

     vi /etc/docker/daemon.json

2、daemon.json文件的内容如下(假设你的存储目录是:/docker-data):

{
"data-root": "/docker-data"
}


3、sudo systemctl restart docker


5. 启动报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

  • 无标签