# CoMiBuilder工具可视化部署CoMi V1.1手册Linux
北京致远互联软件股份有限公司 2025年7月
# 前言
本手册适用于客户端电脑通过CoMiBuilder工具可视化部署CoMi V1.1核心服务到Linux或信创系统服务器。如客户环境提供了SSH远程访问服务器机制,则推荐使用工具化可视化部署。
如未提供SSH,或客户是Windows Server系统,则请参考别的 CoMi V1.1安装部署手册 手动部署。
# 修订记录
修订内容 | 修订时间 |
---|---|
持续完善,增加部署过程中的问题总结 | 2025-7-29 |
新增CoMiBuilder工具安装部署手册 | 2025-7-25 |
# 在线化资料支持
手册存在不定期更新,为了方便您获取最新资料,本手册在致远开放平台也放置了一份,建议您收藏以下地址,并尽量使用在线手册以获得最新的部署信息: https://open.seeyoncloud.com/#/faq/vuepressFile/v1/share?url=Z2ptZkplPjM3ODg=
# 环境准备
# 适配协同版本
CoMi V1.1适配以下协同OA版本:
协同OA版本和BuildID | 适配CoMi版本 | 备注 |
---|---|---|
V5产品线 V10.0 B250710及以上 | CoMI V1.1 | 协同OA的BuildID低于CoMi适配版本则需要升级协同 |
V5产品线 V9.0SP1 B250715及以上 | CoMI V1.1 | 协同OA的BuildID低于CoMi适配版本则需要升级协同 |
# 依赖商务授权
使用本平台,需要如下授权信息:
编号 | 授权信息 | 获取路径 |
---|---|---|
1 | CoMi智能体套件(CoMi运行引擎、CoMi超级入口、CoMi标准智能体) | 致远商务侧下单申请,计价规则见商务报价 |
2 | (按需)智能问数(协同驾驶舱高级版+comi智能问数) | 致远商务侧下单申请 |
# 环境要求
分类 | 支持情况 |
---|---|
权限要求 | 需要以管理员(root)权限 + SSH操作 |
支持操作系统 | CentOS 7、CentOS 8 RedHat 7、RedHat 8 openEuler 24.03-LTS Anolis 8.10 Ubuntu 22.04 LTS 麒麟V10 统信UOS V20 |
服务器类型 | x86、Arm |
注意:
- Windows Server不支持使用本工具可视化部署
# 网络架构图
# 简单部署模式
客户端、协同OA与CoMi相关服务的交互关系如下图所示:
注意:
协同服务访问公网云服务接口说明:安全助理智能体会定期采集外部热门威胁情报,需要添加网络白名单的地址:
(1) 致远官方漏洞库查询接口:https://service.seeyon.com
(2) 国际漏洞库CVE查询工具 :https://www.cve.org;https://cveawg.mitre.org 详细说明见《CoMi用户操作手册》。
# 高可用部署模式
CoMi暂不支持高可用部署模式
# 所需服务列表
以下是CoMi V1.1运行环境所需的组件,需要按照手册要求进行部署:
依赖组件 | 版本 | 端口 | 资源配置 | 说明 |
---|---|---|---|---|
Nginx | 选择较新版本 | 80(http) 443(https) | CPU>=2C/内存>=4G/磁盘100G | 必须,代理各服务请求,与协同的Nginx共用 |
向量数据库qdrant | 1.13.6或以上 | 6333(HTTP)、6334(gPRC) | CPU>=4C/内存>=8G/磁盘200G | 必须,知识库向量存储需要 |
关系型数据库 | 支持范围见部署章节 | - | CPU>=4C/内存>=8G/磁盘200G | 必须,AI-Manager依赖此组件,可共用协同的数据库服务(针对AI新建一个表空间/数据库) |
AI-Engine | v1.1 | 8000 | CPU>=4C/内存>=8G/磁盘200G | 必须,执行Agent智能体语义理解、调用执行逻辑 |
AI-Security | v1.1 | 9000 | CPU>=4C/内存>=8G/磁盘200G | 非必须,安全服务,提供敏感词检测等安全策略的控制 |
AI-Manager | v1.1 | 8181 | CPU>=4C/内存>=16G/磁盘200G | 必须,提供CoMi平台的维护管理及配置功能 |
智能问数BI | V2.1 | 8058、5432 | 详见协同驾驶舱高级版BI手册 | 非必须,如涉及智能问数需求需要部署,资源和手册见对应独立手册 |
Embedding模型 | - | - | 支持公有云模型或本地模型 | 必须,通用文本向量模型,要求符合openAI接口规范 |
LLM大语言模型 | - | - | 支持公有云大模型、本地模型 | 必须,要求符合openAI接口规范+支持Functioncalling的模型 |
ReRank模型 | - | - | 支持公有云大模型、本地模型 | 非必须,相关性排序模型可提升向量数据检索质量,要求符合openAI接口规范 |
协同主服务 | 参考“适配协同版本”章节 | - | 老客户已部署协同无需增配; 全新客户参考协同部署手册准备资源 | 必须,CoMi必须在协同产品平台下运行 |
注意:
- CoMi V1.1运行环境建议独立部署(不与协同部署在一个服务器),需要至少一台服务器,硬件资源是组件资源配置的总和。
- 必须使用Nginx:由于CoMi前端会使用协同OA的用户身份信息(Session),基于浏览器的同源策略要求,必须使协同OA和Comi服务在同一个域内(协议、域名、端口一致)。因此,必须使用Nginx将协同OA和CoMi相关服务放在同一server段中代理。
- 以上清单为CoMi V1.1服务器配置,随着CoMi版本升级,功能增强,服务器所需配置可能增加,建议在CoMi V1.1总配置基础上再预留足够多的硬件资源,为CoMi升级版本扩展服务准备。
- LLM大语言模型、Embedding文本向量模型、ReRank模型涉及复杂的技术架构和高配置要求,需要客户单独采购,由专业厂商提供服务器和配置推荐,或使用公有云模型。
- LLM大语言模型要求遵守OpenAI接口规范,同时要求模型支持FunctionCalling功能(如不支持,涉及调用协同和第三方的智能体应用均无法使用)。
- 公司战略合作与生态产品团队与模型专业供应商有建联,推出了<致远COMI一体机解决方案-本地大模型>方案,如客户需要我们代采,可与生态团队联系询价。
内部测试LLM大模型支持情况参考:
模型 | OpenAI规范 | Function call | 说明 |
---|---|---|---|
通义千问(qwen2.5、qwen3、qwen-plus等) | 支持 | 支持 | 推荐 |
深度求索(DeepSeek-V3-0324) | 支持 | 支持 | 推荐 |
深度求索(DeepSeek-R1) | 支持 | 不支持 | DeepSeek-R1早期版本不支持functionCall R1-0528版本对functionCall支持不完善 |
OpenAI(GPT-4o) | 支持 | 支持 | GPT-4o是著名的国外大语言模型 |
内部测试Embedding文本向量模型参考:
- BGE-M3(遵守OpenAI接口规范)
- BGE-Large(遵守OpenAI接口规范)
- 阿里百炼平台-所有通用文本向量模型(遵守OpenAI接口规范)
# 服务器部署规划示例
如客户服务器有限,可以参考如下规划部署服务:
服务器 | 部署服务 |
---|---|
服务器1 | 协同服务、Nginx服务 |
服务器2 | 数据库服务 |
服务器3 | qdrant、AI-Engine、AI-Security、AI-Manager、智能问数服务(按需) |
Embedding文本向量模型(如bge-m3)(本地大模型由第三方专业厂商给方案) | |
LLM大语言模型(本地大模型由第三方专业厂商给方案) | |
ReRank相关性排序模型(本地大模型由第三方专业厂商给方案) |
注意:
- 多个服务部署在一台服务器,所需资源是每个组件服务的总和,如部署CoMi V1.1的“服务器3”基础组件,资源理论是:4C/8G+4C/8G+4C/8G+4C/16G=16核心40G内存以上,如涉及智能问数服务还依赖更高资源(问数所需资源见 CoMi智能问数手册)。
- 本规划仅做参考,不是绝对要求,项目上可根据用户实际服务器资源做规划。
# CoMi工具可视化部署步骤
# 总体步骤
CoMI工具可视化总体执行步骤为:客户提前准备大模型==>部署qdrant向量数据库==>安装可视化部署工具==>部署配置Nginx==>部署配置协同==>部署AI-Manager==>登录后台配置模型和参数==>部署配置Engine服务==>部署配置Security服务==>协同智能体应用初始化==>应用授权用户使用。
如涉及智能问数,可以在以上完成后,再单独参考智能问数部署配置手册部署配置问数相关服务。
# 下载CoMi部署包
从商务公布的安装程序下载地址(产品线为AI)下载CoMi部署包。
本手册使用ComiBuilder部署工具远程可视化部署CoMi服务,部署包下载到可以SSH远程服务器的客户端电脑即可。部署包主要包含如下内容:
CoMi迭代速度较快,建议不要留存旧版本部署包,每次部署前均从商务地址下载最新的安装包,以获得最新的产品能力。
# (必须)操作系统环境配置调整
在进行安装部署前,先按照如下配置优化Linux相关系统参数:
预装部署所需的命令:
# Red Hat系列,使用yum命令安装,如当前系统提示yum不可用,则尝试使用apt
yum update
yum install tar curl net-tools unzip vim telnet rsync -y
# 基于Debian的系统(如Ubuntu)使用apt预装组件
sudo apt update
sudo apt install tar net-tools unzip vim telnet rsync -y
# 基于欧拉openEuler、龙蜥Anolis OS等系统使用dnf安装
sudo dnf update
sudo dnf install tar curl net-tools unzip vim telnet rsync -y
修改Linux内核参数:
# 编辑配置文件,并在文件末尾添加参数配置
vim /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
# 读取 /etc/sysctl.conf 文件中的设置,使其立即生效
sysctl -p
修改Linux最大进程数最大文件打开数:
通过 vim /etc/security/limits.conf
命令编辑此文件添加以下内容
# open files (-n)
* soft nofile 65535
* hard nofile 65535
# max user processes (-u)
* soft nproc 65535
* hard nproc 65535
以上配置完成,重启操作系统,执行 ulimit -a
命令检查open files和max user processes是否都变成65535
以下为临时生效方法:
# 设置当前会话中立刻生效
ulimit -n 65535 # 设置最大打开文件数量
ulimit -u 65535 # 设置最大进程数
部署前先关闭selinux:
# 执行如下命令永久关闭
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# 重启操作系统生效
sudo reboot
# 临时禁用(免重启),临时验证关闭效果可用此法,如果确认关闭有效,务必永久关闭
sudo setenforce 0
# 一、大模型准备和调试
部署前,需要客户提前准备产品适配范围内的大模型,通过CURL命令测试大模型是否可用。
CoMi所依赖的大模型需要符合openAI接口规范,LLM大语言模型还需要支持functioncalling,模型部署模式公有云和本地均支持。
# 方案一:准备和调试公有云模型
如用户使用公有云大模型,需要用户自行选择公有云平台、注册帐号、自选适合额模型、获取模型的baseurl和api key信息。收费规则详询公有云模型平台。
本章节以阿里云百炼平台为例,获取模型方法如下:
1、先访问【阿里百炼平台 (opens new window)】,使用阿里系的帐号登录官网
2、通过模型广场找到需要接入的大模型:
3、模型详情有介绍每种模型特点、模型价格、上下文长度、QPM限制等,建议使用deepseek-v3这类通用语言模型--响应较快,deepseek-r1推理模型推理时间较长。
4、通过“API参考”页面获取大模型的curl测试命令:
5、在comi服务器通过curl命令测试大模型是否能连通,windows下可以参考如下代码格式执行命令测试:
# $DASHSCOPE_API_KEY注意替换为模型真实API Key
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions -H "Authorization: Bearer $DASHSCOPE_API_KEY" -H "Content-Type: application/json" -d "{\"model\": \"deepseek-v3\",\"messages\": [{\"role\": \"user\",\"content\": \"9.9和9.11谁大\"}]}"
6、如测试成功,根据测试url记住三个关键参数,后续comi部署需要:
- Base URL:取curl地址/v1/chat/前面的路径,如本示例的地址为
https://dashscope.aliyuncs.com/compatible-mode
- model模型名称:对应curl中"model"的值,如本示例的
deepseek-v3
- API Key:取百炼官网个人的API KEY,如本示例 Authorization: Bearer 后面这段内容
7、同样方法,通过云平台获取Embedding通用文本向量模型,建议尽量选择性能质量更优的模型,一旦CoMi设置好默认向量模型,后续无法修改:
# 方案二:准备和调试本地模型
如用户使用本地大模型,需要用户自己提前准。本地模型需要遵守如下要求:
LLM通用语言模型和Embedding文本向量模型必须,ReRank重排序模型非必须(有更好)
大模型符合openAI接口规范即可被CoMi接入,LLM大语言模型还需要支持functioncalling
推荐模型见 环境准备 章节
如用户已经准备好本地大模型,让客户提供CURL测试命令。或者参考如下测试命令格式,必须确保测试通过再进行后续部署操作:
如果私有LLM大语言模型curl带有API KEY,参考如下示例测试:
curl -X POST http://10.1.131.174:11434/v1/chat/completions -H "Authorization: Bearer sk-119cb6255f49449" -H "Content-Type: application/json" -d "{\"model\": \"qwen-plus\",\"messages\": [{\"role\": \"user\",\"content\": \"9.9和9.11谁大\"}]}"
# 上述命令中的参数参考:
# Base URL:对应http://10.1.131.174:11434(取curl地址/v1/chat/前面的路径)
# model模型名称:对应curl中"model"的值,如本示例的qwen-plus
# API Key:取本示例 Authorization: Bearer 后面这段内容 sk-119cb6255f49449
如果私有LLM大语言模型curl不带API KEY,参考如下示例测试:
curl -X POST http://10.1.131.174:11434/v1/chat/completions -H "Content-Type: application/json" -d "{\"model\": \"qwen-plus\",\"messages\": [{\"role\": \"user\",\"content\": \"9.9和9.11谁大\"}]}"
# 上述命令中的参数参考:
# Base URL:对应`http://10.1.131.174:11434(取curl地址/v1/chat/前面的路径)
# model模型名称:对应curl中"model"的值,如本示例的 qwen-plus
私有Embedding文本向量模型,参考如下示例测试:
curl --location 'http://192.168.94.130:11434/v1/embeddings' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "bge-m3:latest",
"input": "风急天高猿啸哀,渚清沙白鸟飞回,无边落木萧萧下,不尽长江滚滚来",
"dimension": "1024",
"encoding_format": "float"
}'
# 上述命令中的参数参考:
# Base URL:对应`http://192.168.94.130:11434(取curl地址/v1/embeddings前面的路径)
# model模型名称:对应curl中"model"的值,如本示例的 bge-m3:latest
# 二、qdrant向量库部署
qdrant是开源的向量数据库,用于存储高维向量数据供AI使用。本章节提供两种部署方案,根据当前系统情况二选一。
官方文档:https://qdrant.tech/documentation/quickstart/
# 方案一:qdrant二进制部署(x86架构)
从提供的部署包下载地址中获取qdrant离线包(qdrant-1.13.6.zip)和配置文件,上传到服务器并解压(注意选择与系统架构一致的包)
# 创建目录
mkdir /data
# 将Qdrant压缩包解压
unzip qdrant-1.13.6.zip -d /data/
启动qdrant:
# 进入qdrant目录
cd /data/qdrant-1.13.6
# 添加执行权限
chmod +x /data/qdrant-1.13.6/qdrant
# 执行启动命令
nohup ./qdrant --config-path=./config.yaml >> qdrant.log 2>&1 &
qdrant默认占用端口6333、6334,通过如下命令测试有输出结果则说明启动成功,注意通过防火墙开通端口访问权限:
# qdrant http占用6333端口
netstat -ntlp | grep 6333
# qdrant grcp占用6334端口
netstat -ntlp | grep 6334
同事,还可以在服务器上,通过 curl http://qdrant服务IP地址:6333
命令,检查如果有结果返回也说明启动成功。
# 方案二:qdrant docker部署(ARM架构)
如果是ARM架构,需要在Docker下部署qdrant。
1、部署qdrant前,需要自行在操作系统下部署docker,参考手册《安装部署Docker(二进制包方式) (opens new window)》。
2、从提供的部署包下载地址中获取arm架构的qdrant镜像(qdrant_v1.13.6.tar.gz)
# 加载qdrant镜像
docker load -i qdrant_v1.13.6.tar.gz
# 创建qdrant目录
mkdir /data/qdrant-1.13.6
# 运行服务
docker run --restart=unless-stopped --name qdrant \
-p 6333:6333 -p 6334:6334 \
-v "/data/qdrant-1.13.6/qdrant_storage:/qdrant/storage:z" \
qdrant:v1.13.6
# 检查镜像运行情况,确保状态为up
# qdrant http占用6333端口 grcp占用6334端口
docker ps -a
# 三、Nginx服务代理配置
Comi依赖Nginx反向代理,需要确保Comi和协同OA使用相同Nginx进行代理管理,这里请提前完成Nginx的部署配置。
# Nginx安装
如客户环境没有Nginx,则参考《Nginx源码编译安装手册 (opens new window)》进行编译安装。
# Nginx代理协同和CoMi
1、Nginx部署后,首先参考《协同OA反向代理和负载均衡 (opens new window)》进行协同的代理配置,确保通过NG能访问协同系统之后,再进行CoMi的代理配置。
2、通过vim nginx.conf
增加comi相关配置,仅需增加两块内容:
- 增加upstream统一管理AI-Manager地址
- 在协同OA的server块中增加
include comi.conf;
配置,让comi代理配置全部由comi.conf文件维护
# comi start到comi end是增加的comi配置
# comi start:增加AI-Manager的upstream配置
upstream ai_manager{
# 这里IP端口指向AI-manager地址
server 192.168.0.170:8181;
}
# comi end:增加AI-Manager的upstream配置
# 代理协同OA
server {
listen 80;
server_name localhost;
charset utf-8;
# comi start:关联comi配置文件
include comi.conf;
# comi end:关联comi配置文件
location / {
proxy_pass http://seeyon_v5_cluster;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect http:// $scheme://;
proxy_connect_timeout 300;
proxy_read_timeout 300;
proxy_send_timeout 300;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
upstream seeyon_v5_cluster{
sticky;
server 192.168.0.170:8080 max_fails=300 fail_timeout=30s;
}
3、在nginx.conf同级目录下新建comi.conf(vim comi.conf
命令),将如下配置完整保存到comi.conf(不用特殊调整任何参数):
location ~ /\.(git|env|svn|htaccess|bak|old|swp)$ {
deny all;
}
location /ai-static {
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://ai_manager;
proxy_buffering off;
}
location ^~ /seeyon/ai-platform/ai-manager/agent/info/call/sse{
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# SSE 连接时的超时时间
proxy_read_timeout 86400s;
# 取消缓冲
proxy_buffering off;
# 关闭代理缓存
proxy_cache off;
rewrite ^/seeyon/ai-platform(.*)$ $1 break;
proxy_pass http://ai_manager;
}
location ^~ /seeyon/ai-platform/backend {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/seeyon/ai-platform(.*)$ $1 break;
proxy_pass http://ai_manager;
set $nocache 1;
proxy_cache_bypass $nocache $cookie_nocache $arg_nocache $arg_comment;
}
location ^~/seeyon/ai-platform/frontend {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/seeyon/ai-platform(.*)$ $1 break;
proxy_pass http://ai_manager;
set $nocache 1;
proxy_cache_bypass $nocache $cookie_nocache $arg_nocache $arg_comment;
}
location ~ /seeyon/ai-platform {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
rewrite ^/seeyon/ai-platform(.*)$ $1 break;
proxy_pass http://ai_manager;
}
location /ai-manager {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://ai_manager;
}
location = /seeyon/ai-platform/ai-manager/assistant/info/call/stream {
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# SSE 连接时的超时时间
proxy_read_timeout 86400s;
# 取消缓冲
proxy_buffering off;
# 关闭代理缓存
proxy_cache off;
# 禁用分块传输编码
chunked_transfer_encoding off;
gzip off;
rewrite ^/seeyon/ai-platform(.*)$ $1 break;
proxy_pass http://ai_manager;
}
4、检查配置并重新加载Nginx配置
# 检查配置是否正确(示例代码见截图)
./nginx -p nginx目录 -c nginx.conf配置文件路径 -t
# 重新加载配置,使配置生效(示例代码见截图)
./nginx -p nginx目录 -c nginx.conf配置文件路径 -s reload
# 四、协同配置CoMi并启动
完成Nginx相关配置后,确保协同OA处于启动状态,然后通过浏览器访问Nginx代理地址检查能否访问协同登录页面。
注意:协同加密狗需要提前注册更新CoMi所需插件授权,所需插件详见 依赖商务授权 章节。
启动协同服务之前,先修改协同OA部署目录下的 base/conf/plugin.properties 文件。修改配置后,需要重启协同OA才能生效!
# http://192.168.188.143是Nginx代理的地址,请按照实际情况修改
ai.comibuilderServer=http://192.168.188.143/seeyon/ai-platform/ai-manager/assistant/info/getAllRightsAssistant
# http://192.168.188.147:8181是AI-Manager的服务器IP和端口,请按照实际情况修改
ai.managerUrl = http://192.168.188.147:8181/ai-manager
# ApiKey获取方式:后续章节配置即可,协同系统管理员登录到后台,访问CoMi Builder菜单-服务页签,创建API Key
ai.comi.apikey = oOIBGZVI0ZImdo6NqPR8v4tgwaUObP6SQdkBus2TMd8t7k4yHZ
也可以通过运行ApacheJetspeed/conf/SeeyonConfig.sh协同系统配置工具可视化修改。
如无相关配置,请检查是否存在CoMi授权插件,以及当前协同的BuildID在CoMi支持范围内。
# 五、ComiBuilder工具服务部署
本章节介绍工具部署CoMi服务,请有序按照本章节内容操作。
# 安装ComiBuilder部署工具
找一台能SSH远程到CoMi Linux服务器的客户端电脑,在客户端电脑先安装CoMiBuilder部署工具,随后使用该工具进行可视化远程部署。
部署工具提供如下格式的安装包:
- Mac:.dmg 安装包
- Windows:.exe 安装包及无需安装的.zip压缩包
Windows电脑,右键以管理员身份运行 comi builder deployer-Windows-1.0.0-Setup.exe 安装包:
推荐安装位置选择非系统盘:
工具安装完成后,运行comi builder deployer工具(窗口全屏,避免显示错位),默认显示如下:
# 准备CoMi的数据库
CoMi支持数据库情况:
- mysql5.7、mysql8.0
- 达梦8.4
- 人大金仓(电科金仓)V8R6(Oracle兼容模式)
- postgreSQL 13.3
- sqlServer 2019
- oracle 19c(其它Oracle版本不支持)
确保关系型数据库部署完成后,连接到数据库服务进行数据库新建(只需要新建空库,无需手工初始化comi数据):
-- mysql建库语句
create database ai_manager default character set utf8mb4;
-- SQLServer数据库:
CREATE DATABASE ai_manager;
-- Oracle数据库:
-- 执行时发现错误可以先执行如下sql
ALTER SESSION SET "_ORACLE_SCRIPT" = TRUE;
-- 创建用户 ai_manager并设置密码
create user AI_MANAGER identified by 访问密码;
-- 赋权
grant connect,resource to AI_MANAGER;
-- 赋权
GRANT UNLIMITED TABLESPACE TO AI_MANAGER;
-- PostgreSQL数据库:
CREATE DATABASE ai_manager TABLESPACE 表空间名称 ENCODING 'UTF8';
-- 达梦数据库:创建 Schema 并关联用户
CREATE SCHEMA ai_manager AUTHORIZATION 数据库用户;
-- 人大金仓数据库:
CREATE DATABASE ai_manager TABLESPACE 表空间名称 ENCODING 'UTF8';
-- 注意:人大金仓建库后需要先查询看下是否支持空字符串插入,sql语句如下:
select name,setting from sys_settings where name = 'ora_input_emptystr_isnull' ;
-- 若结果显示为on,需要修改kingbase.conf中的ora_input_emptystr_isnull=off
# 工具部署AI-Manager
下载工具部署AI-Manager服务所需资源,资源存放于产品下载地址SuperDataSource-jdbc-tool和ComiBuilder-Manager目录中,将资源存放于安装工具所在电脑任意位置:
工具的运行原理:通过客户端电脑SSH远程到CoMi服务器,然后通过工具自动部署配置应用。故,务必确保当前客户端电脑能够SSH到CoMi服务器!
第一步,运行部署工具,选择Java部署: Ai-Manager是Java服务,选择工具的“Java部署”页签。
第二步,填写服务器信息:
- IP地址:填写CoMi的AI-Manager服务最终部署服务器的IP地址
- 端口:填写CoMi服务器的SSH远程连接端口
- 用户名、密码:填写SSH远程连接所需的在用户和密码
第三步,填写部署信息:
- 部署路径:设置AI-Manager服务部署在CoMi服务器上什么目录,默认推荐
/data/Seeyon/Comi/app/ai-manager
- 后端java包:选择提前下载的ComiBuilder-Manager里的安装包,X86企业产品线选择ai-manager-linux.zip
注意:
- ai-manager-linux.zip 对应企业线X86的Linux包
- ai-manager-linux-gov.zip 对应政务线X86的Linux包(仅预制模板不同)
- ai-manager-linux-arm.zip 无论企业还是政务,ARM都用这个包
以上信息填写无误,选择“后端java包”后,会自动上传安装包到CoMi服务器,并且自动生成“修改配置文件”的默认参数:
如上传后提示“部署失败”,需要重点参考“操作系统环境配置调整”章节预装工具所需命令(tar curl net-tools unzip vim telnet
),完成命令安装后关闭部署工具,重新打开重新操作上传。
如远程到CoMi服务器,在部署路径下能看到Ai-Manager相关文件已经解压放置完成:
第四步,修改配置文件(全部修改完成后点提交):
- JAVA服务端口:Ai-Manager服务端口信息,默认8181
- 前端资源路径(必改):路径一定要在AI-Manager程序部署路径下,
file:/data/Seeyon/Comi/app/ai-manager/frontend,file:/data/Seeyon/Comi/app/ai-manager/static/
- 向量库的ip(必改):改为qdrant服务器真实IP
- 向量库的gRPC端口:如采用本手册部署Qdrant,默认端口为6334
- python服务地址:填写ai-engine服务的IP端口,如与当前ai-manager部署在同一服务器,可保持默认
ws://127.0.0.1:8000/agent/services
- python通信地址:填写ai-engine服务的IP端口,如与当前ai-manager部署在同一服务器,可保持默认
ws://127.0.0.1:8000/agent/msg
- python敏感词服务地址:填写ai-security服务的IP端口,不部署可以不填写,如与ai-manager部署同一服务器填写示例
ws://127.0.0.1:9000/sensitive/services
- 数据库配置(必改):提前创建一个空库给Comi使用,产品支持多种数据库,项目上根据实际情况填写数据库真实信息。需要确保CoMi的Ai-Manager服务器能连接到当前数据库!
数据库URL配置示例:
mysql:jdbc:mysql://127.0.0.1:3306/ai_manager
达梦: jdbc:dm://127.0.0.1:5237/
人大金仓:jdbc:kingbase8://127.0.0.1:54323/ai_manager
postGreSql:jdbc:postgresql://127.0.0.1:5432/ai_manager
sqlServer:jdbc:sqlserver://127.0.0.1:1433;database=ai_manager
oracle:jdbc:oracle:thin:@127.0.0.1:1521/SEEYONDB
- 数据库用户名/密码(必改):按实际情况填写
- 数据库初始化jar包:必须选择安装包SuperDataSource-jdbc-tool中的super-datasource-jdbc-1.0-SNAPSHOT.jar文件
- 数据库shell脚本:必须选择安装包SuperDataSource-jdbc-tool中的init_start.sh文件
- 数据库sql脚本:选择安装包CoMiBuilder-Manager中对应的初始化脚本,注意脚本分A6和非A6。
- comi builder访问地址:即当前安装的AI-Manager服务地址和端口(默认8181),地址末尾追加
/ai-manager
- 文件存储路径:建议设置在足够磁盘空间的数据盘下,建议放置在ai-manager程序目录下
/data/Seeyon/Comi/app/ai-manager/temp
- V5协同地址:填写Nginx反向代理协同OA的地址(无需
/seeyon
上下文),如Nginx的IP 192.168.188.143,代理端口80则填写http://192.168.188.143:80
以上全部修改完成后,点击提交!提交后,数据库相关工具和脚本会上传到Comi下的Ai-Manager服务器,并通过服务器连接到数据库并初始化脚本。
提交后,如遇异常,需要分析解决问题。 工具支持多次修改配置,点击提交会再次更新配置信息到服务器。
看到如下提示信息,表示提交成功,数据库脚本已经初始化完成:
第五步,以上完成后,点击右侧“部署和服务管理”中的“首次部署”按钮:
提示成功则Java的Ai-Manager首次部署完成:
第六步,启动AI-Manager服务:
直接通过可视化工具,点击“启动服务”按钮即可启动AI-Manager服务:
注意:AI-Manager服务的端口(默认8181)需要防火墙放开访问权限。
sudo firewall-cmd --permanent --add-port=8181/tcp
sudo firewall-cmd --reload
如需查看日志,需要到Ai-Manager所在服务器上,通过如下命令获取:
cd /data/Seeyon/Comi/app/ai-manager
# 查看控制台日志,如有明显异常,需要主动分析原因
tail -f nohup.out
第七步,检查AI-Manager服务是否运行正常:
登录协同OA系统管理员后台,访问CoMi Builer菜单,如能显示内容,则说明部署配置正常:
如访问CoMi Builer菜单页面无法正常显示,则重点排查Nginx是否已经按要求配置、ai-manager/application.yaml下的[static-locations]前端资源路径是否正确设置在ai-manager程序路径下。
# 获取ComiBuilder API Key
登录协同OA系统管理员后台,访问CoMi Builer菜单-服务页签,点击创建API Key:
为AI-Engine服务创建一个API Key:
复制创建的api key,后续章节需要使用:
# 后台新增模型
登录协同OA系统管理员后台,访问CoMi Builer菜单-模型页签,点击 接入模型维护:
点击 "+" ,新建分类(分类名称可自定义)
再点击 "新增",新增模型,根据模型类型,选择LLM或者Embedding模型:
- 模型名称:必须是真实准确的名称,对应大模型curl测试中的model参数
- 必须至少新建一个LLM模型和一个Embedding模型,用于后面的数据初始化
再次点击模型栏,返回上一级,点击新增,填写模型完整信息,LLM和Embedding需要分别新增一个:
- 模型标识:唯一,可自定义,常用模型建议尽量与model一致,方便管理
- 模型描述:非必填
- 模型类型:LLM对应 语言模型;Embedding对应向量模型;ReRank对应重排模型
- 接入模型:对应“接入模型维护”按钮中配置的信息
- Base URL:对应模型的openAI请求地址,参考【大模型准备和调试】章节说明获取
- API Key:公有云模型涉及此参数,本地模型可能没有,参考【大模型准备和调试】章节说明获取
LLM语言模型配置示例:
Embedding模型配置示例:
保存后,通过“测试”确保大模型的连接状态为“通过”,并且尽量使用支持Functioncalling的LLM大语言模型:
如大语言模型不支持FunctionCalling会导致所有涉及调用协同OA工具的Agent无法使用
# 后台设置默认模型
模型页签,点击“设置默认模型”按钮,选择默认运行的模型:
- LLM大语言模型,必须
- ReRank模型,非必须
- Embedding模型,必须,选择质量较好的Embedding文本向量模型,默认Embedding模型一旦配置不允许修改!
为什么Embedding文本向量模型一旦配置不允许修改?因为不同文本向量模型算法不一,如混合使用会导致向量数据库错乱,无法给出高质量的数据
# 工具部署AI-Engine
准备与服务器操作系统相匹配的Ai-Engine部署包:agent_packages.tar.gz miniconda.tar seeyonagents.tar.gz 。将资源存放于安装工具所在电脑任意位置。
如当前操作系统无匹配的安装包,则默认取centos8尝试。
工具的运行原理:通过客户端电脑SSH远程到CoMi服务器,然后通过工具自动部署配置应用。故,务必确保当前客户端电脑能够SSH到CoMi服务器!
第一步,选择Python部署-引擎部署: Ai-Engine是Python服务,选择工具的“Python部署”页签,然后选择左侧“引擎部署”。
第二步,填写服务器信息:
- IP地址:填写CoMi的AI-Engin服务最终部署服务器的IP地址
- 端口:填写CoMi服务器的SSH远程连接端口
- 用户名、密码:填写SSH远程连接所需的在用户和密码
第三步,填写部署信息:
- 部署路径:设置AI-Engine服务部署在CoMi服务器上什么目录,工具会自动创建子目录存放程序,默认推荐
/data/Seeyon/Comi/
- seeyonagents包:首次部署,需要上传与操作系统相匹配的seeyonagents.tar.gz
- agent_packages包:首次部署,需要上传与操作系统相匹配的agent_packages.tar.gz
- miniconda包:首次部署,需要上传与操作系统相匹配的miniconda.tar
如当前操作系统无匹配的安装包,则默认取centos8尝试。
以上信息填写无误,相关包会自动上传到CoMi服务器,并且自动生成“修改配置文件”的默认参数:
如按默认部署路径配置,所有包上传完成后,访问AI-Engine服务器/data/Seeyon/Comi/app/seeyonagents
目录能看到自动安装的Engine程序:
第四步,修改env配置文件:
- 运行端口:AI-Engine服务运行的端口号,默认8000
- 向量库类型:保持默认值qdrant
- 向量库URL(必改):改为qdrant服务器的http访问地址,默认端口6333,需要确保该端口可被Engine访问
- 向量库模型标识:保持默认值ai_embedding
- 默认配置:通常无需修改
修改完成后点击提交:
第五步,修改llm配置文件:
- 向量模型类型:保持默认值openai
- 向量库模型地址(必改):实际是填写AI-Manager服务的地址(以
/v1
结束),示例http://192.168.0.171:8181/v1
- 向量模型API Key(必改):将【获取CoMiBuilder API Key】章节中创建的API Key填写到此处
- Embedding模型标识(必改):对应Comi Builder后台-模型管理页面中的默认Embedding模型标识
- 向量维度:保持默认值1024
- CoMi Builder模型类型:保持默认值openai
- CoMi Builder默认模型(必改):对应Comi Builder后台-模型管理页面中的默认LLM模型标识
- CoMi Builder服务地址(必改):实际是填写AI-Manager服务的地址(以
/v1
结束),示例http://192.168.0.171:8181/v1
- CoMi Builder API Key(必改):与【向量模型API Key】配置一致,将【获取CoMiBuilder API Key】章节中创建的API Key填写到此处
第六步,修改完成后点击提交: 配置信息会自动更新到ai-engine配置文件中!
第七步,以上完成后点击“首次部署”: 首次部署需要一定时间。
部署工具支持可视化检查服务状态,可视化启动和停止AI-Engine服务,首次部署AI-Engine自动处于启动状态。
注意:如CoMi采用多服务器分离部署,AI-Engine服务的端口(默认8000)需要防火墙放开访问权限。
# 工具部署AI-security(按需)
AI-Security非必须部署,如需敏感词安全相关AI场景使用需求,可部署当前服务。
准备与服务器操作系统相匹配的Ai-Security部署包:ai-security-service.tar.gz miniconda.tar sensitive_packages.tar.gz 。将资源存放于安装工具所在电脑任意位置。
如当前操作系统无匹配的安装包,则默认取centos8尝试。
工具的运行原理:通过客户端电脑SSH远程到CoMi服务器,然后通过工具自动部署配置应用。故,务必确保当前客户端电脑能够SSH到CoMi服务器!
第一步,选择Python部署-敏感词部署: Ai-security是Python服务,选择工具的“Python部署”页签,然后选择左侧“敏感词部署”。
第二步,填写服务器信息:
- IP地址:填写CoMi的AI-Security服务最终部署服务器的IP地址
- 端口:填写CoMi服务器的SSH远程连接端口
- 用户名、密码:填写SSH远程连接所需的在用户和密码
第三步,填写部署信息:
- 部署路径:设置AI-Security服务部署在CoMi服务器上什么目录,工具会自动创建子目录存放程序,默认推荐
/data/Seeyon/Comi/
- ai-security-service包:首次部署,需要上传与操作系统相匹配的ai-security-service.tar.gz
- sensitive_packages包:首次部署,需要上传与操作系统相匹配的sensitive_packages.tar.gz
- miniconda包:首次部署,需要上传与操作系统相匹配的miniconda.tar
如当前操作系统无匹配的安装包,则默认取centos8尝试。
以上信息填写无误,相关包会自动上传到CoMi服务器,并且自动生成“修改配置文件”的默认参数:
如按默认部署路径配置,所有包上传完成后,访问AI-Security服务器/data/Seeyon/Comi/app/ai-security-service
目录能看到自动安装的ai-security-service程序:
第四步,修改env配置文件并提交:
- 运行端口:AI-Security服务运行的端口号,默认9000
- 默认配置:通常无需修改
配置确认无误后,点击提交按钮,确保配置生效。
第五步,以上完成后点击“首次部署”: 首次部署需要一定时间。
部署工具支持可视化检查服务状态,可视化启动和停止AI-Engine服务,首次部署AI-Security会自动处于启动状态。
注意:如CoMi采用多服务器分离部署,AI-Security服务的端口(默认9000)需要防火墙放开访问权限。
第六步,AI-Manager配置敏感词服务地址: 如部署AI-Security服务,注意到AI-Manager配置页面配置python敏感词服务地址,配置后重启AI-Manager服务生效:
# 六、初始化CoMi应用
# 数据初始化
登录协同OA系统管理员后台,访问CoMi Builder菜单-系统管理页签。
1、选择“数据初始化”:
请依次初始化:应用、Agent、工具
如数据初始化页面的应用列表显示为空,可能原因:
- 检查ai_manager/application.yaml配置文件中,“文件存储路径配置”参数是否未将
/data/Seeyon/Comi/app/ai_manager/temp
设置成文件临时存储路径。 - 数据库不兼容导致初始化应用数据写入异常,需要检查ai_manager/nohup.out日志判断是否存在数据写入异常,如存在则做对应处置。
2、初始化数据配置自动回填:
- 模型标识:对应模型页签中配置的LLM大模型
- 协同baseUrl:对应协同的Nginx代理地址(地址不含
/seeyon
),详见示例截图 - 向量模型标识:对应模型页签中配置的Embedding模型
3、应用列表默认只显示5条,需要通过翻页组件切换为100条,再全选所有应用列表,最后点击确定,将所有智能体应用初始化:
4、观察所有应用的初始化进度,如出现异常,需要根据日志(Comi/app/ai_manager/nohup.out
)分析解决异常,再重新初始化:
# 失败重试智能体应用
如初始化“失败”,在修复问题后还需要重新初始化应用,CoMi V1.1版本已支持重新初始化功能,请检查修复失败项并再次点击初始化。
# 智能体应用授权
协同集团版用集团管理员登录后台管理页面,协同企业版用单位管理员登录后台管理页面。
进入【智能应用设置】点击【Comi应用授权】:
- 集团管理员“授权单位”,只是授权给单位管理员,再由该单位的单位管理员针对单位下人员进行授权
- “授权用户”则是直接给指定普通用户授权智能体应用使用权限,普通用户重新登录系统就能看到相关智能体应用
- 注意:可授权人员数量受购买插件时注册用户数量控制。比如申请了100注册数,则每个智能体应用只能授权100位用户。
# 用户使用CoMi
被授权普通用户登录系统,通过右侧CoMi图标进入智能应用页面:
智能体页签仅显示用户被授权的智能体应用:
# 详细使用见操作手册
更详细的操作、配置、说明见CoMi用户操作手册。
# 组件日常维护
# qdrant向量库启停和维护
qdrant启停:
cd /data/qdrant-1.13.6
# 启动方法1
nohup ./qdrant >> qdrant.log 2>&1 &
# 启动方法2: 如果没有创建config目录单独存放config.yaml,那么启动时需手动指定配置文件
# 将配置文件config.yaml上传到 /data/qdrant 目录下
nohup ./qdrant --config_path=config.yaml >> qdrant.log 2>&1 &
检查qdrant服务状态: 通过http访问qdrant服务6333端口,看到输出则表示服务处于启动状态
qdrant日志: 存放于/data/qdrant/qdrant.log
:
qdrant配置: 配置存放于 /data/qdrant/config/config.yaml
,如需要修改监听端口,可调整此配置,注意调整后还需要修改ComiBuilder对应服务的qdrant配置。
# AI-Engine可视化启停和维护
AI-Engine启停:
可以使用comi builder deployer工具进行启停:到Python部署页签,选择引擎部署,录入AI-Engine的SSH地址后,通过右侧检查服务状态、启动服务、停用服务按钮快捷维护:
AI-Engine日志: 存放于app/seeyonagents/logs下,按日期分布:
AI-Engine配置: 使用comi builder deployer工具,录入AI-Engine的SSH地址后,自动带出配置,修改提交即可。调整后,需要重启Engine服务。
# AI-Security可视化启停和维护
AI-Security启停:
可以使用comi builder deployer工具进行启停:到Python部署页签,选择引擎部署,录入AI-Security的SSH地址后,通过右侧检查服务状态、启动服务、停用服务按钮快捷维护:
AI-Security日志: 存放于app/ai-security-service/logs下:
AI-Security配置: 使用comi builder deployer工具,录入AI-Security的SSH地址后,自动带出配置,修改提交即可。调整后,需要重启Security服务。
# AI-Manager可视化启停和维护
AI-Manager启停:
可以使用comi builder deployer工具进行启停:到Java部署页签,录入AI-Manager的SSH地址后,通过右侧检查服务状态、启动服务、停用服务按钮快捷维护:
AI-Manager日志: AI-Manger实时运行日志存放于app/ai_manager下的nohup.out里:
AI-Manger历史运行日志存放于app/ai_manager/logs里:
AI-Manager配置: 可以使用comi builder deployer工具进行启停:到Java部署页签,录入AI-Manager的SSH地址后,然后修改配置文件提交即可。调整后,需要重启Manager服务。
# 常见问题
# 1、无Comi插件,或插件未分配注册数
解决方案:CoMi按注册数授权,在进行用户授权时会检测当前加密狗是否有注册数,开发狗、0注册数的加密狗用户无法授权。需要从商务申请带CoMi注册数的加密授权。
# 2、协同系统管理员访问CoMi Builder页面未正确显示,提示Not Found
解决方案:CoMi Builder访问的是CoMi服务的页面,满足如条件即可正常访问:
- 1)确保部署了CoMi相关服务
- 2)必须参考【Nginx服务代理配置】章节,将CoMi相关请求配置到NG
- 3)访问协同系统必须通过Nginx代理到协同OA的地址
- 4)nginx.conf中的
upstream ai_manager{}
代理地址对应的是AI-Manager服务器IP和端口 - 参考“4、协同进入Comi Builder页面,直接提示Error Page 404错误”检查AI-Manager的static-location
# 3、协同进入Comi Builder页面,直接提示Error Page 500错误
解决方案,目前已知两种情况会出现此问题:
- 1、AI-Manager服务未启动成功,通过【AI-Manager启停和维护】章节,检查服务的nohup.out日志,分析服务状态。
- 2、AI-Manager服务异常导致,比如ai-manager下的application.yaml配置v5Address地址错误,该地址需要指向Nginx代理OA的地址,并且ai-manager服务器能访问到该地址
4、协同进入Comi Builder页面,直接提示Error Page 404错误
配置问题,ai-manager的静态文件路径配置错误!参考【修改application.yaml】章节,检查static-locations参数,此路径一定要在AI-Manager的程序运行路径下。 加入AI-Manager的程序路径在 /data/Seeyon/Comi/app/ai-manager
,则static-locations参数中的 ai_manager
需要改成 ai-manager
。
# 5、AI-Manager连接人大金仓(电科金仓)数据库启动报错
启动ai_manager,查看日志发现大量 ERROR: null value in column "create_user_name" violates not-null constraint
字样的错误。这个问题原因是金仓数据库不支持空字符串插入导致的异常,需要联系金仓数据库厂商配置数据库参数关闭。
-- 注意:人大金仓建库后需要先查询看下是否支持空字符串插入,sql语句如下:
select name,setting from sys_settings where name = 'ora_input_emptystr_isnull' ;
-- 若结果显示为on,需要修改kingbase.conf中的ora_input_emptystr_isnull=off
# 6、初始化CoMi应用时,文案策略、安全助理等智能体应用部署失败
文案策略、安全助理等智能体应用初始化失败,尝试重新初始化也不行。通常问题原因和解决方案如下:
1、确保参考【初始化CoMi应用】章节,一步一步操作,不能遗漏
2、确保模型页签下测试LLM和Embedding模型状态OK,未测试模型会导致初始化失败
3、这几个应用会先调用Embedding模型进行向量化,再写入qdrant向量数据库,如Embedding和qdrant服务不正常会导致初始化失败
4、初始化超时时间5分钟,如服务器性能太差,未在设定时间内初始完成会导致失败。
5、如Embedding模型采用本地,检查文本向量模型服务器负载,CPU长期100%易导致初始化失败,考虑提升服务器配置。
# 7、curl模型能通,telnet不通,管理员后台测试模型提示HTTP connect timed out
已确认在ai_manager服务器进行curl命令能连通大模型
但是按规则配置后测试模型提示:I/O error on POST request for "http://xxxx/v1/chat/completions":HTTP connect timed out
在ai_manager服务器通过telnet 模型IP 模型端口
同样不通。
问题原因:最终确认问题原因是comi那台服务器没有开通访问大模型IP端口的网络权限,curl能连通是因为走到了代理。
解决方案:需要客户明确开网络策略,能让comi服务器访问到大模型真实服务器。
如何判断模型能通:第一需要curl测试通,第二需要telnet通,确保这两条命令都OK才行!
# 8、进入Comi应用授权页面提示:获取应用列表失败
登录OA集团管理员后台,进入智能应用设置——Comi应用授权页面,报错:获取应用列表失败
检查ctp日志,有对应报错
可以看到是oa调用comi(ng代理的地址)超时了,检查oa访问ng网络不通,待访问畅通之后,问题解决
# 9、进入CoMi应用授权页面提示:访问comi应用列表失败
登录OA集团管理员后台,进入智能应用设置——Comi应用授权页面,报错:访问comi应用列表失败:请检查ng配置的url或者网络连接是否正常
解决方案:检查协同OA的base/conf/plugin.properties配置,配置一定要按照要求调整(详见“协同配置CoMi并启动”章节):
- 配置中的
ai.comibuilderServer
设置为Nginx访问协同OA的地址 - 配置中的
ai.managerUrl
则是对应AI-Manager的服务IP和端口,不是走NG - 配置中的
ai.comi.apikey
则是对应系统管理员CoMiBuilder服务下面配置的apikey
以上配置无误后,重启下协同OA生效。
快速跳转
