# V8云原生产品线A9C集成CoMi V2.0.2手册
# 前言
V8云原生产品线(A9C)是另一套协同产品,基于微服务云原生技术开发维护,其所需服务和V5产品线有一定差别。
本手册就V8云原生产品线部署集成CoMi V2.0、V2.0.1、V2.0.2版本(建议选择最新版本)提供详细说明,如对本手册中相关内容存在疑问,请通过技术服务支持申请流程工单获取协助。
由于CoMi部署部分与V5产品线部署CoMi没有任何差别,故本手册会跳过若干重复内容,只列举V8产品线集成关键点。
# V8产品线A9C部署CoMi关键点
# 1、确定CoMi部署方案
V8产品线A9C集成CoMi所需服务器资源、环境准备、插件、支持版本等要求见 《CoMi V2.0.1环境准备指导手册 (opens new window)》。
注:CoMi不支持部署到K8S平台中
部署CoMi2.0系列支持两种方式:智能部署工具向导式部署 和 Docker容器化部署,项目上可根据自身情况选择合适的部署方案,并严格按对应手册准备相关包:
| 方案 | 部署方式 | 支持操作系统 | 部署说明 | 推荐指数 | 部署手册 |
|---|---|---|---|---|---|
| 方案1 | 智能工具智署向导式部署 | Linux、信创系统 | 自动安装CoMi基础服务,浏览器网页可视化启停+调整参数,简单易用 需要提前准备数据库,工具无法自动部署数据库 适用于要求CoMi使用信创数据库的项目 | ★★★ | 手册链接 (opens new window) |
| 方案2 | Docker容器部署 | Linux、信创系统 | 自动安装docker和CoMi基础服务(含数据库),需要具备一定Linux维护经验 适合快速搭建POC环境 或 无信创数据库集成要求的项目 | ★★★★★ | 手册链接 (opens new window) |
部署视频可通过 协同云-赋能中心-致远学院 访问如下链接获取:
# 2、做好操作系统参数调整
无论哪种部署模式,必须参考对应手册做好操作系统参数调整:
如Docker部署CoMi,麒麟V10系统必须先删除podman,否则后续安装Docker会失败:

无论哪种部署模式,都需要设置limites.conf,调大操作系统的openfile句柄数,CoMi的Qdrant向量库高度依赖句柄数:

# 3、按需部署V8产品线A9C所需的CoMi服务
V8产品线集成CoMi V2.0.2版本,需要部署:AI-Manager、AI-Engine、AI-Security、Qdrant、数据库(如版本匹配可复用V8数据库,新建空间),CoMi V2.0.2开始还需部署CoMi Server、沙箱、文档解析服务,按需部署OCR图片解析服务(需GPU)。
# 3-1、采用Docker部署CoMi注意事项
如使用Docker部署CoMi,参考部署手册操作,只需调整.env配置文件两处参数:
- PRODUCT_LINE产品线填写成A9
- NGINX_ADDRESS产品NG地址
- COMPOSE_PROFILES可选安装服务全部清空,V8有自己的NG无需CoMi部署,其它服务V8也用不到

如使用Docker部署CoMi,正常在Docker容器中运行的服务如下:

如使用Docker部署CoMi,部署完成后,一定要修改V8服务器地址,具体位置在comi程序目录下的 config/ai-manager/application.yaml 文件中:
具体参数值为 v8Address ,如果V8的Nginx使用了SSL,则必须是https,可以是访问NG的域名或内网地址,容器能访问哪个地址就用哪个。
# 在comi-install目录下修改配置
vim config/ai-manager/application.yaml

# 3-2、采用智能工具向导式部署CoMi注意事项
V8云原生产品线(A9C)使用智能工具向导式部署CoMi,在主机管理界面只需要录入当前CoMi服务器地址(无需按手册录入Nginx地址):

部署配置AI-Manager时需要注意:
- 产品线选择A9
- 数据库需要提前准备,比如连接V8现有数据库服务,需要给AI-Manager和CoMi Server分别准备一个空库,如命名为ai_manager、comi_server
- OA反向代理地址:设置成V8 Nginx地址,该地址需要确保当前CoMi服务器能访问,并且如果NG启用了SSL优先用https

向导式工具部署CoMi V2.0.2,AI-Manager、AI-Engine、AI-Security、Qdrant、数据库(如版本匹配可复用V8数据库,新建空间),CoMi V2.0.2开始还需部署CoMi Server、沙箱、文档解析服务,按需部署OCR图片解析服务(需GPU)。
CoMi V2.0.1及之前版本涉及配置Nginx外部依赖(如下图所示),部署配置时无需选择Nginx服务器,直接选择CoMi当前服务器,因为向导式工具生成的ng配置对V8无效,V8需要按后续步骤手动录入。
CoMi V2.0.2如果检测到V8产品线,则自动隐藏了外部依赖配置。

如果出现Nginx服务状态检查不通过,通常原因是:内网的CoMi服务器访问不到Nginx的外网域名地址。解决方案为:由网管做内网的DNS解析,或在CoMi服务器设置hosts将域名指向NG的内网IP即可通过。

# 4、CoMi部署后重要检查点
检查服务器上 ai-manager/application.yaml 文件,其中v8Address必须配置成V8 Nginx的内网地址,并且comi服务器可访问该地址,如NG开启SSL必须优先使用https。

# V8产品线A9C集成CoMi关键点
在完成上一章节CoMi部署后,需要在V8中将CoMi集成进去,关键操作如下:
# 1、确定V8产品线版本是否支持CoMi
CoMi对V8云原生产品线(A9C)对应版本适配列表详见《协同版本边界feishu知识库 (opens new window)》,如当前V8版本不匹配,需要按需升级V8版本!

# 2、准备V8产品线CoMi加密授权
关于 V8云原生产品线(A9C) ,如需使用CoMi,需要申请插件名称及标识为:申请CoMi智能助手 comiPlugin。获得加密授权文件后,更新到V8产品中。

# 3、V8 Nginx增加CoMi配置
V8只需要在Nginx中增加CoMi配置,即可到后台访问CoMiBuilder并进行后续操作。
V8 与 CoMi 之间的鉴权基于 V8 登录 Token。CoMi 在获取到 V8 的 Token 后,会通过反向校验的方式验证用户权限(此时无需校验 API-KEY)。
第一步:找到V8 Nginx主入口conf配置文件,将 include comi.conf; 加入到V8 Nginx主入口server{}代码块中,示例如下(comi start 到 comi end这部分):
此处省略若干其它配置......
# comi start:关联comi配置文件
include comi.conf;
# comi end:关联comi配置文件
location = / {
return 301 ./main/;
}
location ~ /service/ {
proxy_pass http://10.103.4.2:30001;
rewrite ^/service/(.*)$ /$1 break;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header sy-host $host;
client_max_body_size 500M;
}
此处省略若干其它配置......

第二步:在Nginx V8主入口conf配置文件同层级新增一个名为comi.conf的配置文件,将如下代码完整复制到comi.conf配置文件中,并且将所有xx.xx.xx.xx 批量修改成CoMi服务器的真实IP(CoMi的AI-Manager默认监听8181端口,CoMi Server默认监听8081端口,如做调整,请同步修改comi.conf中的全部端口):
# ai平台配置开始
location ^~ /ai-static {
proxy_pass http://xx.xx.xx.xx:8181/ai-static;
}
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 $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# SSE 连接时的超时时间
proxy_read_timeout 86400s;
# 取消缓冲
proxy_buffering off;
# 关闭代理缓存
proxy_cache off;
# 不走缓存
add_header Cache-Control max-age=0;
# 禁用分块传输编码
#chunked_transfer_encoding off
proxy_pass http://xx.xx.xx.xx:8181/ai-manager/agent/info/call/sse;
}
location =/seeyon/ai-platform/backend {
proxy_pass http://xx.xx.xx.xx:8181/backend;
set $nocache 1;
# 不走缓存
add_header Cache-Control max-age=0;
proxy_cache_bypass $nocache $cookie_nocache $arg_nocache $arg_comment;
}
location =/seeyon/ai-platform/frontend {
proxy_pass http://xx.xx.xx.xx:8181/frontend;
set $nocache 1;
# 不走缓存
add_header Cache-Control max-age=0;
proxy_cache_bypass $nocache $cookie_nocache $arg_nocache $arg_comment;
}
location ~ ^/seeyon/ai-platform/(.*) {
proxy_pass http://xx.xx.xx.xx:8181/$1$is_args$args;
proxy_connect_timeout 600;
proxy_read_timeout 600;
set $nocache 1;
# 不走缓存
add_header Cache-Control max-age=0;
proxy_cache_bypass $nocache $cookie_nocache $arg_nocache $arg_comment;
}
location ^~ /ai-manager {
# 不走缓存
add_header Cache-Control max-age=0;
proxy_pass http://xx.xx.xx.xx:8181;
proxy_set_header api-key $http_api_key;
}
location ^~ /ai-manager/form {
# 不走缓存
add_header Cache-Control max-age=0;
proxy_pass http://xx.xx.xx.xx:8181;
proxy_set_header api-key $http_api;
}
# ai平台配置结束
location = /comi/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;
# CoMi Server地址
proxy_pass http://xx.xx.xx.xx:8081;
}
location ^~ /comi {
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;
# CoMi Server地址
proxy_pass http://xx.xx.xx.xx:8081;
}
location ~/seeyon/comi-server/(.*) {
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;
rewrite ^/seeyon/comi-server/(.*)$ /$1 break;
# CoMi Server地址
proxy_pass http://xx.xx.xx.xx:8081/comi/$1$is_args$args;
# 取消缓冲
proxy_buffering off;
# 关闭代理缓存
proxy_cache off;
gzip off;
}

第三步:检查配置并重新加载Nginx配置:
# 检查配置是否正确(示例代码见截图)
./nginx -p nginx目录 -c nginx.conf配置文件路径 -t
# 重新加载配置,使配置生效(示例代码见截图)
./nginx -p nginx目录 -c nginx.conf配置文件路径 -s reload
# 4、V8管理员后台配置模型和初始化
V8管理员后台 → 访问COMiBuilder菜单:


异常说明:如V8访问CoMiBuilder异常,通常先查看CoMi服务器ai-manager/logs下log-info.log和log-error.log有什么错误,然后根据错误分析原因。

确认能访问CoMiBuilder页面后,参考《CoMi模型配置操作手册 (opens new window)》进行模型配置和应用初始化。
也可以参考《模型初始化和授权Feishu知识库 (opens new window)》在线视频做操作


# 5、V8后台完成智能问答配置
V8管理员后台 → 系统参数 → 智能问答分别添加apiKey和apiUrl信息:
- apiKey:对应CoMi安装部署后生成的APIKey(可以去CoMiBuilder后台直接复制API KEY到此处)
- apiUrl:对应CoMi的AI-Manager内网服务器地址,与Nginx配置文件comi.conf中的http地址保持一致

# 6、V8租户管理员授权CoMi应用
以上完成后,通过V8租户管理员授权CoMi应用给普通用户,随后用户就能在前端看到CoMi。
详细授权CoMi应用操作见《AI-COP A9 领航版 V5.0 AI办公助手 产品操作手册 (opens new window)》 初始化和授权 → 租户管理员 章节。

异常说明:如果租户管理员授权了CoMi应用给普通用户,但普通用户前台依然看不到CoMi小章鱼图标,则重点检查租户管理员 → 智能管理 → 基础配置 是否授权了对应单位或用户。

# 7、检查Embedding模型标识一致性
如使用CoMi智能工具部署,需要到CoMi智能工具页面,找到AI-Engine的配置,需要确保“向量模型标识” 与 V8管理员后台CoMiBuilder模型管理中的Embedding模型标识保持一致(不一致则修改ai-engine的值,并重新发布ai-engine服务):

如使用Docker工具部署CoMi,需要到配置文件 config/ai-engine/.env_llm.yaml ,确保embedding_model值与 V8管理员后台CoMiBuilder模型管理中的Embedding模型标识保持一致(不一致则修改ai-engine的值,并重启ai-engine服务):

# V8使用CoMi用户手册
关于V8下面CoMi的详细操作,访问《AI-COP A9 领航版 V5.0 AI办公助手 产品操作手册 (opens new window)》可以查看CoMi在V8中如何使用。