AIUI文档中心
AIUI平台说明
什么是AIUI
AIUI平台能力介绍
AIUI交互流程说明
AIUI快速入门
AIUI应用管理说明
应用接入和配置
应用后处理
敏感词
AIUI开发接入
AIUI接入概述
声学接入
交互接入
SDK接入
SDK介绍
参数配置
消息事件
交互状态
结果解析
WebSocketAPI接入
精简协议接入
常用功能
交互控制
语音唤醒
语音合成
用户个性化
自定义参数
离线命令词
翻译模式
流式识别
语义VAD
发音人列表
关键词过滤
情景模式
错误码
星火交互认知大模型说明
大模型概述
开发接入
SDK接入
API接入
大模型API服务鉴权
特色能力
超拟人合成
声音复刻
大模型功能
大模型错误码
软硬件产品接入
RK3328 降噪板
RK3328降噪板白皮书
RK3328降噪板使用手册
RK3328降噪板规格书
RK3328降噪板协议手册
RK3328 AIUI评估板开发套件
RK3328评估板白皮书
RK3328评估板使用手册
RK3328评估板规格书
RK3328评估板开发手册
RK3588 AIUI多模态开发套件
RK3588一体机多模态产品规格书
RK3588多模态套件使用手册
视频传输协议
串口通信协议
音频传输协议
ZG803 离线语音识别套件
ZG803 产品白皮书
USB声卡套件
USB声卡产品白皮书
USB声卡使用指南
AC7911 AIUI语音开发套件
AC7911-产品白皮书
AC7911-快速体验指南
AC7911-开发指南
AC7911-协议手册
AC7911-硬件参数
AIUI评估板接入
集成方式
软件包说明
AIUIServiceKitSDK
串口SDK
评估板参数配置
调试升级
技能工作室
技能概述
名词解析
技能
意图和语料
实体
动态实体
模糊匹配
填槽对话
技能设计规范
语音技能设计规范
开放技能接入审核规范
开放技能图标图片规范
技能开发
创建技能和意图
意图配置
技能测试
技能发布
技能后处理
技能导入导出
云函数APIv2.1
云函数APIv2.0
问答库开发
语句问答
关键词问答
文档问答
设备人设开发
技能协议
语义协议:重要字段和通用字段
技能后处理协议:标准请求
技能后处理协议:请求校验
技能后处理协议:Request_v2.1协议
技能后处理协议:Response_v2.1协议
技能资源限制
硬件设计参考
常见问题
AIUI常见问题
评估板常见问题
动态实体常见问题
联系方式
服务条款
AIUI开放平台服务协议
AIUI开放平台隐私政策
小飞在家用户协议
小飞在家隐私政策
小飞在家开源软件使用许可
讯飞账号隐私政策
讯飞账号用户协议
讯飞带屏音箱用户协议
讯飞带屏音箱隐私政策
AIUI SDK隐私政策
AIUI SDK合规使用说明
本文档使用 MrDoc 发布
-
+
首页
大模型功能
**目 录** 1. 大模型链路示意图 2. 结果解析说明 payload.cbm_tidy payload.cbm_semantic payload.nlp payload.tts 3. 自定义参数 4. 个性化参数 5. 落域判断 6. 风格化回复 7. 分段合成 8. 自定义设备人设 9. 常见问题解答 ## 1. 大模型链路示意图 ![1705457441654](/media/202401/1705457441654_1705650786.png) ## 2. 主要结果解析说明 <span style="color:red">注意:</span> <span style="color:red">text字段需要base64解码,示例是解码后的结果</span> ### payload.cbm_tidy <span style="color:red">说明:V2.1协议开始提供,取代cbm_intent_split 结果。</span> > 语义规整结果:请求包含多个问题时,大模型会拆分,示例: ```````java { "payload": { "cbm_tidy": { "compress": "raw","format": "plain","encoding": "utf8", "text": "{\"query\":\"合肥今天的天气?明天呢\",\"intent\":[{\"index\":0,\"value\":\"合肥今天的天气\"},{\"index\":1,\"value\":\"合肥明天的天气\"}]}", "seq": 0, "status": 2 } }, "header": {略} } ``````` text:base64解码后的内容 status: 结果状态 0-开始、 1-中间、2-长句结束,3-短句结束 seq:结果序号,0、1、2…… ### payload.cbm_semantic > 通用语义结果:多个结果时 payload.cbm_meta.text 中intent指定了具体意图。另外判断该结果是否正确理解,除解析rc=0外,还需要解析大模型[落域判断](#jump_1),详见下方说明。 > <span style="color:red">注意:</span> > <span style="color:red">文档问答是大模型能力,非通用语义。具体见下方文档问答使用</span> ```````java { "payload": { "cbm_meta": { "compress": "raw","format": "plain","encoding": "utf8", "text": "{\"cbm_semantic\":{\"intent\":0}}", "seq": 0, "status": 3 }, "cbm_semantic": { "compress": "raw","format": "plain","encoding": "utf8", "text": "{\"answer\":{\"text\":\"合肥全天晴......"}", "seq": 0, "status": 3 } }, "header": {略} } ``````` ### payload.nlp > 语义理解的结果,流式下发: ```````java { "payload": { "cbm_meta": { "compress": "raw","format": "plain","encoding": "utf8", "text": "{\"nlp\":{\"intent\":0,\"nlp_origin\":\"cbm_knowledge\"}}", "seq": 0, "status": 0 }, "nlp": { "compress": "raw","format": "plain","encoding": "utf8", "text": "吾之所知", "seq": 0, "status": 0 } }, "header": {略} } ``````` ### payload.tts > 合成结果:大模型结果建议[分段合成](#jump_2),减少等待耗时。 > > <span style="color:red">特别说明:</span> > <span style="color:red">AIUI平台的语义后合成,仅支持音频流下发,不支持url;下发url需主动请求合成。</span> ```````java { "payload": { "tts": { "sample_rate": 16000, "channels": 1, "audio": "aHR0cHM6Ly9haXVpL...", "encoding": "lame", "bit_depth": 16, "frame_size": 0, "seq": 1, "status": 2 } }, "header": {略} } ``````` ## 3. 上传自定义参数 > 1、构建自定义参数json字符串示例为 {\"key\":\"value\"} ,base64编码后为 eyJrZXkiOiJ2YWx1ZSJ9 > 2、构建新json字符串 :{\"userparams\":\"eyJrZXkiOiJ2YWx1ZSJ9\"},base64编码后为 eyJ1c2VycGFyYW1zIjoiZXlKclpYa2lPaUoyWVd4MVpTSjkifQ== ,赋值给 payload.cbm_semantic.text 取值,请求示例: ```````java { "payload": { "cbm_semantic": { "compress": "raw","format": "json","encoding": "utf8", "text": "eyJ1c2VycGFyYW1zIjoiZXlKclpYa2lPaUoyWVd4MVpTSjkifQ==", "status": 3 }, "text": { "compress": "raw","format": "plain","encoding": "utf8", "text": "5aSp56m65Li65LuA5LmI5piv6JOd6Imy55qE", "status": 3 } }, "parameter": { "nlp": { "nlp": { "compress": "raw","format": "json","encoding": "utf8" }, "sub_scene": "cbm_v45", "richness": "concise", "new_session": false } }, "header": { "uid": "1234567890", "appid": "a44e0f36", "stmid": "text-1", "status": 3, "scene": "main_box" } } ``````` ## 4. 个性化参数 > 1、构建个性化生效参数json字符串示例为 {\"uid\":\"1234567890\"} > 2、构建新json字符串 :{\"pers_param\":\"{\\\"uid\\\":\\\"1234567890\\\"}\"},再经过base64编码后为 eyJwZXJzX3BhcmFtIjoie1widWlkXCI6XCIxMjM0NTY3ODkwXCJ9In0=,赋值给 payload.cbm_semantic.text ,示例如下: > > <span style="color:red">注意:</span> > <span style="color:red">1、当同时需要透传个性化参数和自定义参数时,两者在同一个json中使用,示例:{\"userparams\":\"eyJrZXkiOiJ2YWxZSJ9\",\"pers_param\":\"{\\\"uid\\\":\\\"1234567890\\\"}\"}</span> > <span style="color:red">2、用户级uid取值保持和请求参数中header.sn 一致即可</span> ```````java { "payload": { "cbm_semantic": { "compress": "raw","format": "json","encoding": "utf8", "text": "eyJwZXJzX3BhcmFtIjoie1widWlkXCI6XCIxMjM0NTY3ODkwXCJ9In0=", "status": 3 }, "text": {...}//同第3节,上传自定义参数 }, "parameter": {...},//同第3节 "header": {...}//同第3节 } ``````` ## 5. 落域判断<span id="jump_1"> </span> > 大模型存在 cbm_semantic 通用结果被官方技能误吸收。此时通过落域判断来决定该通用语义是否使用: > 解析 payload.cbm_meta.text,若包含 untrusted 字段(详见下方示例),则此次通用语义结果不可信,直接丢弃结果。 > <span style="color:red">注意:</span> > <span style="color:red">当落域判断失败时,结果包含untrusted:true;当落域正确时,不下发该字段。</span> ```````java { "payload": { "cbm_meta": { "compress": "raw","format": "plain","encoding": "utf8", "text": "{\"cbm_semantic\":{\"intent\":0,\"untrusted\":true}}", "seq": 0, "status": 3 }, "cbm_semantic": {...} }, "header": {...} } ``````` ## 6. 风格化回复 > 大模型可以自定义风格来控制内容生成,示例: > 1、构建json数组: [{"type":"宠溺男友","value":"温柔体贴:无微不至地照顾人"}],然后进行base64编码 > 2、将编码后的字符串赋值给 payload.cbm_reply.text 取值,示例如下: > <span style="color:red">更多需求请联系aiui_support@iflytek.com</span> | 字段 | 含义 | 取值 | | :------- | :------- | :------- | | type | 类型标签,开发者自定义 |人物名称,例:宠溺男友 | | value | 风格描述,开发者自定义|基于人物性格给予详细描述 | ```````java { "payload": { "cbm_reply": { "compress": "raw","format": "json","encoding": "utf8", "text": "W3sidHlwZSI6IuWuoOa6uueUt+WPiyIsInZhbHVlIjoi5rip5p+U5L2T6LS077ya5peg5b6u5LiN6Iez5Zyw54Wn6aG+5Lq6In1d", "status": 3 }, "text": {...} //与第3节,上传自定义参数一样 }, "parameter": {...}, //同第3节 "header": {...} //同第3节 } ``````` ## 7. 分段合成<span id="jump_2"> </span> > aiui平台打开合成,云端会基于nlp结果自动合成下发音频流。<span style="color:red">注意:不支持下发url。</span> > > 分段合成是一种主动合成策略: > 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 | 自定义人设问题和答案,以键值对形式添加。 |{\"父亲\|爸爸\":\"科大讯飞\",\"姓名\|名字\|称呼\":\"小飞\"} | 请求示例:文本语义请求 ```````java 简单示例 { "header": {...}, //与第3节,上传自定义参数一样 "parameter": { "nlp": { "nlp": { "compress": "raw","format": "json","encoding": "utf8" }, "sub_scene": "cbm_v45", "new_session": false, "richness": "concise", "env": "{\"human\":{\"expand_persona\":true,\"persona\":\"{\\\"父亲|爸爸\\\":\\\"科大讯飞\\\",\\\"姓名|名字|称呼\\\":\\\"小飞\\\"}\"}}" } }, "payload": { "text": { "compress": "raw","format": "plain","encoding": "utf8", "text": "5omT55S16K+d57uZ5byg5LiJ", "status": 3 } } } ``````` ## 9. 常见问题解答 - AIUI平台的交互认知大模型和讯飞开放平台的大模型区别 > AIUI平台的大模型以星火通用大模型为底座,在人机交互场景下对知识问答、闲聊类做定向训练,提升交互场景效果。 - 为什么老应用无法切换到星火交互认知大模型? > AIUI应用(2022-06 月份以后创建的应用)新增 APISECRET 字段。无法切换的原因有: > 1、AIUI应用属于老应用,应用没有 APISECRET 信息,无法切换。 --- 建议新建应用接入。 > 2、支持切换的应用由于有过通用链路的服务授权,无法切换。 --- 建议新建应用接入或联系商务沟通。 - AIUI星火交互认知大模型如何收费? > 测试授权每天提供500次交互次数、20万大模型token;正式授权可以邮件aiui_support@iflytek.com申请或联系讯飞商务。 - 大模型接入方式有哪些? > [SDK版本](https://aiui-doc.xf-yun.com/project-1/doc-180/)需要为 6.6.xxx 以上版本; [API对接的websocket协议](https://aiui-doc.xf-yun.com/project-1/doc-181/)也是新接口,不能与原来的[通用语义链路websocket协议](https://aiui-doc.xf-yun.com/project-1/doc-17/)混用。 > 另外需要注意:大模型websocket是长链接,即在一次链接中可以持续不断的进行不同交互。端侧需要控制每次请求的stmid参数取值更改。超过一分钟无交互,云端自动断开。 - AIUI星火交互认知大模型链路和通用语义链路可以来回更改吗? > 在测试阶段(没有正式授权添加服务次数)支持任意切换,不过需要注意:端侧集成需要相应做对接方式切换。 - 不同情景模式可以配置不同的交互链路吗? > 支持,例如A情景用通用语义模型,B情景选择大模型。不过AIUI平台建议在正式商用应用上,单个应用做单一能力配置选择,减少授权问题排查难度。 - 通过SDK接入端侧可以做动态交互链路接入切换吗? > 不支持。SDK初始化后交互链路就已经固定了,做交互链路切换需要销毁对象重新加载新的配置文件初始化。 - 大模型是否还支持原来的技能配置? > 支持。后期规划下线部分通用知识工具类技能,如计算、时间等,由大模型进行内容生成回复。 - 新增的文档问答怎么使用或本地的知识文档如何对接大模型? > 在技能工作室 --> 我的问答库 下创建文档问答,按照格式要求上传文档,平台服务会进行知识点拆分解析,等解析完成后点击构建发布。这样一个问答库就构建好了,页面右侧栏也提供体验对话入口,可以结合展示的知识点拆分做修改,如给相关内容加上问题描述。最后配置到AIUI应用下语义理解中进行配置。 - 文档库中上传的内容包含图片,怎么在交互中获取? > 此模块(cbm_knowledge)默认未开放,如需要请联系aiui_support@iflytek.com 或商务申请。 - AIUI星火交互认知大模型链路有并发限制吗? > 默认 3 qps,正式合作联系商务增加qps。 - 大模型链路中用户个性化数据如何上传? > 开发中,完成后会更新开发文档。
admin
2024年10月31日 14:11
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码