# 致远新一代智能体产品家族CoMi V1.0安装部署手册

本手册适用于CoMi产品安装部署维护

2025年6月

# 修订记录

修订内容 修订时间
统一名词解释 2025-7-2
新增协同OA低版本支持的清单 2025-6-3
新增CoMi 1.0安装部署手册 2025-5-22

# 在线化资料支持

手册存在不定期更新,为了方便您获取最新资料,本手册在致远开放平台也放置了一份,建议您收藏以下地址,并尽量使用在线手册以获得最新的部署信息:https://open.seeyoncloud.com/#/faq/vuepressFile/v1/share?url=Z2ptZkplPjM2NjM= (opens new window)

# 环境准备

# 适配协同版本

本组件适配以下协同OA版本,并且需要按要求打对应补丁包:

版本 支持的BuildID 插件部署方式
V9.0SP1 BuildID为20250518版本及以上(更早期BuildID不支持) 安装升级,不涉及额外补丁
V8.2SP1 B240705.143211.CTP163800112 补丁
V8.2 B230831.000206.CTP96061989 补丁
V8.1SP2 B230116.170509.CTP43833697 补丁
V8.1SP1 B220830.182158.CTP23069290 补丁
V8.1 B220318.183029.CTP990705 补丁
V8.0SP2LTS B220826.110814.CTP8828883 补丁
V8.0SP2 B210518.144014.CTP3994 B202105181438 补丁
V8.0SP1 B200822.2878.CTP210479 补丁
V8.0 B200613.2565.CTP203851 补丁

注意:

  • 标注“支持的BuildID”为测试通过的版本ID

  • 同版本其它BuildID未经测试,不确定是否可用

  • 补丁包通过公司系统搜索“产品重要更新发布单-OA低版本CoMi支持”关键字获取。

# 依赖商务授权

使用本组件,需要如下授权信息:

编号 授权信息 获取路径
1 CoMi智能体套件(CoMi运行引擎、CoMi超级入口、CoMi标准智能体) 致远商务侧下单申请,计价规则见商务报价

# 环境要求

分类 支持情况
权限要求 需要以管理员(root)权限操作
支持操作系统 CentOS 7、CentOS 8
RedHat 7、RedHat 8
openEuler
Anolis 8.10
Ubuntu 22.04 LTS
服务器类型 x86

注意:

  • 暂不支持信创操作系统、信创芯片(如项目有信创部署需求,请走原型用户申请流程)
  • 不支持Windows Server

# 运行环境及配置

以下是CoMi运行环境所需的组件,需要按照要求进行部署:

依赖组件 版本 端口 资源配置 说明
Nginx 选择较新版本 按需 CPU>=2C/内存>=4G/磁盘100G 必须,代理各服务请求,与协同使用的Nginx共用
向量数据库qdrant 1.13.6或以上 6333(HTTP)、6334(gPRC) CPU>=4C/内存>=8G/磁盘200G 需优先安装,AI-Manager、AI-Engine依赖此组件,部署包已内置
关系型数据库 支持范围见部署章节 - CPU>=4C/内存>=8G/磁盘200G AI-Manager依赖此组件,可共用协同的数据库服务(针对AI新建一个表空间/数据库)
JDK jdk17或以上 - - AI-Manager已内置x86 JDK,特殊芯片服务器需手动替换
AI-Engine v1.0 8000 CPU>=4C/内存>=8G/磁盘200G 引擎服务,执行Agent智能体语义理解、调用执行逻辑
AI-Security v1.0 9000 CPU>=4C/内存>=8G/磁盘200G 安全服务,提供敏感词检测等安全策略的控制
AI-Manager v1.0 8181 CPU>=4C/内存>=16G/磁盘200G 管理服务,提供CoMi平台的维护管理及配置功能
Embedding模型 - - 支持公有云模型或私有模型(以模型专业厂商方案为准) 通用文本向量模型,将高维离散数据(如文本)转换为低维连续向量的模型服务,与qdrant搭配。
LLM大语言模型 - - 支持公有云大模型、私有模型(以大模型专业厂商方案为准) 符合openAI接口规范的大模型,如DeepSeek、千问、gpt等大语言模型,用于接收问题并通过模型内部运算给出问题回复
协同主服务 参考“适配协同版本”章节 - 老客户已部署协同无需增配;
全新客户参考协同部署手册准备资源
CoMi依赖协同产品平台运行,故需要V5协同主服务或V8协同主服务。

注意:

  • CoMi V1.0运行环境建议独立部署(不与协同部署在一个服务器),需要至少一台服务器,硬件资源是组件资源配置的总和。
  • 必须使用Nginx:由于CoMi前端会使用协同OA的用户身份信息(Session),基于浏览器的同源策略要求,必须使协同OA和Comi服务在同一个域内(协议、域名、端口一致)。因此,必须使用Nginx将协同OA和CoMi相关服务放在同一server段中代理。
  • 以上清单为CoMi V1.0服务器配置,随着CoMi版本升级,功能增强,服务器所需配置可能增加,建议在CoMi V1.0总配置基础上再预留足够多的硬件资源,为CoMi升级版本扩展服务准备(已知下版本: ComiServer:最低4c8g,协同驾驶舱BI: 8c16g + pg数据库4c8g)。
  • LLM大语言模型、Embedding文本向量模型涉及复杂的技术架构和高配置要求,需要客户单独采购,由专业厂商提供服务器和配置推荐,或使用公有云模型。
  • 公司战略合作与生态产品团队与模型专业供应商有建联,推出了<致远COMI一体机解决方案-本地大模型>方案,如客户需要我们代采,可与生态团队联系询价。<致远COMI一体机解决方案-本地大模型>方案除了内置LLM大语言模型外,还可以要求厂商预装Embedding基座模型Deepseek-v3-0324Beg-large-zh-1.5或bge-m3。

# 服务器部署规划示例

如客户服务器有限,可以参考如下规划部署服务:

服务器 部署服务
服务器1 协同服务、Nginx服务
服务器2 数据库服务
服务器3 qdrant、AI-Engine、AI-Security、AI-Manager
Embedding文本向量模型(如bge-m3)
LLM大语言模型(私有大模型由第三方专业厂商给方案)

注意:

  • 多个服务部署在一台服务器,所需资源是每个组件服务的总和,如部署CoMi V1.0的“服务器3”资源理论是:4C/8G+4C/8G+4C/8G+4C/16G=16核心40G内存以上。
  • 本规划仅做参考,不是绝对要求,项目上可根据用户实际服务器资源做规划。

# 网络架构图

# 简单部署模式

客户端、协同OA与CoMi相关服务的交互关系如下图所示:

1751448303228.png

注意:

协同服务访问公网云服务接口说明:安全助理智能体会定期采集外部热门威胁情报,需要添加网络白名单的地址:

(1) 致远官方漏洞库查询接口:https://service.seeyon.com

(2) 国际漏洞库CVE查询工具 :https://www.cve.org;https://cveawg.mitre.org 详细说明见《CoMi用户操作手册》。

# 高可用部署模式

CoMi暂不支持高可用部署模式

# CoMi部署步骤

# 总体步骤

CoMI总体执行步骤为:客户提前准备大模型==>初始化CoMi数据库==>部署qdrant向量数据库==>部署配置Engine服务==>部署配置Security服务==>部署配置Manager服务==>部署配置Nginx==>更新授权重启协同==>协同获取API KEY==>二次配置重启Engine==>协同配置大模型==>协同智能体应用初始化==>应用授权用户使用。

# 下载CoMi部署包

从商务公布的安装程序下载地址(产品线为AI)下载CoMi部署包,将部署包上传至CoMi应用服务器。部署包主要包含如下内容:

1748230450101.png

注:安装包名ComiBuilder-Engine也叫AI-Engine,AI-Manager、AI-Security同理。

CoMi迭代速度较快,建议不要留存旧版本部署包,每次部署前均从商务地址下载最新的安装包,以获得最新的产品能力。

# (必须)操作系统环境配置调整

在进行安装部署前,先按照如下配置优化Linux相关系统参数:

修改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 -n 65535  # 设置最大打开文件数量
ulimit -u 65535  # 设置最大进程数

以上配置完成,重启操作系统,执行 ulimit -a 命令检查open files和max user processes是否都变成65535

# 一、大模型准备和调试

部署前,需要客户提前准备产品适配范围内的大模型。

# 1-1、准备LLM大语言模型

产品依赖LLM大语言模型进行提示词的智能分析,公有云和私有化均支持。

LLM大语言模型要求符合openAI接口规范(如DeepSeek、千问、gpt-4o等),对于不符合该规范的模型需要单独适配。

# 方案一:公有云大模型

如用户使用公有云LLM大语言模型,需要用户自行选择公有云平台、注册帐号、申请使用什么模型、获取模型的请求接口和api key信息。

本章节以阿里云百炼平台举例(用户也可以选用其他公有云平台或Deepseek官方接口)。

1、先访问百炼平台官网 https://bailian.console.aliyun.com/ 使用阿里系的帐号登录官网

2、通过模型广场找到需要接入的大模型:

1741938098339.png

3、访问大模型的API调用示例,参考下图指引就能获得有效的base url、APIKey、model模型名称,并且在Linux测试:

1741940386996.png

4、curl测试命令

# 将命令中的3个参数(Base url、模型名称、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谁大\"}]}"

# 上述命令中的参数
# Base URL:对应 https://dashscope.aliyuncs.com/compatible-mode(取curl地址/v1/chat/前面的路径)
# model模型名称:对应curl中"model"的值,如本示例的deepseek-v3
# API Key:取百炼官网个人的API KEY,取本示例 Authorization: Bearer 后面这段内容

扩展资料:

  • 其它公有云大模型自行参考模型官网的手册
  • DeepSeek多平台接入方式-百度 阿里 抖音 硅基流动 https://www.bilibili.com/video/BV1PLN9ecEws
  • 阿里云错误码地址(排查问题用)https://help.aliyun.com/zh/model-studio/developer-reference/error-code
# 方案二:私有化大模型

用户也可以选择私有化部署LLM大语言模型,需要客户联系专业大模型厂商进行私有化部署,并且大模型必须遵守openAI接口规范。

如用户已经准备好私有大模型,让客户提供CURL测试命令。或者参考如下测试命令格式(注意这个命令里面的URL、model等信息要调整成客户自己的),确保测试通过再进行后续部署操作:

  • 如果私有模型curl带有API KEY
# 注意这个CURL只是示例,项目上需要修改为客户的请求URL、$DASHSCOPE_API_KEY改成实际的API KEY、model的值改成用户提供的模型名称
curl -X POST http://10.1.131.174:11434/v1/chat/completions -H "Authorization: Bearer $DASHSCOPE_API_KEY" -H "Content-Type: application/json" -d "{\"model\": \"deepseek-r1:32b\",\"messages\": [{\"role\": \"user\",\"content\": \"9.9和9.11谁大\"}]}"

# 上述命令中的参数
# Base URL:对应http://10.1.131.174:11434(取curl地址/v1/chat/前面的路径)
# model模型名称:对应curl中"model"的值,如本示例的deepseek-r1:32b
# API Key:取本示例 Authorization: Bearer 后面这段内容
  • 不带API KEY
# 注意这个CURL只是示例,项目上需要修改为客户的请求URL、model的值改成用户提供的模型名称
curl -X POST http://10.1.131.174:11434/v1/chat/completions -H "Content-Type: application/json" -d "{\"model\": \"deepseek-r1:32b\",\"messages\": [{\"role\": \"user\",\"content\": \"9.9和9.11谁大\"}]}"

# Base URL:对应`http://10.1.131.174:11434(取curl地址/v1/chat/前面的路径)
# model模型名称:对应curl中"model"的值,如本示例的 deepseek-r1:32b

总结:在进行后续部署之前,务必先确保大模型已经准备到位,并且通过curl能测通,能根据curl获取base url、model、api-key这几个重要的参数!

# 1-2、准备Embedding模型

产品依赖文本向量Embedding模型将文本转换为高维向量结构,最后存储到qdrant向量数据库中。Embedding模型支持公有云和私有化任何一种。

# 方案一:公有云Embedding模型

这里以阿里云百炼平台接入Embedding模型为例:

1、先访问百炼平台官网 https://bailian.console.aliyun.com/ 使用阿里系的帐号登录官网

2、进入模型广场,可以选择向量模型,通用文本向量-v3,点击API参考

1747706135455.png

3、获取模型名、Base url、API KEY

1747706686918.png

注意:

  • 阿里云百炼base url统一为:https://dashscope.aliyuncs.com/compatible-mode (不包含 /v1 这一截)
  • 模型名: text-embedding-v3
  • API KEY : 点击 获取API Key 中创建并复制值
# 方案二:私有化Embedding模型

正常情况客户采购了LLM模型一体机方案时,厂商会附带Embedding基座模型。如客户没有私有化模型,可参照开源方案:ollama+bge-m3。私有化模型所需服务器资源较多,请提前准备满足要求的服务器(需要配备显卡以及与显卡驱动相匹配的Linux系统)。

ollama+bge-m3要求GLIBC版本大于等于 3.4.25 (版本查看命令:ldd --version)

ollama+bge-m3系统要求:ubuntu22.04lts、ubuntu24.04lts

1、在Comi部署包中找到base_model目录,将以下3个文件下载并上传到服务器的 /data/Seeyon/Comi/base_model目录

  • ollama.tar.gz
  • bge_m3_Modelfile
  • bge-m3.tar.gz

2、部署ollama,将其部署在统一的目录(/data/Seeyon/Comi):

# 创建统一的维护目录
mkdir -p /data/Seeyon/Comi/base_model
# 将部署包放置到统一维护目录,除了mv命令,也可以直接上传到维护目录
mv ollama.tar.gz bge_m3_Modelfile bge-m3.tar.gz /data/Seeyon/Comi/base_model/

# 切换到维护目录,进行解压等操作
cd /data/Seeyon/Comi/base_model
# 解压ollama二进制包到/usr/bin/下
tar -zvxf ollama.tar.gz -C /usr/bin/
# 授权可执行权限
chmod +x /usr/bin/ollama

# 设置环境变量,配置监听地址,默认只监听127.0.0.1:11434
echo "export OLLAMA_HOST=0.0.0.0:11434" >> /etc/profile
source /etc/profile

# 启动ollama
nohup ollama serve > /data/Seeyon/Comi/base_model/ollama.log 2>&1 &

# 查看模型
ollama list

3、加载模型

cd /data/Seeyon/Comi/base_model
# 将模型离线包文件放到ollama临时目录
tar -zxvf bge-m3.tar.gz -C /root/.ollama/models/blobs/

# 加载模型 bge-m3,仅部署时执行一次,后续不需要再执行
ollama create bge-m3 -f /data/Seeyon/Comi/base_model/bge_m3_Modelfile

# 查看是否会显示bge-m3
ollama list

4、后续接入Embedding模型时,base url为: http://私有化Embedding模型服务器IP:11434 ,模型名为:bge-m3:latest

5、通过CURL命令测试私有化Embedding模型是否生效,取如下命令将http://192.168.94.130:11434修改为项目上私有化服务器的正确地址再运行:

curl --location 'http://192.168.94.130:11434/v1/embeddings' \
--header 'Content-Type: application/json' \
--data '{
    "model": "bge-m3:latest",
    "input": "风急天高猿啸哀,渚清沙白鸟飞回,无边落木萧萧下,不尽长江滚滚来",
    "dimension": "1024",
    "encoding_format": "float"
}'

如下看到正确输出结果表示部署成功:

1748332127387.png

# 二、CoMi数据库初始化

在部署组件服务前需要先准备一个关系型数据库,用于存储CoMi的数据,关系型数据库可以复用协同的数据库服务(针对AI新建一个表空间/数据库)。CoMi支持的数据库版本要求:

  • mysql5.7、mysql8.0
  • 达梦8.4
  • 人大金仓(电科金仓)V8R6(Oracle兼容模式)
  • postgreSQL 13.3
  • sqlServer 2019
  • oracle 19c

确保关系型数据库部署完成后,连接到数据库服务进行数据库新建和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版本与其它版本初始化脚本不同,根据实际情况选择正确的初始化脚本:

1748230995591.png

初始化SQL脚本按不同数据库进行了分类,根据项目实际情况选择对应数据库的初始化脚本:

1748231092378.png

确定产品线、数据库,找到正确的数据库初始化SQL后,将SQL导入上一步创建的ai_manager数据库中,确保数据库下有对应正确的数据。

# 三、qdrant向量库部署

qdrant是开源的向量数据库,用于存储高维向量数据供AI使用。本章节提供两种部署方案,二选一。

官方文档:https://qdrant.tech/documentation/quickstart/

# 方案一:qdrant二进制部署

建议优先使用方案一。

从提供的部署包下载地址中获取qdrant离线包和配置文件,上传到服务器并解压(注意选择与系统架构一致的包)

# 创建Qdrant的维护目录
mkdir /data/qdrant -p
# 将Qdrant压缩包解压到维护目录
tar -zvxf qdrant-x86_64-unknown-linux-musl.tar.gz -C /data/qdrant

启动qdrant:

# 创建配置目录
mkdir -p /data/qdrant/config
# 将下载的配置文件config.yaml上传到 /data/qdrant/config 目录下,可以mv,也可以自行直接上传到目标目录
mv config.yaml /data/qdrant/config
# 执行启动命令
cd /data/qdrant
nohup ./qdrant >> qdrant.log 2>&1 &

测试向量库可用性:在服务器上,通过 curl http://向量库地址:6333 命令,检查如果有结果返回则说明启动成功。

# 方案二:qdrant docker部署

如客户想通过docker管理qdrant,需提前部署好docker服务,并且能通hub.docker.com拉取镜像

# 从Dockerhub拉取镜像
docker pull qdrant/qdrant

# 创建qdrant目录
mkdir /data/qdrant

# 运行服务
docker run --restart=unless-stopped --name qdrant \
    -p 6333:6333 -p 6334:6334 \
    -v "/data/qdrant/qdrant_storage:/qdrant/storage:z" \
    qdrant/qdrant

# 四、ComiBuilder相关服务部署

依次部署ComiBuilder相关服务:

# 部署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目录下的安装包 agent_packages.tar.gz、miniconda.tar、seeyonagents.tar.gz 上传到/data/Seeyon/Comi/seeyon_packages/ai-engine目录:

# 可以用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

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,如AI Manager尚未部署,可部署之后回来修改
  base_url: "http://192.168.0.171:8181/v1"
  # (需修改)AI Manager api_key,详细获取方法见后续章节,如AI Manager尚未部署,可部署之后回来修改,注意这个apikey不是大模型的apikey
  api_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

# Embedding 向量模型配置
ai_embedding:
  api_type: "openai"
  api_version: ""
  model: ""
  # (需修改)AI Manager服务地址,同上,默认端口8181,如AI Manager尚未部署,可部署之后回来修改
  base_url: "http://192.168.0.171:8181/v1"
  # (需修改)AI Manager api_key,同上,详细获取方法见后续章节,如AI Manager尚未部署,可部署之后回来修改,注意这个apikey不是大模型的apikey
  api_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  # (需修改)AI-Manager中接入的Embedding模型的名称,对应“准备Embedding模型”章节中的模型名称,如text-embedding-v3
  embedding_model: "XXXXXXXXXXXXXXXXX"
  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_DOCKER_RUN=False

# 配置向量库
SEEYON_AGENTS_VECTORSTORE_TYPE=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、启动服务:部署配置完成后,参考【启停AI-Engine】章节启动服务。

cd /data/Seeyon/Comi/app/seeyonagents
# 添加执行权限
chmod +x *.sh
# 启动服务
./start.sh
# 停止服务(如需重启,就先停止再启动)
./stop.sh

注意: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目录下的安装包 ai-security-service.tar.gz、miniconda.tar、sensitive_packages.tar.gz 上传到/data/Seeyon/Comi/seeyon_packages/ai-security 目录

# 可以用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 -R +x *.sh
bash service_env_install.sh -p /data/Seeyon/Comi/seeyon_packages/ai-security -c /data/Seeyon/Comi/miniconda3

5、配置 .env

cd /data/Seeyon/Comi/app/ai-security-service
# 重命名.env配置
mv .env.example .env
# 修改.env文件
vim .env

.env配置内容如下:

# (可选修改)服务配置,正常情况勿调整
SERVER_HOST=0.0.0.0   # 服务运行IP,默认0.0.0.0
SERVER_PORT=9000      # 服务运行端口,默认为9000

7、启动服务:部署完成后,参考【启停AI-Security】章节启动服务。

cd /data/Seeyon/Comi/app/ai-security-service
# 添加执行权限
chmod +x *.sh
# 启动服务
./start.sh
# 停止服务(如需重启,就先停止再启动)
./stop.sh

注意:AI-Security服务的端口(默认9000)需要防火墙放开访问权限。

# 部署AI-Manager

AI-Manager负责各项功能资源的配置以及工具和大模型的调用

1、创建安装目录

# 创建安装包存放路径
mkdir /data/Seeyon/Comi/seeyon_packages/ai_manager -p
# 创建AI-Manager最终程序目录
mkdir /data/Seeyon/Comi/app/ai_manager -p

2、将ComiBuilder-Manager安装包 ai_manager20250523_standard.zip 、CoMi-assistants.zip 上传到/data/Seeyon/Comi/seeyon_packages/ai_manager 目录:

# 可以用mv命令,也可以自行直接上传到目标目录
mv ai_manager20250523_standard.zip CoMi-assistants.zip /data/Seeyon/Comi/seeyon_packages/ai_manager

3、将部署包 ai_manager20250523_standard.zip 解压至 /data/Seeyon/Comi/app/ai_manager/

unzip ai_manager20250523_standard.zip -d /data/Seeyon/Comi/app/ai_manager/

解压后/data/Seeyon/Comi/app/ai_manager下多了一层目录ai_manager20250523_standard,需要将ai_manager20250523_standard下的所有文件剪切到app/ai_manager目录下:

# 将 ai_manager20250523_standard 下的所有文件和目录剪切到上级目录
mv /data/Seeyon/Comi/app/ai_manager/ai_manager20250523_standard/* /data/Seeyon/Comi/app/ai_manager/

# 删除空的 ai_manager20250523_standard 目录
rmdir /data/Seeyon/Comi/app/ai_manager/ai_manager20250523_standard

1747829865716.png

1747830060361.png

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
      max-file-size: 50MB
      max-request-size: 500MB
  mvc:
    static-path-pattern: /ai-static/**
  web:
    resources:
      # (需修改)静态资源路径,将 you_path 修改为 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:
    # (需修改)数据源配置,根据客户实际数据库信息修改,其他类型数据库见下文说明
    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
      # Qdrant服务端口
      port: 6334
    common:
      # (需修改)文件临时存储的路径
      filePath: /data/Seeyon/Comi/app/ai_manager/temp
      # (需修改)修改为ai_manager服务器的IP
      baseUrl: http://192.168.0.171:8181/ai-manager
      menus:
        - { "key": "bi-chart","label": "智能问数", "id": "1", "url": "http://nginx ip:端口/seeyon/bi/openbifromai.htm" }
      # (需修改)使用 admin 登录密码配置
      password: 123456
      # (需修改)集成v5时,注意修改为Nginx代理后的v5的访问地址和端口
      v5Address: http://192.168.0.171:8080
      # (需修改)集成v8时,修改为v8的访问地址和端口,v5客户请忽略
      v8Address: http://127.0.0.1:81
      commonFileSuffixes: txt,md,rtf,zip,rar,7z,tar,gz,jpg,jpeg,png,gif,bmp,tiff,tif,webp,doc,docx,xls,xlsx,pdf,rep,csv,json

数据源类型配置参考:

    # 达梦数据库示例配置:
    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、启动服务: 部署完成后,参考【启停AI-Manager】章节启动服务。

cd /data/Seeyon/Comi/app/ai_manager
# 添加执行权限
chmod +x jdk/bin/*
chmod +x *.sh

# 启动服务
./startup.sh
# 停止服务(如需重启,就先停止再启动)
./shutdown.sh

# 查看控制台日志
tail -f nohup.out

6、启动服务需要一定时间,大约1分钟之后,通过 http://Manager服务器地址:8181 测试服务是否能访问,如无法访问,则需要通过日志分析原因。

注意:AI-Manager服务的端口(默认8181)需要防火墙放开访问权限。

7、回到【AI-Engine配置.env_llm.yaml章节】base_url参数设置成AI-Manager的地址。配置完成后,参考【启停AI-Engine】章节重启服务。

1748251201977.png

8、服务升级(按需),如项目上已经部署了低版本的AI-Manager,现下载了更高版本的安装包,可以采用如下方式做升级:

 1. 执行命令  sh  shutdown.sh  停止当前ai-manager 服务

 2. 将以下资源进行备份:
  ai-manager-assemble-1.0.0.jar
  frontend
  static
 备份命令示例如下:
 mv ai-manager-assemble-1.0.0.jar  ai-manager-assemble-1.0.0.jarbak_当前日期
 mv frontend frontend_当前日期
 mv static static_当前日期

3. 将更新包中的 ai-manager-assemble-1.0.0.jar、frontend、static 文件放入ai-manager目录下进行替换

4. 执行 sh  start.sh 启动服务,等服务完全启动后进行验证即可

9、智能体应用预制包升级(按需),如项目上已经部署并初始化智能体应用,现在需要更新最新的智能体,可按如下方式操作:

将application.yaml中配置的{seeyon.ai.common.filePath}/transfer/assistant/preset路径下的所有文件清空。 下载CoMi-assistants-1.0Fix.zip 包,放至此目录并解压,然后重启ai-manager 初始化新的助手即可。

# 五、Nginx服务代理配置

由于CoMi前端会使用协同OA的用户身份信息(Session),基于浏览器的同源策略要求,必须使协同OA和Comi服务在同一个域内(协议、域名、端口一致)。因此,必须使用Nginx将协同OA和CoMi相关服务放在同一server段中代理。

# Nginx安装

如客户环境没有Nginx,则参考《Nginx源码编译安装手册 (opens new window)》进行编译安装。

# Nginx配置

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 8080;
    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.70:80 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;
}

4、检查配置并重新加载Nginx配置

# 检查配置是否正确(示例代码见截图)
./nginx -p nginx目录 -c nginx.conf配置文件路径 -t

# 重新加载配置,使配置生效(示例代码见截图)
./nginx -p nginx目录 -c nginx.conf配置文件路径 -s reload

1747843408678.png

# Nginx https配置

协同需要进行https访问,在Nginx协同server代码块中增加SSL配置并放置合规的证书,只要协同走https,Comi配置不做任何调整。

参考《反向代理OA配置https (opens new window)》进行https配置

vim nginx.conf

# comi start:增加AI-Manager的upstream配置
upstream ai_manager{
    # 这里IP端口指向AI-manager地址
    server 192.168.0.171:8181;
}
# comi end:增加AI-Manager的upstream配置

# 代理协同OA
server {
    # 设置ssl监听端口
    listen 443 ssl;
    server_name  xt.seeyon.com;
    # 配置ssl证书的公私钥文件
    ssl_certificate ssl/server.pem;
    ssl_certificate_key ssl/server.key;
    # TLS协议按需调整
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    charset utf-8;

    # comi start:关联comi配置文件
    include comi.conf;
    # comi end:关联comi配置文件
    ...
}
...

# 六、协同配置更新启动

协同侧加密授权需要包含CoMi相关插件,将授权seeyonkey更新到协同程序/base/license目录下。

1747892980933.png

CoMi相关服务部署后,修改协同OA部署目录下的 base/conf/plugin.properties 文件。修改配置后,需要重启协同OA才能生效!

# http://xt.seeyon.com:8080是Nginx代理协同OA的地址,请按照实际情况修改
ai.comibuilderServer=http://xt.seeyon.com:8080/seeyon/ai-platform/ai-manager/assistant/info/getAllRightsAssistant

也可以通过运行ApacheJetspeed/conf/SeeyonConfig.sh协同系统配置工具可视化修改:

如无相关配置,请检查是否存在CoMi授权插件,以及当前协同的BuildID在CoMi支持范围内,详见【适配协同版本】章节!如备注涉及打补丁,按照【适配协同版本】章节的注意事项下载安装补丁再进行配置。

1747905299387.png

首次更新CoMi插件并启动协同系统,可能遇到启动过程中卡住超过7分钟才完成的情况,这个是正常现象,thirdInterfaceFactory会连接互联网CVE等漏洞平台获取安全相关的信息,供安全助理智能体应用使用:

1747893055507.png

# 七、创建ComiBuilder API Key

确保协同系统启动后,协同系统管理员登录到后台,访问CoMi Builder菜单-服务页签,创建API Key:

如无相关菜单,请检查是否存在CoMi授权插件,以及当前协同的BuildID在CoMi支持范围内,详见【适配协同版本】章节!

1747845754552.png

为AI-Engine服务创建一个API Key:

1747846039198.png

拷贝创建的api key

1747846008781.png

回到【AI-Engine配置.env_llm.yaml章节】 将系统管理员创建的api key拷贝到配置文件中。配置完成后,参考【启停AI-Engine】章节重启服务。

1747846462310.png

# 八、初始化CoMi应用

# 接入模型配置

购买CoMi后,登录协同OA系统管理员后台,进入【CoMi】,【模型】,点击【接入模型维护

1747707301002.png

点击 "+" ,新建分类(分类名称可自定义)

1747847107311.png

再点击 "新增",新增模型,根据模型类型,选择LLM或者Embedding模型:

  • 分类没有特别意义,项目上可根据不同特性做规划
  • 必须至少新建一个LLM模型和一个Embedding模型,用于后面的数据初始化

1747847334164.png

1747847472350.png

再次点击模型栏,返回上一级,点击新增,填写模型完整信息,LLM和Embedding需要分别新增一个:

1747847830783.png

1747848013194.png

保存后,通过“测试”确保大模型的连接状态为“通过”:

1747893449550.png

# 初始化智能体应用

将ComiBuilder-Manager部署包中的CoMi-assistants.zip上传至服务器,并解压到 /data/Seeyon/Comi/app/ai_manager/temp/transfer/assistant/preset/目录下

/data/Seeyon/Comi/app/ai_manager/temp是AI-Manager服务的文件临时存储路径,配置文件中有指定

mkdir -p /data/Seeyon/Comi/app/ai_manager/temp/transfer/assistant/preset/
unzip CoMi-assistants.zip -d /data/Seeyon/Comi/app/ai_manager/temp/transfer/assistant/preset/

解压assistants智能体应用包后,需要重启AI-Manager服务,使数据加载生效: 部署完成后,可参考该章节启停和查看日志

1747882871727.png

解压assistants智能体应用包,并重启AI-Manager服务之后,登录协同OA系统管理员后台,访问CoMi Builder菜单-系统管理页签。

1、选择“数据初始化”:

如数据初始化页面的应用列表显示为空,可能原因:

  • 检查ai_manager/application.yaml配置文件中,“文件存储路径配置”参数是否未将/data/Seeyon/Comi/app/ai_manager/temp设置成文件临时存储路径。
  • 数据库不兼容导致初始化应用数据写入异常,需要检查ai_manager/nohup.out日志判断是否存在数据写入异常,如存在则做对应处置。

1747883197716.png

2、初始化数据配置填写如下内容:

  • 模型标识:对应模型页签中配置的LLM大模型
  • 协同baseUrl:对应协同的Nginx代理地址(地址不含/seeyon),详见示例截图
  • 向量模型标识:对应模型页签中配置的Embedding模型

3、应用列表默认只显示5条,需要通过翻页组件切换为100条,再全选所有应用列表,最后点击确定,将所有智能体应用初始化:

1747883777164.png

4、观察所有应用的初始化进度,如出现异常,需要根据日志(Comi/app/ai_manager/nohup.out)分析解决异常,再重新初始化:

1747884105948.png

在进行智能体应用初始化时,除了关注日志情况外,还需要关注各服务器的资源运行情况,尤其是私有化部署的Embedding模型,如果CPU长期占满,则考虑服务器配置需要提升。

1748341897864.png

# 重新初始化智能体应用

如初始化“失败”,在修复问题后还需要重新初始化应用,CoMi V1.0版本暂无可视化重新初始化功能,需要连接到CoMi的数据库,清除相关数据:

连接CoMi数据库(参照本手册操作后,数据库名为ai_manager),以下表不要清空,其余表全部清空
ai_model_info
ai_provider_info
ai_provider_model
ai_sys_admin_type_menu
ai_sys_data_permission_config
ai_sys_menu

清空SQL参考:

TRUNCATE TABLE ai_agent_call_evaluate;
TRUNCATE TABLE ai_agent_call_record;
TRUNCATE TABLE ai_agent_ex_attribute;
TRUNCATE TABLE ai_agent_file_info;
TRUNCATE TABLE ai_agent_info;
TRUNCATE TABLE ai_agent_repository;
TRUNCATE TABLE ai_agent_run_log_record;
TRUNCATE TABLE ai_agent_run_step_record;
TRUNCATE TABLE ai_agent_session_record;
TRUNCATE TABLE ai_agent_tool;
TRUNCATE TABLE ai_api_key_auth_info;
TRUNCATE TABLE ai_api_key_info;
TRUNCATE TABLE ai_assistant_agent;
TRUNCATE TABLE ai_assistant_info;
TRUNCATE TABLE ai_assistant_question;
TRUNCATE TABLE ai_assistant_repository;
TRUNCATE TABLE ai_assistant_tool;
TRUNCATE TABLE ai_assistant_use_record;
TRUNCATE TABLE ai_chunk_info;
TRUNCATE TABLE ai_cookie_black_list;
TRUNCATE TABLE ai_data_transfer_info;
TRUNCATE TABLE ai_data_transfer_task;
TRUNCATE TABLE ai_file_info;
TRUNCATE TABLE ai_from_flow_info;
TRUNCATE TABLE ai_knowledge_source_record;
TRUNCATE TABLE ai_label_info;
TRUNCATE TABLE ai_label_use;
TRUNCATE TABLE ai_operate_log;
TRUNCATE TABLE ai_prompt_call_record;
TRUNCATE TABLE ai_prompt_info;
TRUNCATE TABLE ai_prompt_snapshot;
TRUNCATE TABLE ai_prompt_var;
TRUNCATE TABLE ai_prompt_var_snapshot;
TRUNCATE TABLE ai_repository_info;
TRUNCATE TABLE ai_repository_transfer_info;
TRUNCATE TABLE ai_sensitive_category;
TRUNCATE TABLE ai_sensitive_config;
TRUNCATE TABLE ai_sensitive_dict;
TRUNCATE TABLE ai_sensitive_log;
TRUNCATE TABLE ai_sensitive_words;
TRUNCATE TABLE ai_service_info;
TRUNCATE TABLE ai_sys_role_menu;
TRUNCATE TABLE ai_tool_info;
TRUNCATE TABLE ai_tool_set_info;
TRUNCATE TABLE ai_user_mapping;

1747895373565.png

清空相关表数据库后,重新启动CoMi所有服务(不用重启协同),再次通过协同系统管理员-AI-系统管理-数据初始化进去,确保所有应用状态恢复到“未提交”。

参考“初始化智能体应用”章节,填写正确的配置后,重新初始化,确保所有智能体应用状态为“已完成”为止。

1747895602449.png

# 智能体应用授权

协同集团版用集团管理员登录后台管理页面,协同企业版用单位管理员登录后台管理页面。

进入【智能应用设置】点击【Comi应用授权】:

  • 集团管理员“授权单位”,只是授权给单位管理员,再由该单位的单位管理员针对单位下人员进行授权
  • “授权用户”则是直接给指定普通用户授权智能体应用使用权限,普通用户重新登录系统就能看到相关智能体应用
  • 注意:可授权人员数量受购买插件时注册用户数量控制。比如申请了100注册数,则每个智能体应用只能授权100位用户。

1747896798369.png

# 用户使用CoMi

被授权普通用户登录系统,通过右侧CoMi图标进入智能应用页面:

1747896872837.png

智能体页签仅显示用户被授权的智能体应用:

1747896979392.png

# 详细使用见操作手册

更详细的操作、配置、说明见CoMi用户操作手册。

# 组件日常维护

# qdrant向量库启停和维护

qdrant启停:

cd /data/qdrant
# 启动方法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端口,看到输出则表示服务处于启动状态

1747898599035.png

qdrant日志: 存放于/data/qdrant/qdrant.log

1747898121356.png

qdrant配置: 配置存放于 /data/qdrant/config/config.yaml,如需要修改监听端口,可调整此配置,注意调整后还需要修改ComiBuilder对应服务的qdrant配置。

# Ollama启停和维护

如项目采用ollama进行本地模型部署,常规维护方法如下:

Ollama启停:

# 启动ollama
nohup ollama serve > /data/Seeyon/Comi/base_model/ollama.log 2>&1 &

# 停止ollama, kill进程即可
kill $(ps -ef|grep ollama |grep -v grep|awk '{print $2}')

Ollama日志: 存放于/data/Seeyon/Comi/base_model/ollama.log

检查ollama状态:

# 查看已有模型
ollama list

# 查看运行中的模型
ollama ps

# 测试模型是否正常
curl --location 'http://192.168.94.130:11434/v1/embeddings' \
--header 'Content-Type: application/json' \
--data '{
    "model": "bge-m3:latest",
    "input": "风急天高猿啸哀,渚清沙白鸟飞回,无边落木萧萧下,不尽长江滚滚来"
}'

# AI-Engine启停和维护

AI-Engine启停:

cd /data/Seeyon/Comi/app/seeyonagents

# 添加执行权限
chmod +x *.sh

# 启动服务
./start.sh

# 停止服务
./stop.sh

AI-Engine日志: 存放于app/seeyonagents/logs下,按日期分布:

1747898810093.png

AI-Engine配置: engine的配置参考【修改.env_llm.yaml和.env配置】章节进行参数调整。调整后,需要重启Engine服务。

# AI-Security启停和维护

AI-Security启停:

cd /data/Seeyon/Comi/app/ai-security-service

# 添加执行权限
chmod +x *.sh

# 启动服务
./start.sh

# 停止服务
./stop.sh

AI-Security日志: 存放于app/ai-security-service/logs下:

1747899992699.png

AI-Security配置: Security的配置参考【修改.env配置】章节进行参数调整。调整后,需要重启Security服务。

# AI-Manager启停和维护

AI-Manager启停:

cd /data/Seeyon/Comi/app/ai_manager

# 添加执行权限
chmod +x jdk/bin/*
chmod +x *.sh

# 启动服务
./startup.sh

# 停止服务
./shutdown.sh

# 查看控制台日志
tail -f nohup.out

AI-Manager日志: AI-Manger实时运行日志存放于app/ai_manager下的nohup.out里:

1747901047732.png

AI-Manger历史运行日志存放于app/ai_manager/logs里:

1748185607791.png

AI-Manager配置: Manager的配置参考【修改application.yaml】章节进行参数调整。调整后,需要重启Manager服务。

# 常见问题

# 1、无Comi插件,或插件未分配注册数

解决方案:CoMi按注册数授权,在进行用户授权时会检测当前加密狗是否有注册数,开发狗、0注册数的加密狗用户无法授权。需要从商务申请带CoMi注册数的加密授权。

1747901583816.png

# 2、协同系统管理员访问CoMi Builder页面未正确显示,提示Not Found

解决方案:CoMi Builder访问的是CoMi服务的页面,满足如条件即可正常访问:

  • 1)确保部署了CoMi相关服务
  • 2)必须参考【Nginx服务代理配置】章节,将CoMi相关请求配置到NG
  • 3)访问协同系统必须通过Nginx代理到协同OA的地址

1747902222309.png

1747902238127.png

# 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服务器能访问到该地址

1748251714475.png

1749200703580.png

# 4、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

1748328645587.png

1748328915808.png

# 5、初始化CoMi应用时,文案策略、安全助理等智能体应用部署失败

文案策略、安全助理等智能体应用初始化失败,尝试重新初始化也不行。通常问题原因和解决方案如下:

1、确保参考【初始化CoMi应用】章节,一步一步操作,不能遗漏

2、确保模型页签下测试LLM和Embedding模型状态OK,未测试模型会导致初始化失败

3、这几个应用会先调用Embedding模型进行向量化,再写入qdrant向量数据库,如Embedding和qdrant服务不正常会导致初始化失败

4、初始化超时时间5分钟,如服务器性能太差,未在设定时间内初始完成会导致失败。

5、如Embedding模型采用私有化,检查文本向量模型服务器负载,CPU长期100%易导致初始化失败,考虑提升服务器配置。

1748342134712.png

1748341897864.png

# 6、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才行!

1749545275580.png

1749545302217.png

编撰人:het、wangyxyf、renrp

快速跳转