# 致远新一代智能体产品家族CoMi V1.1安装部署手册Linux
北京致远互联软件股份有限公司 2025年7月
# 前言
本手册适用于到Linux或信创系统服务器命令行部署CoMi核心服务。
如客户环境提供了SSH远程访问CoMi服务器能力,推荐使用CoMiBuilder工具远程可视化部署,具体参考另一份 工具可视化部署CoMi 手册。
# 修订记录
修订内容 | 修订时间 |
---|---|
持续完善,增加部署过程中的问题总结 | 2025-7-29 |
新增CoMi 1.1安装部署手册 | 2025-7-22 |
# 在线化资料支持
手册存在不定期更新,为了方便您获取最新资料,本手册在致远开放平台也放置了一份,建议您收藏以下地址,并尽量使用在线手册以获得最新的部署信息:https://open.seeyoncloud.com/#/faq/vuepressFile/v1/share?url=Z2ptZkplPjM3ODM=
# 环境准备
CoMi V1.1有多种部署方式,关于部署方式选择、部署架构图、服务器环境资源要求(配置要求)、插件准备要求、支持协同清单、大模型准备要求等 详见 《CoMi V1.1环境准备指导手册 (opens new window)》,请先完成环境准备再进行本手册部署!
# CoMi部署步骤
# 总体步骤
CoMI总体执行步骤为:客户提前准备大模型==>初始化CoMi数据库==>部署qdrant向量数据库==>部署配置Engine服务==>部署配置Security服务==>部署配置Manager服务==>部署配置Nginx==>更新授权重启协同==>协同获取API KEY==>二次配置重启Engine==>协同配置大模型==>协同智能体应用初始化==>应用授权用户使用。
如涉及智能问数,可以在以上完成后,再单独参考智能问数部署配置手册部署配置问数相关服务。
# 下载CoMi部署包
从商务公布的安装程序下载地址(产品线为AI)下载CoMi部署包,将部署包上传至CoMi应用服务器。部署包主要包含如下内容:
CoMi迭代速度较快,建议不要留存旧版本部署包,每次部署前均从商务地址下载最新的安装包,以获得最新的产品能力。
# (必须)操作系统环境配置调整
在进行安装部署前,先按照如下配置优化Linux相关系统参数:
预装部署所需的命令:
# Red Hat系列,使用yum命令安装,如当前系统提示yum不可用,则尝试使用apt
yum update
yum install tar curl net-tools unzip vim telnet -y
# 基于Debian的系统(如Ubuntu)使用apt预装组件
sudo apt update
sudo apt install tar net-tools unzip vim telnet -y
# 基于欧拉openEuler、龙蜥Anolis OS等系统使用dnf安装
sudo dnf update
sudo dnf install tar curl net-tools unzip vim telnet -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中使用。
CoMi V1.1依赖两个模型:
- LLM大语言模型:支持公有云和本地化模型,需要遵守OpenAI接口规范,同时模型支持FunctionCalling功能,如qwen3、deepseek-v3。
- Embedding文本向量模型:支持公有云和本地化模型,需要遵守OpenAI接口规范,如bge-m3、qwen3-embedding。
具体模型的调试和配置在后续配置章节说明。
# 二、CoMi数据库初始化
在部署组件服务前需要先准备一个关系型数据库,用于存储CoMi的数据,关系型数据库可以复用协同的数据库服务(针对AI新建一个表空间/数据库)。CoMi支持的数据库版本要求:
- mysql5.7、mysql8.0
- 达梦8.4
- 人大金仓(电科金仓)V8R6(Oracle兼容模式)
- postgreSQL 13.3
- sqlServer 2019
- oracle 19c(其它Oracle版本不支持)
确保关系型数据库部署完成后,连接到数据库服务进行数据库新建和SQL初始化:
1、创建名为ai_manager的数据库,以下提供不同数据库的建库语句:
-- 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
2、向ai_manager数据库导入CoMi初始化脚本:
数据库脚本位于ComiBuilder-Manager部署包中,A6版本与其它版本初始化脚本不同,根据实际情况选择正确的初始化脚本:
初始化SQL脚本按不同数据库进行了分类,根据项目实际情况选择对应数据库的初始化脚本。
确定产品线、数据库,找到正确的数据库初始化SQL后,将SQL导入上一步创建的ai_manager
数据库中,确保数据库下有对应初始化表。
# 三、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,通过如下命令测试有输出结果则说明启动成功,注意通过防火墙开通端口访问权限:
netstat -ntlp | grep 6333
netstat -ntlp | grep 6334
同时,还可以在服务器上,通过 curl http://qdrant服务IP地址:6333
命令,检查如果有结果返回也说明启动成功。
# 方案二:qdrant docker部署(ARM架构)
如果是ARM架构,需要在Docker下部署qdrant。
1、卸载podman(麒麟系统必做)
麒麟系统自带的podman模块需要卸载,执行 apt remove podman
或 yum remove podman
即可(哪个成功就用哪个),不做本步骤,后续部署会失败!
2、部署qdrant前,需要自行在操作系统下部署docker,参考手册《安装部署Docker(二进制包方式) (opens new window)》。
3、从提供的部署包下载地址中获取arm架构的qdrant镜像(qdrant_v1.13.6.tar.gz)
# 自行将qdrant_arm的qdrant_v1.13.6.tar.gz上传到服务器上指定目录,比如放到/data/qdrant_arm下:
mkdir -p /data/qdrant_arm
mv qdrant_v1.13.6.tar.gz /data/qdrant_arm
# 然后到data目录通过docker load镜像
cd /data/qdrant_arm
# 加载qdrant镜像
docker load -i qdrant_v1.13.6.tar.gz
# 创建qdrant目录
mkdir /data/qdrant-1.13.6
# 运行服务
docker run -d --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
docker ps -a
qdrant默认占用端口6333、6334,通过如下命令测试有输出结果则说明启动成功,注意通过防火墙开通端口访问权限:
netstat -ntlp | grep 6333
netstat -ntlp | grep 6334
同时,还可以在服务器上,通过 curl http://qdrant服务IP地址:6333
命令,检查如果有结果返回也说明启动成功。
# 四、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.171: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并启动
# 配置OA
完成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支持范围内。
# 六、Comi核心服务部署
请__按顺序依次部署__ComiBuilder相关服务:AI-Manager、AI-Engine、AI-Security
# 部署AI-Manager
AI-Manager负责各项功能资源的配置以及工具和大模型的调用。
AI-Manager依赖JDK版本>=17,已内置x86 JDK,特殊芯片服务器需手动替换
1、创建安装目录
# 创建安装包存放路径
mkdir /data/Seeyon/Comi/seeyon_packages/ai-manager -p
# 创建AI-Manager最终程序目录
mkdir /data/Seeyon/Comi/app/ai-manager -p
2、将AI-Manager(与产品线相匹配的)安装包上传到/data/Seeyon/Comi/seeyon_packages/ai-manager 目录:
注意:
- ai-manager-linux.zip 对应企业线X86的Linux包
- ai-manager-linux-gov.zip 对应政务线X86的Linux包(仅预制模板不同)
- ai-manager-linux-arm.zip 无论企业还是政务,ARM都用这个包
以下以“ai-manager-linux.zip”为例!
# 可以用mv命令,也可以自行直接上传到目标目录
mv ai-manager-linux.zip /data/Seeyon/Comi/seeyon_packages/ai-manager
3、将部署包 ai-manager-linux.zip 解压至 /data/Seeyon/Comi/app/ai-manager/
unzip /data/Seeyon/Comi/seeyon_packages/ai-manager/ai-manager-linux.zip -d /data/Seeyon/Comi/app/ai-manager/
解压后/data/Seeyon/Comi/app/ai-manager下多了一层目录ai-manager-linux,需要将ai-manager-linux下的所有文件剪切到app/ai-manager目录下:
# 将 ai-manager-linux 下的所有文件和目录剪切到上级目录
mv /data/Seeyon/Comi/app/ai-manager/ai-manager-linux/* /data/Seeyon/Comi/app/ai-manager/
# 删除空的 ai-manager-linux 目录
rmdir /data/Seeyon/Comi/app/ai-manager/ai-manager-linux
4、修改配置文件
# 到AI-Manager目录下修改配置文件
cd /data/Seeyon/Comi/app/ai-manager
vim application.yaml
server:
# (可选修改)监听端口,默认为:8181
port: 8181
tomcat:
connection-timeout: 600000
spring:
servlet:
multipart:
enabled: true #是否启用http上传处理
max-file-size: 100MB #设置单个文件最大长度
max-request-size: 500MB #最大请求文件的大小
mvc:
static-path-pattern: /ai-static/**
web:
resources:
# (需修改)静态资源路径,必须指定到ai-manager程序运行目录下,如按手册部署必须将默认值app/ai_manager改成app/ai-manager
static-locations: file:/data/Seeyon/Comi/app/ai-manager/frontend,file:/data/Seeyon/Comi/app/ai-manager/static/
logging:
level:
root: info
seeyon:
application:
name: ai-manager
ai:
# (需修改)数据源配置,对应前面CoMi数据库初始化章节的数据库,不同数据库配置不同,参考下方【数据源类型配置参考】说明设置
datasource:
url: jdbc:mysql://192.168.0.92:3342/ai_manager
username: root
password: Seeyon123
# agent引擎服务配置
websocket:
# (需修改)ai-engine 服务管理通道,修改其中的ip和端口
manageUrl: ws://192.168.0.171:8000/agent/services
# (需修改)ai-engine 服务消息通道,修改其中的ip和端口
messageUrl: ws://192.168.0.171:8000/agent/msg
# (需修改)ai-security 敏感词消息通道,修改其中的ip和端口
sensitiveUrl: ws://192.168.0.171:9000/sensitive/services
token: ai-engine
# 向量数据库配置,修改为实际部署的qdrant地址和端口
vector-store:
engine: qdrant
# (需修改)Qdrant服务IP地址
host: 192.168.0.171
port: 6334
common:
# (需修改)文件临时存储的路径,如按手册部署必须将默认值app/ai_manager改成app/ai-manager
filePath: /data/Seeyon/Comi/app/ai-manager/temp
# (需修改)修改为ai_manager服务器的IP(ai_manager端口默认8181)
baseUrl: http://192.168.0.171:8181/ai-manager
# (需修改)集成v5时,注意修改为Nginx代理后的v5的访问地址和端口
v5Address: http://192.168.0.171:80
# (需修改)集成v8时,修改为v8的访问地址和端口,v5客户请忽略
v8Address: http://127.0.0.1:81
encryRequired: false
commonFileSuffixes: txt,md,markdown,rtf,zip,rar,7z,tar,gz,jpg,jpeg,png,gif,bmp,tiff,tif,webp,doc,docx,xls,xlsx,pdf,rep,csv,json
# OcrUrl配置当前无需修改,保持默认配置
oaOcrUrl: http://172.31.15.186:12841/ocr/pic/get_all_text
v8OcrUrl: http://192.168.80.41:8666/udc/recognize
knowledge-source-chunk-max-size: 10
数据源类型配置参考:
# 达梦数据库示例配置:
datasource:
url: jdbc:dm://127.0.0.1:5237/ai_manager
username: db_user
password: db_password
# 人大金仓数据库示例配置:
datasource:
url: jdbc:kingbase8://127.0.0.1:54323/ai_manager
username: db_user
password: db_password
# postGreSql数据库示例配置:
datasource:
url: jdbc:postgresql://127.0.0.1:5432/ai_manager
username: db_user
password: db_password
# sqlServer数据库示例配置:
datasource:
url: jdbc:sqlserver://127.0.0.1:1433;database=ai_manager
username: sa
password: Seeyon@123456
# oracle 数据库示例配置:
datasource:
url: jdbc:oracle:thin:@127.0.0.1:1521/SEEYONDB
username: AI_MANAGER
password: Seeyon123456
5、启动服务: 部署完成后启动服务:
cd /data/Seeyon/Comi/app/ai-manager
# 添加执行权限
chmod +x jdk/bin/*
chmod +x *.sh
# 启动服务
bash startup.sh
# 查看控制台日志,如有明显异常,需要主动分析原因
tail -f nohup.out
# 检查服务是否启动一:查看ai-manger的java进程是否存在
ps -ef | grep java
# 检查服务是否启动二:检查端口是否拉起(默认端口8181)
netstat -ntlp | grep 8181
# 停止服务(如需重启,就先停止再启动)
bash shutdown.sh
6、启动服务需要一定时间,大约1分钟之后,通过 http://Manager服务器地址:8181
测试服务是否能访问,如无法访问,则需要通过日志分析原因。
注意:AI-Manager服务的端口(默认8181)需要防火墙放开访问权限。
sudo firewall-cmd --permanent --add-port=8181/tcp
sudo firewall-cmd --reload
7、检查AI-Manager服务是否运行正常:
登录协同OA系统管理员(分保插件模式下,是在安全管理员)后台,访问CoMi Builer菜单,如能显示内容,则说明部署配置正常:
如访问CoMi Builer菜单页面无法正常显示,则重点排查:
- Nginx是否已经按要求配置
- ai-manager/application.yaml下的[static-locations]前端资源路径是否正确设置在ai-manager程序路径下
- ai-manger的日志是否启动失败
# 获取ComiBuilder API Key
登录协同OA系统管理员(分保插件模式下,是在安全管理员)后台,访问CoMi Builer菜单-服务页签,点击创建API Key:
为AI-Engine服务创建一个API Key:
复制创建的api key,后续章节需要使用:
# 后台新增模型
此步必做,参考《CoMi模型配置操作手册 (opens new window)》进行CoMi依赖的模型参数配置和默认模型设置。
# 部署AI-Engine
AI-Engine负责agent调度,编排。
1、创建AI-Engine安装目录:
# 创建安装包存放路径
mkdir -p /data/Seeyon/Comi/seeyon_packages/ai-engine
# 创建AI-Engine最终运行目录
mkdir -p /data/Seeyon/Comi/app
2、将ComiBuilder-Engine目录下(与当前操作系统相匹配)的安装包上传到/data/Seeyon/Comi/seeyon_packages/ai-engine目录:
如当前操作系统无匹配的安装包,则默认取centos8尝试
# 可以用mv命令,也可以自行直接上传到目标目录
mv agent_packages.tar.gz miniconda.tar seeyonagents.tar.gz /data/Seeyon/Comi/seeyon_packages/ai-engine/
3、上传后,将seeyonagents.tar.gz解压到 /data/Seeyon/Comi/app
cd /data/Seeyon/Comi/seeyon_packages/ai-engine
tar -xzvf seeyonagents.tar.gz -C /data/Seeyon/Comi/app
4、执行环境配置脚本
cd /data/Seeyon/Comi/app/seeyonagents
bash service_env_install.sh -p /data/Seeyon/Comi/seeyon_packages/ai-engine -c /data/Seeyon/Comi/miniconda3
看到“Miniconda3和依赖包安装配置完成!”提示表示安装成功。
5、配置 .env_llm.yaml
cd /data/Seeyon/Comi/app/seeyonagents
# 重命名隐藏文件为env_llm.yaml
mv .env_llm.example.yaml .env_llm.yaml
# 修改配置文件,内容如下
vim .env_llm.yaml
对“需修改”选项进行配置调整:
# 所有第三方模型都需要接入Comi builder
# Comi builder 配置,没有注释“需修改”的都不要动
ai_manager:
api_type: "openai"
api_version: ""
model: ""
# (需修改) AI Manager服务地址,默认端口8181,以/v1后缀结束
base_url: "http://192.168.0.171:8181/v1"
# (需修改) 对应 “获取ComiBuilder API Key” 章节下的apikey,注意这个apikey不是大模型的apikey
api_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
# Embedding 向量模型配置
ai_embedding:
api_type: "openai"
api_version: ""
model: ""
# (需修改) AI Manager服务地址,默认端口8181,以/v1后缀结束
base_url: "http://192.168.0.171:8181/v1"
# (需修改) 对应 “获取ComiBuilder API Key” 章节下的apikey,注意这个apikey不是大模型的apikey
api_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
# (需修改) 对应ComiBuilder模型管理页面下向量模型的“模型标识”
embedding_model: "text-embedding-v4"
embedding_dimensions: 1024
6、配置.env
cd /data/Seeyon/Comi/app/seeyonagents
# 重命名隐藏文件为.env
mv .env.example .env
# 修改.env文件
vim .env
对“需修改”选项进行配置调整:
# (可选修改)配置运行端口,默认为8000
SEEYON_AGENTS_SERVER_PORT=8000
SEEYON_AGENTS_MAX_WORKERS=200
SEEYON_AGENTS_RESTORE_SESSION=True
# (需修改)日志路径替换为实际路径
SEEYON_AGENTS_LOGS_ROOT=/data/Seeyon/Comi/app/seeyonagents/logs
# (需修改)Temp_Data路径替换实际路径
SEEYON_AGENTS_TEMP_DATA_PATH=/data/Seeyon/Comi/app/seeyonagents/data
SEEYON_AGENTS_LOG=INFO
# 配置向量库
SEEYON_AGENTS_VECTORSTORE_TYPE=qdrant
# (需修改)这里配置qdrant向量库的http地址,默认端口6333
SEEYON_AGENTS_VECTORSTORE_URL=http://192.168.0.171:6333
SEEYON_AGENTS_VECTORSTORE_EMBEDDING_LLM=ai_embedding
SEEYON_AGENTS_LOGS_FILESIZE=20
# 开启多进程,默认不开启,高并发用户建议开启
# SEEYON_AGENTS_MAX_PROC_NUM=4
TIKTOKEN_CACHE_DIR=./tiktoken_cache
7、启动服务:部署配置完成后启动服务
cd /data/Seeyon/Comi/app/seeyonagents
# 添加执行权限
chmod +x *.sh
# 启动服务
bash start.sh
# 检查服务是否启动使用如下命令,其中8000为AI-Engine默认端口,对应.env中的端口配置
netstat -ntlp | grep 8000
# 如存在类似如下输出结果,则说明服务启动成功
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 7661/python
# 停止服务(如需重启,就先停止再启动)
bash stop.sh
注意:如CoMi采用多服务器分离部署,AI-Engine服务的端口(默认8000)需要防火墙放开访问权限。
# 部署AI-Security
AI-Security负责敏感词检测拦截功能。
1、创建安装目录
# 创建安装包存放路径
mkdir -p /data/Seeyon/Comi/seeyon_packages/ai-security
# 创建AI-Security最终程序父目录
mkdir -p /data/Seeyon/Comi/app
2、将ComiBuilder-Security目录下(与当前操作系统相匹配)的安装包上传到/data/Seeyon/Comi/seeyon_packages/ai-security 目录
如当前操作系统无匹配的安装包,则默认取centos8尝试
# 可以用mv命令,也可以自行直接上传到目标目录
mv ai-security-service.tar.gz miniconda.tar sensitive_packages.tar.gz /data/Seeyon/Comi/seeyon_packages/ai-security/
3、将ai-security-service.tar.gz解压到 /data/Seeyon/Comi/app
tar -xzvf /data/Seeyon/Comi/seeyon_packages/ai-security/ai-security-service.tar.gz -C /data/Seeyon/Comi/app
4、执行环境配置脚本
cd /data/Seeyon/Comi/app/ai-security-service
chmod +x *.sh
bash service_env_install.sh -p /data/Seeyon/Comi/seeyon_packages/ai-security -c /data/Seeyon/Comi/miniconda3
看到“Miniconda3和依赖包安装配置完成!”提示表示安装成功。
5、配置 .env
cd /data/Seeyon/Comi/app/ai-security-service
# 重命名.env配置
mv .env.example .env
# 修改.env文件
vim .env
.env配置内容如下:
# 服务运行IP,默认0.0.0.0,勿动
SERVER_HOST=0.0.0.0
# 服务运行端口,按需配置
SERVER_PORT=9000
# 日志目录,存放于ai-security运行程序下的logs子目录
LOG_PATH=/data/Seeyon/Comi/app/ai-security-service/logs
# 日志级别,可选:DEBUG, INFO, WARNING, ERROR
LOG_LEVEL=INFO
7、启动服务:部署完成后启动服务。
cd /data/Seeyon/Comi/app/ai-security-service
# 添加执行权限
chmod +x *.sh
# 启动服务
bash start.sh
# 检查服务是否启动使用如下命令,其中8000为AI-Engine默认端口,对应.env中的端口配置
netstat -ntlp | grep 9000
# 如存在类似如下输出结果,则说明服务启动成功
tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 2925/python3.10
# 停止服务(如需重启,就先停止再启动)
bash stop.sh
注意:如CoMi采用多服务器分离部署,AI-Security服务的端口(默认9000)需要防火墙放开访问权限。
# 复核AI-Manager配置
所有服务部署完成后,再次对ai-manager的 【修改application.yaml】 章节进行参数调整。
重点检查application.yaml中的manageUrl、messageUrl、sensitiveUrl地址是否正确。调整后,需要重启Manager服务。
# agent引擎服务配置
websocket:
# (需修改)ai-engine 服务管理通道,修改其中的ip和端口
manageUrl: ws://192.168.0.171:8000/agent/services
# (需修改)ai-engine 服务消息通道,修改其中的ip和端口
messageUrl: ws://192.168.0.171:8000/agent/msg
# (需修改)ai-security 敏感词消息通道,修改其中的ip和端口
sensitiveUrl: ws://192.168.0.171:9000/sensitive/services
# 七、初始化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-1.13.6/config.yaml
,如需要修改监听端口,可调整此配置,注意调整后还需要修改ComiBuilder对应服务的qdrant配置。
# AI-Engine启停和维护
AI-Engine启停:
cd /data/Seeyon/Comi/app/seeyonagents
# 添加执行权限
chmod +x *.sh
# 启动服务
bash start.sh
# 停止服务
bash stop.sh
AI-Engine日志: 存放于app/seeyonagents/logs下,按日期分布:
AI-Engine配置: engine的配置参考【修改.env_llm.yaml和.env配置】章节进行参数调整。调整后,需要重启Engine服务。
# AI-Security启停和维护
AI-Security启停:
cd /data/Seeyon/Comi/app/ai-security-service
# 添加执行权限
chmod +x *.sh
# 启动服务
bash start.sh
# 停止服务
bash stop.sh
AI-Security日志: 存放于app/ai-security-service/logs下:
AI-Security配置: Security的配置参考【修改.env配置】章节进行参数调整。调整后,需要重启Security服务。
# AI-Manager启停和维护
AI-Manager启停:
cd /data/Seeyon/Comi/app/ai-manager
# 添加执行权限
chmod +x jdk/bin/*
chmod +x *.sh
# 启动服务
bash startup.sh
# 停止服务
bash shutdown.sh
# 查看控制台日志
tail -f nohup.out
AI-Manager日志: AI-Manger实时运行日志存放于app/ai-manager下的nohup.out里:
AI-Manger历史运行日志存放于app/ai-manager/logs里:
AI-Manager配置: Manager的配置参考【修改application.yaml】章节进行参数调整。调整后,需要重启Manager服务。
# 常见问题
如部署配置过程中遇到异常,参考《CoMi部署配置常见异常解决方案 (opens new window)》中的问题现象和解决方案排查解决。
