目 录
- 大模型链路示意图
- 结果解析说明
payload.cbm_tidy
payload.cbm_semantic
payload.nlp
payload.tts - 自定义参数
- 个性化参数
- 落域判断
- 风格化回复
- 分段合成
- 自定义设备人设
- 文档问答指定标签
- 常见问题解答
1. 大模型链路示意图
2. 主要结果解析说明
注意:
text字段需要base64解码,示例是解码后的结果
payload.cbm_tidy
说明:V2.1协议开始提供,取代cbm_intent_split 结果。
语义规整结果:请求包含多个问题时,大模型会拆分,示例:
text:base64解码后的内容
status: 结果状态 0-开始、 1-中间、2-长句结束,3-短句结束
seq:结果序号,0、1、2……
payload.cbm_semantic
通用语义结果:多个结果时 payload.cbm_meta.text 中intent指定了具体意图。另外判断该结果是否正确理解,除解析rc=0外,还需要解析大模型落域判断,详见下方说明。
注意:
文档问答是大模型能力,非通用语义。具体见下方文档问答使用
payload.nlp
语义理解的结果,流式下发:
payload.tts
合成结果:大模型结果建议分段合成,减少等待耗时。
特别说明:
AIUI平台的语义后合成,仅支持音频流下发,不支持url;下发url需主动请求合成。
3. 上传自定义参数
1、构建自定义参数json字符串示例为 {"key":"value"} ,base64编码后为 eyJrZXkiOiJ2YWx1ZSJ9
2、构建新json字符串 :{"userparams":"eyJrZXkiOiJ2YWx1ZSJ9"},base64编码后为 eyJ1c2VycGFyYW1zIjoiZXlKclpYa2lPaUoyWVd4MVpTSjkifQ== ,赋值给 payload.cbm_semantic.text 取值,请求示例:
4. 个性化参数
1、构建个性化生效参数json字符串示例为 {"uid":"1234567890"}
2、构建新json字符串 :{"pers_param":"{\"uid\":\"1234567890\"}"},再经过base64编码后为 eyJwZXJzX3BhcmFtIjoie1widWlkXCI6XCIxMjM0NTY3ODkwXCJ9In0=,赋值给 payload.cbm_semantic.text ,示例如下:注意:
1、当同时需要透传个性化参数和自定义参数时,两者在同一个json中使用,示例:{"userparams":"eyJrZXkiOiJ2YWxZSJ9","pers_param":"{\"uid\":\"1234567890\"}"}
2、用户级uid取值保持和请求参数中header.sn 一致即可
5. 落域判断
大模型存在 cbm_semantic 通用结果被官方技能误吸收。此时通过落域判断来决定该通用语义是否使用:
解析 payload.cbm_meta.text,若包含 untrusted 字段(详见下方示例),则此次通用语义结果不可信,直接丢弃结果。
注意:
当落域判断失败时,结果包含untrusted:true;当落域正确时,不下发该字段。
6. 风格化回复
大模型可以自定义风格来控制内容生成,示例:
1、构建json数组: [{“type”:”宠溺男友”,”value”:”温柔体贴:无微不至地照顾人”}],然后进行base64编码
2、将编码后的字符串赋值给 payload.cbm_reply.text 取值,示例如下:
更多需求请联系aiui_support@iflytek.com
字段 | 含义 | 取值 |
---|---|---|
type | 类型标签,开发者自定义 | 人物名称,例:宠溺男友 |
value | 风格描述,开发者自定义 | 基于人物性格给予详细描述 |
7. 分段合成
aiui平台打开合成,云端会基于nlp结果自动合成下发音频流。注意:不支持下发url。
分段合成是一种主动合成策略:
1、nlp结果字句切分:先拼接合成文本,在根据标点符号“,。;!?:”进行切分,获取子句。
2、最小合成长度判断:子句长度>n(开发者自定义最小长度n) 就合成;否则拼接下一条子句再次判断。如果已经是最后一条子句,那就直接合成。
8. 自定义设备人设
可配置设备人设信息来指定相关人设问题回答:
1、构建json内容,指定人人设问题和内容进行详细编辑,示例:
{"human":{"expand_persona":true,"persona":"{\"父亲|爸爸\":\"科大讯飞\",\"姓名|名字|称呼\":\"小飞\"}"}}
2、将json转字符串赋值给 parameter.nlp.env 取值。字段说明:
参数 | 类型 | 说明 | 示例 |
---|---|---|---|
human.expand_persona | boolean | 扩展人设开关,取值 true、false | true |
human.persona | string | 自定义人设问题和答案,以键值对形式添加。 | {"父亲|爸爸":"科大讯飞","姓名|名字|称呼":"小飞"} |
请求示例:文本语义请求
9. 文档问答指定标签
大模型加载文档问答时,如需对引用的文档进行区分使用,可以通过下面的标签参数进行配置使用,方式为:
1、构建json: {“tags”:{“must”:[“aaa”,”bbb”,”ccc”]}},然后进行base64编码
2、将编码后的字符串赋值给 payload.cbm_knowledge.text 取值,示例如下:
更多需求请联系aiui_support@iflytek.com
字段 | 含义 | 取值 |
---|---|---|
tags | 检索知识的标签 | 可以设置三种标签类型(可以同时设置),具体见下面参数说明 |
tags.must | 检索结果必须包含这些标签 | string[] 格式,如 [“a”,”b”] |
tags.should | 检索结果至少包含这些标签中的一个 | string[] 格式,如 [“a”,”b”] |
tags.mustNot | 检索结果必须不包含这些标签 | string[] 格式,如 [“a”,”b”] |
说明:创建的文档问答标签,可以自定义设置,具体位置见下图
10. 常见问题解答
AIUI平台的交互认知大模型和讯飞开放平台的大模型区别
AIUI平台的大模型以星火通用大模型为底座,在人机交互场景下对知识问答、闲聊类做定向训练,提升交互场景效果。
为什么老应用无法切换到星火交互认知大模型?
AIUI应用(2022-06 月份以后创建的应用)新增 APISECRET 字段。无法切换的原因有:
1、AIUI应用属于老应用,应用没有 APISECRET 信息,无法切换。 — 建议新建应用接入。
2、支持切换的应用由于有过通用链路的服务授权,无法切换。 — 建议新建应用接入或联系商务沟通。
AIUI星火交互认知大模型如何收费?
测试授权每天提供500次交互次数、20万大模型token;正式授权可以邮件aiui_support@iflytek.com申请或联系讯飞商务。
大模型接入方式有哪些?
SDK版本需要为 6.6.xxx 以上版本;
API对接的websocket协议也是新接口,不能与原来的通用语义链路websocket协议混用。
另外需要注意:大模型websocket是长链接,即在一次链接中可以持续不断的进行不同交互。端侧需要控制每次请求的stmid参数取值更改。超过一分钟无交互,云端自动断开。AIUI星火交互认知大模型链路和通用语义链路可以来回更改吗?
在测试阶段(没有正式授权添加服务次数)支持任意切换,不过需要注意:端侧集成需要相应做对接方式切换。
- 不同情景模式可以配置不同的交互链路吗?
支持,例如A情景用通用语义模型,B情景选择大模型。不过AIUI平台建议在正式商用应用上,单个应用做单一能力配置选择,减少授权问题排查难度。
- 通过SDK接入端侧可以做动态交互链路接入切换吗?
不支持。SDK初始化后交互链路就已经固定了,做交互链路切换需要销毁对象重新加载新的配置文件初始化。
- 大模型是否还支持原来的技能配置?
支持。后期规划下线部分通用知识工具类技能,如计算、时间等,由大模型进行内容生成回复。
- 新增的文档问答怎么使用或本地的知识文档如何对接大模型?
在技能工作室 –> 我的问答库 下创建文档问答,按照格式要求上传文档,平台服务会进行知识点拆分解析,等解析完成后点击构建发布。这样一个问答库就构建好了,页面右侧栏也提供体验对话入口,可以结合展示的知识点拆分做修改,如给相关内容加上问题描述。最后配置到AIUI应用下语义理解中进行配置。
- 文档库中上传的内容包含图片,怎么在交互中获取?
此模块(cbm_knowledge)默认未开放,如需要请联系aiui_support@iflytek.com 或商务申请。
- AIUI星火交互认知大模型链路有并发限制吗?
默认 3 qps,正式合作联系商务增加qps。
- 大模型链路中用户个性化数据如何上传?
开发中,完成后会更新开发文档。