【业务】【服务端测试】智能直播net服务测试记录

主要记录AI web服务相关功能。

名词解释

AI助手模式:用户在普通直播间可以开启,开启后检测4中行为:“ 新用户加入”,“nvip加入”,“送礼”和“送礼前三名加入直播间”的行为。

AI托管模式:白名单用户关闭直播间可以选择进入场景。开启AI托管模式。该模式下检测 消息流用户发送消息->发送文本给chatgtp。

不同语气模式:IM调用chatGTP 的时候 在传入text中会加上预设身份的文案(产品给好的文案),调用chatGTP拿到返回结果。目前少男、少女、熟男和熟女四种身份。

AI助手模式实现:

就是用户加入直播间时客户端调用 PHP 接口 /message/videocount ->查询用户身份 是否新用户、是否送礼前三名->发送异步消息给IM->IM在写好内容里面去一个结果随机返回->结果以IM形式下发给客户。

在消息下发中 主播端:按照上面4个时间语音播报的;

   用户端:在消息流和ai助手框内展示的(也是根据上面4个事件随机返回文本)。

AI托管模式:

用户在直播间发送消息->IM拦截内容把A用户和gtp聊天上下5轮+风格模式调用gtp->返回结果下发给客户端。

ps:不同用户上传不同的上下文

测试方法:目前还是那种人工问答形式,A用户问 一系列问题,我的名字,爱好,理想啊。B用户在聊天,A用户反问对方你知道你是谁嘛,爱好是什么等等。

IM这边promote 结构三层:背景、用什么语言回答+问题上下文。

ps:语言是开播接口通过cl字段从客户端传过来的

其他api参数都是默认的

不同模式预期词:

女-少女:一名二次元少女,你的名字是milin,尽量与对话进行互动,性格要求活泼、开朗、阳光 如果遇到你特殊问题,你可以修改自己的回答语气,比如生气、激动

女-成熟: 一名成熟的女生,你的名字是simiya,尽量与对话进行互动,性格要求沉稳、大气 如果遇到你特殊问题,你可以修改自己的回答语气,比如生气、激动

男-少年: 一名二次元少年,你的名字是alika,尽量与对话进行互动,性格要求阳光、开朗、自信 如果遇到你特殊问题,你可以修改自己的回答语气,比如生气、激动

男-成熟: 一名成熟的男生,你的名字是jack,尽量与对话进行互动,性格要求沉稳、大气 如果遇到你特殊问题,你可以修改自己的回答语气,比如生气、激动

语言控制:

offon/iveRoomcons 接口返回客户端语言 ,客户端播放对应语言

net服务端接口:

固定模型白名单:

表cl_ai_live_my_model->增加uid加入数据即可

offon/liveRoomIcons

->ailive_entrance 字段判断是不是有智能直播间和客户端对应播放语言

ai_live/info

->主要作用返回给客户端展示 直播主题、音色、随机模型。

数据流转:net->sd 服务获取模式,图片和声音,在随机返回。

从配置文件 ai_live.json,ai_live_prompt.json,ai_liveme_sd_prompt.json

功能:返回模型相关信息

        live_theme:回复语气,少年、少女、熟男、熟女->根据用户性别返回对应男女

        live_timbre:语音模型->根据用户性别返回对应男女

        random_model_cover:随机模型信息

        remaining_duration:本周内生育播放时间(一周24小时)

        是否支持自己模型入口

在cmlive.cl_ai_live_my_model 写入自己数据后 my_model_cover 字段就有有返回值。

ai_live/start

->开播推流

功能:更新Aurora视频信息->发送直播间消息切换到智能直播->通知IM当前直播主题->写入cl_ai_live_start_record表(数据组统计使用)

还有一个点就是cl要传给IM那边告知当前主播语言。

ai_live/prompt

->获取快捷promote和换装风格

数据:都是服务端写死的返回,涉及到多语言点。

ai_live/switch

->调用sd换装

功能:从缓存取模型id->调用金融扣除金币->调用sd服务生成图片(目前图生图)->发送消息给客户端展示图片->更新数据表cl_ai_live_call_sd_record(大数据使用)

SD参数:

核心参数都是产品备注到文案里面

二期需求(AI智能付费直播)

ai_live/assistant/renewalpanel

从金融服务拉取档位,上线的时候需要产品配置好key

ai_live/assistant/renewal

根据档位id->调用订阅服务 完成扣费->增加对应倒计时

技术方案:扣费和金融倒计时都是金融侧记录和计时。

注意:金融有一个金融流水action需要配置,如果新的类型需要大数据那边支持还可以(主要针对非金币钻石相关类型)

金融流水配置:

流水不展示问题:一般问题不是没有配置,就是详情页没有配置展示

续费:

当时间还剩30s时候会触发自动续费,调用金融服务扣钱。成功和失败都会发送私信给用户。

ai_live/mymodel/submit

①调用金融扣除金币->②调用sd训练模型服务任务接口(api/v1/train/task)(完成模型id训练,该接口返回一般很快) 回调业务范接口->③net更新模型id、发起图生图生成默认图和训练图->④SD制图成功回调业务方->⑤更新我的模型表的图片数据。

①扣除金币 调用金融服务 需要传入金融action和价格

②调用SD服务任务接口

③net服务回调接口:ai_live/callback/model

更新我的模型数据库的model_id 字段的值

发起图片训练默认图逻辑和 发起图片训练封面逻辑 调用SD服务2次这个接口(参数会有一些区别)/api/v1/task/img2img/create

⑤net 服务ai_live/callback/img2img:

更新我的模型数据库字段cover、images和status字段

封面制图: 底图是从用户上传(9-20)张随机选择一个 正反词跟预览图逻辑一致。

预览图:底图

  女性 是从给定底图里面随机一个图。

  正反词:

金融订阅服务:subscription

1.net服务调用 金融创建订阅

接口

ai_assistant/create_or_renew:

创建订阅逻辑

ai_assistant/get:

直接读取cl_subscription 订阅表最新一条数据,返回订阅状态。

finan/subscribeAnchor/createSubscription:

创建主播订阅,这个也是

写入 livemefinancex_test.cl_subscription 表数据。是否续订跟物品属性有关系,目前测试环境 第一档位450 才有订阅。

如何测试订阅:修改expired字段时间,测试环境10分钟会有任务去扫,生效以后 expired字段时间会被修改。

生效以后在livemefinancex_test.cl_subscription_history_2023 生成2条记录。

M(链接chatGTP):

AI智能直播 IM只分 AI助手和AI托管。

AI助手:

支持送礼,新用户进入直播间、nvip和送礼前三名进入直播间回复

(新用户进入直播间、nvip和送礼前三名) 数据流转:PHP (/message/videocount)->异步调用IM->IM根据对应类型随机获取写好的缓存列表取值返回

(送礼) 数据流转:监听送礼消息 取price->频率控制( 金币10以下、钻石500以下限制3分钟1次,星光1小时1次,金币10以上、钻石500以上不限制)->随机返回文案

测试方法:这里面难点就是im底层服务入参和出参只能依靠日志:

难点1:上游PHP 调用身份是否正确(是否新用户等属性)->属性值不对,im肯定不会返回。

我的解决办法就是测试场景有问题,先去找闫滨 跟他说清楚场景,让他看日志 提供主播id,vid和观众uid。

难点2:im返回文本是TCP形式给客户端,不知道问题是im没法,还是客户端没有播出来。

这个解决办法这期需求客户端有展示地方。

AI托管:

该模式下会调用chatGTP 回复对应用户互动消息,目前上下文10轮内容传递给chatgtp。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值