# 1. 超拟人合成简介
SparkChain支持用户把一段文本送入指定的接口,获取该文本的超拟人合成音频。超拟人相比常规的合成能力,合成效果更好!同时在合成中,利用大模型生成一些拟声词,使合成的音频更加拟人化更加真实。
# 2. 兼容性说明
类别 | 兼容范围 |
---|---|
系统 | 支持arm64架构,兼容iOS 9.0 及以上版本 |
开发环境 | 建议使用Xcode 进行开发 |
# 3. 授权说明
超拟人合成按照调用次数进行授权。
# 4. SDK集成包目录结构
SDK zip包解压缩,得到如下文件:
├── Demo SparkChain的使用DEMO,DEMO中已经集成了SDK,您可以参考DEMO,集成SDK。集成前,请先测通DEMO,了解调用原理。
├── ReleaseNotes.txt SDK版本日志
├── SDK SparkChain SDK
│ └── SparkChain.framework
└── SparkChain LLM iOS SDK集成文档.pdf SparkChain集成指南
# 5. SDK工程配置
# 5.1 导入SDK库
SparkChain iOS SDK 核心代码库由SparkChain.framework组成。在引入工程中时,在工程的General的frameworks,Libraries,and Embedded Content 中使用Embedded & sign
示例如下:
# 5.2 设置BitCode
SparkChain iOS SDK暂不支持Bitcode,Xcode 7、Xcode 8默认开启了Bitcode,而Bitcode 需要工程依赖的所有类库同时支持,可关闭此设置,只需在Targets - Build Settings 中搜索Bitcode 即可,找到相应选项,设置为NO。
# 6. 接口流程调用图
# 7. SDK初始化
**在使用SDK功能前,需要首先开通星火大模型授权并获取已开通授权的应用信息(appId、apiKey、apiSecret)。SDK全局只需要初始化一次。**初始化时,开发者需要构建一个SparkChainConfig实例config,把相关的appid信息以及日志设置等传入config中,然后通过[SparkChain.getInst init:config]方法把config实例设置到SDK中。具体初始化示例如下:
//配置应用信息
SparkChainConfig * config = [[SparkChainConfig alloc] init];
config.appID("appID")
.apiKey("apiKey")
.apiSecret("apiSecret");
int ret = [SparkChain.getInst init:config];
NSLog("初始化结果 ret = %d",ret);
初始化参数说明:
接口名称 | 含义 | 参数类型 | 限制 | 是否必填 |
---|---|---|---|---|
appID | 创建应用后,生成的唯一应用ID | NSString | 与平台生成的appID完全一致 | 是 |
apiKey | 创建应用后,生成的唯一应用标识 | NSString | 与平台生成的apiKey完全一致 | 是 |
apiSecret | 创建应用后,生成的唯一应用秘钥 | NSString | 与平台生成的apiSecret完全一致 | 是 |
logLevel | 日志等级 | int | 枚举,0:VERBOSE,1:DEBUG,2:INFO,3:WARN,4:ERROR,5:FATAL,100:OFF | 否 |
logPath | 日志存储路径,设置则会把日志存在该路径下,不设置则会把日志打印在终端上。 | NSString | 设置的路径需要有读写权限 | 否 |
uid | 用户自定义标识 | NSString | 否 |
初始化返回值:0:初始化成功,非0:初始化失败,请根据具体返回值参考错误码章节查询原因。
# 8. 超拟人初始化
在使用超拟人功能前,需先通过其构造方法PersonateTTS 类构建其实例,然后用该实例调用相应的方法去设置合成参数。
超拟人构造方法如下:
@interface PersonateTTS : TTS
- (instancetype)initWithVcn:(NSString *)vcn
@end
构造方法参数说明:
方法名 | 参数名 | 类型 | 说明 |
---|---|---|---|
initWithVcn | vcn | NSString | 超拟人实例的构造方法,需传入发音人。发音人具体参见下方vcn方法说明 |
具体示例如下:
PersonateTTS * tts = [[PersonateTTS alloc] initWithVcn:@"x4_lingfeizhe_oral"];
# 9. 配置参数
SDK支持用户根据自身需求,通过构建的PersonateTTS *实例访问相关方法配置合成参数。具体参数说明如下:
参数名 | 参数类型 | 说明 | 是否必填 | 默认值 |
---|---|---|---|---|
vcn | NSString | 超拟人发音人设置接口,发音人可从构造方法中设入,也可通过此方法动态修改。 x4_lingxiaoxuan_oral,聆⼩璇,⼥:中⽂ x4_lingfeizhe_oral,聆⻜哲,男:中⽂ x4_lingyuzhao_oral,聆⽟昭,⼥:中⽂ | 否 | 由构造方法传入 |
speed | int | 语速:0对应默认语速的1/2,100对应默认语速的2倍。最⼩值:0, 最⼤值:100 | 否 | 50 |
pitch | int | 语调:0对应默认语速的1/2,100对应默认语速的2倍。最⼩值:0, 最⼤值:100 | 否 | 50 |
volume | int | 音量:0是静音,1对应默认音量1/2,100对应默认音量的2倍。最⼩值:0, 最⼤值:100 | 否 | 50 |
reg | int | 英⽂发⾳方式。0:⾃动判断处理,如果不确定将按照英⽂词语拼写处理(缺省), 1:所有英⽂按字⺟发⾳, 2:⾃动判断处理,如果不确定将按照字⺟朗读。 | 否 | 0 |
rdn | int | 合成⾳频数字发⾳⽅式。0:⾃动判断, 1:完全数值, 2:完全字符串, 3:字符串优先 | 否 | 0 |
sampleRate | int | 输出音频的采样率。16000, 8000, 24000 | 否 | 16000 |
encoding | NSString | ⾳频编码。lame(即mp3),raw(即pcm) | 否 | raw |
bitDepth | int | 位深。16, 8 | 否 | 16 |
channels | int | 声道数。1, 2 | 否 | 1 |
frameSize | int | 帧⼤⼩。最⼩值:0, 最⼤值:1024 | 否 | 0 |
bgs | int | 背景⾳。0:⽆背景⾳, 1:内置背景⾳1, 2:内置背景⾳2 | 否 | 0 |
rhy | bool | 是否返回拼⾳标注。false:不返回拼⾳, true:返回拼⾳(纯⽂本格式,utf8编码) | 否 | false |
scn | int | 场景。0:⽆, 1:散⽂阅读, 2:⼩说阅读, 3:新闻, 4:⼴告, 5:交互 | 否 | 0 |
version | bool | 引擎初始化,是否返回版本信息+时间戳信息。false:不返回, true:返回版本信息+时间戳信息。如XXX.18928127 XXX表示版本号,后接秒为单位的时间戳 | 否 | false |
paragraphSilLen | int | 段落静⾳时⻓,取值范围为0~10000ms。最⼩值:0, 最⼤值:10000 | 否 | |
topK | int | 配置从k个候选中随机选择⼀个(⾮等概率)。取值范围1-6 | 否 | 4 |
maxTokens | int | 回答的tokens的最大长度。取值范围1-8192 | 否 | 8192 |
oralLevel | NSString | ⼝语化等级。⾼:high, 中:mid, 低:low | 否 | mid |
sparkAssist | bool | 是否通过⼤模型进⾏⼝语化。开启:true, 关闭:false | 否 | true |
具体配置示例如下:
tts.vcn = @"x4_lingfeizhe_oral";
tts.speed = 50;
tts.pitch = 50;
tts.volume = 50;
...
tts.sparkAssist = true
# 10. 注册结果监听回调
超拟人运行结果通过监听回调异步返回,监听回调如下:
protocol TTSCallbacks <NSObject>
- (void)tts:(TTS *)tts onResult:(TTSResult *)result usrContext:(id)context;
- (void)tts:(TTS *)tts onError:(TTSError *)error usrContext:(id)context;
@end
TTSCallbacks数据结构说明:
- onResult为超拟人合成音频回调方法,参数说明如下:
参数 | 类型 | 说明 |
---|---|---|
result | TTSResult * | 超拟人合成结果实例 |
context | id | 用户自定义标识 |
- TTSResult结构说明:
属性名 | 返回值类型 | 说明 |
---|---|---|
seq | int | 数据序号,标明数据为第⼏块。最⼩值:0, 最⼤值:9999999 |
data | NSData | ⾳频数据,最⼩尺⼨:0B, 最⼤尺⼨:10485760B |
ced | NSString | 流式音频数据的进度尾端点 |
pybuf | NSString | 合成音频的拼音结果 |
version | NSString | 合成引擎的版本号 |
status | int | 数据状态,0:开始, 1:开始, 2:结束 |
sid | NSString | 本次会话的id |
- onError为超拟人合成错误回调,参数说明如下:
参数 | 类型 | 说明 |
---|---|---|
error | TTSError * | 错误信息结果实例 |
context | id | 用户自定义标识 |
- TTSError结果说明:
属性名 | 返回值类型 | 说明 |
---|---|---|
code | int | 错误码ID,具体参考第12节 |
errMsg | NSString | 错误信息 |
sid | NSString | 本次会话的id |
具体示例如下:
tts.cbs = self; //设置代理
- (void)tts:(nonnull TTS *)tts onResult:(nonnull TTSResult *)result usrContext:(nonnull id)context {
int seq = result.seq;//数据序号
NSData *data = result.data;//音频数据
NSString *ced = result.ced;//进度
NSString *pybuf = result.pybuf;//拼音结果
NSString *version = result.version;//引擎版本号
int status = result.status;//数据状态
NSString *sid = result.sid;//sid
}
- (void)tts:(nonnull TTS *)tts onError:(nonnull TTSError *)error usrContext:(nonnull id)context {
int code = error.code;//错误码
NSString *errMsg = error.errMsg;//错误信息
NSString *sid = error.sid;//sid
}
# 11. 请求调用
开发者注册完监听回调后,可通过arun方法进行请求调用。请求调用接口如下:
@interface TTS : NSObject
- (void)arun:(NSString *)text;
- (void)arun:(NSString *)text userInfo:(id)userInfo;
@end
aRun方法结构说明:
参数 | 类型 | 说明 |
---|---|---|
text | NSString | 请求合成文本。 |
userInfo | id | 用户自定义标识 |
具体示例如下:
NSString *text = "从未见过开得这样盛的藤萝,只见一片辉煌的淡紫色,像一条瀑布,从空中垂下,不见其发端。"
[tts arun:text];
//带用户自定义标识调用方式示例:
//int usrTag = 1;
//[tts arun:text userInfo:usrTag];
# 12. 停止合成
如果开发者不需要此次合成结果,可以通过调用stop方法结束本次合成,然后重新进行下一次交互。具体调用如下:
[tts stop];
如果不需要继续使用SDK,需要执行逆初始化释放资源。逆初始化执行步骤参考第13节。
# 13. 逆初始化
当SDK需要完整退出时,需调用逆初始化方法释放资源,示例代码如下:
[[SparkChain getInst] unInit];
# 14. SDK API介绍
# 14.1 SparkChainConfig API
返回值类型 | 属性说明 |
---|---|
SparkChainConfig | @property(nonatomic, readonly, copy) NSString * appID 设置用户的appID |
SparkChainConfig | @property(nonatomic, readonly, copy) NSString * apiKey 设置用户的apiKey |
SparkChainConfig | @property(nonatomic, readonly, copy) NSString * apiSecret 设置用户的apiSecret |
SparkChainConfig | @property(nonatomic, readonly, copy) NSString * uid 设置用户自定义标识 |
SparkChainConfig | @property(nonatomic, readonly, copy) NSString * workDir 设置SDK工作路径 |
SparkChainConfig | @property(nonatomic, readonly, copy) NSString *logLevel 设置日志等级 |
SparkChainConfig | @property(nonatomic, readonly, copy) NSString *logPath 设置日志保存路径 |
# 14.2 SparkChain API
返回值类型 | 方法说明 |
---|---|
SparkChain | + (SparkChain *)getInst 获取SparkChain实例 |
int | - (int)init:(SparkChainConfig *)config SDK初始化 |
int | - (int)unInit SDK逆初始化 |
# 14.3 PersonateTTS API
类型 | 参数方法说明 |
---|---|
NSString | @property(nonatomic, copy) NSString * vcn 设置发音人 |
int | @property(nonatomic, assign) int speed 设置合成语速 |
int | @property(nonatomic, assign) int pitcht 设置语调 |
int | @property(nonatomic, assign) int volume 设置音量 |
int | @property(nonatomic, assign) int reg 设置英文发音方式 |
int | @property(nonatomic, assign) int rdn 设置音频数字发音方式 |
int | @property(nonatomic, assign) int sampleRate 设置输出音频的采样率 |
NSString | @property(nonatomic, copy) NSString * encoding 设置输出音频的音频编码 |
int | @property(nonatomic, assign) int bitDepth 设置输出音频的位深 |
int | @property(nonatomic, assign) int channels 设置输出音频的声道数 |
int | @property(nonatomic, assign) int frameSize 设置输出音频的帧大小 |
int | @property(nonatomic, assign) int bgs 背景音 |
bool | @property(nonatomic, assign) BOOL rhy 是否返回拼音标注 |
int | @property(nonatomic, assign) int scn 场景 |
bool | @property(nonatomic, assign) BOOL version 引擎初始化,是否返回版本信息+时间戳信息。 |
int | @property(nonatomic, assign) int l5SilLen 控制L5静⾳时⻓ |
int | @property(nonatomic, assign) int paragraphSilLen 段落静⾳时⻓ |
int | @property(nonatomic, assign) int topK 配置从k个候选中随机选择⼀个 |
int | @property(nonatomic, assign) int maxTokens 回答的tokens的最大长度 |
NSString | @property(nonatomic, copy) NSString * oralLevel ⼝语化等级 |
bool | @property(nonatomic, assign) bool sparkAssist 是否通过⼤模型进⾏⼝语化 |
void | @protocol TTSCallbacks |
void | - (void)arun:(NSString *)text 超拟人请求调用方法 |
void | - (void)arun:(NSString *)text userInfo:(id)userInfo 超拟人请求调用方法,带用户自定义标识 |
void | - (void)stop 超拟人停止调用方法 |
# 14.4 PersonateTTS TTSResult API
返回值类型 | 方法说明 |
---|---|
int | @property(nonatomic, assign, readonly) int seq 获取数据序号 |
NSData | @property(nonatomic, copy, readonly) NSData * data 获取音频数据 |
NSString | @property(nonatomic, copy, readonly) NSString * ced 获取流式音频数据的进度尾端点 |
NSString | @property(nonatomic, copy, readonly) NSString * pybuf 获取音频的拼音结果 |
NSString | @property(nonatomic, copy, readonly) NSString * version 获取引擎的版本号 |
int | @property(nonatomic, assign, readonly) int status 获取数据状态,0:开始, 1:开始, 2:结束 |
NSString | @property(nonatomic, copy, readonly) NSString * sid 获取本次会话sid |
# 14.5 PersonateTTS TTSError API
返回值类型 | 方法说明 |
---|---|
int | @property(nonatomic, assign, readonly) int code 获取错误码ID |
NSString | @property(nonatomic, copy, readonly) NSString * errMsg 获取错误信息 |
NSString | @property(nonatomic, copy, readonly) NSString * sid 获取本次会话sid |
# 15. 错误码
错误码包含SDK错误码和超拟人云端错误码。
# 15.1 SDK错误码
错误码 | 含义 | 自查指南 |
---|---|---|
0 | 操作成功 | |
18000 | 本地license文件不存在 | 检查工作目录下是否存在license文件,或者该目录是否有读写权限 |
18001 | 授权文件内容非法 | 授权文件存在问题,请联系技术支持询问 |
18002 | 授权文件解析失败 | 授权文件可能存在损坏,请联系技术支持询问 |
18003 | payload内容缺失 | 授权文件存在问题,请联系技术支持询问 |
18004 | signature内容缺失 | 授权文件存在问题,请联系技术支持询问 |
18005 | 授权已过期 | 授权时间过期,请检查系统时间是否是当前时间,并联系技术支持询问 |
18006 | 授权时间错误,比正常时间慢30分钟以上 | 请检查系统时间是否正确 |
18007 | 授权应用不匹配(apiKey、apiSecret) | apiKey、apiSecret 配置有误,请核对项目中配置的 apiKey、apiSecret 。 |
18008 | 授权文件激活过期 | 授权文件已超过15天未激活,需要联系相关人员重新生成离线授权文件 |
18009 | 授权app信息指针为空 | |
18010 | 离线授权激活文件指定平台与设备平台不匹配 | 授权文件里预置的平台架构与实际运行的设备的平台架构不一致 |
18011 | 离线授权激活文件指定架构与设备cpu架构不匹配 | 授权文件里预置的cpu架构与实际运行的设备的cpu架构不一致 |
18012 | 离线授权激活文件中包含License个数异常 | 离线授权文件异常,请联系相关人员重新生成离线授权文件 |
18013 | 离线授权激活文件中未找到当前设备 | 当前运行的设备的设备指纹不在离线授权文件中,请检查该设备的设备指纹是否在提供的指纹池中 |
18014 | 离线授权激活文件中设备指纹安全等级非法 | 请联系技术支持调整该appid的设备指纹等级 |
18015 | 硬件授权验证失败 | 硬件授权验证失败,请联系相关人员处理 |
18016 | 离线授权激活文件内容非法 | 离线授权文件被修改,请联系相关人员重新生成离线授权文件 |
18017 | 离线授权激活文件中协议头非法 | 离线授权文件被修改,请联系相关人员重新生成离线授权文件 |
18018 | 离线授权激活文件中指纹组成项个数为0 | 离线授权文件生成异常,请联系相关人员重新生成离线授权文件 |
18019 | 资源已过期 | 资源的时间校验已过期,请联系相关人员增加授权时间 |
18100 | 资源鉴权失败 | 资源鉴权失败,请联系相关人员处理 |
18101 | 资源格式解析失败 | 资源格式解析失败,请联系相关人员处理 |
18102 | 资源(与引擎)不匹配 | 资源(与引擎)不匹配,请检查资源是否用错,如果未用错,请联系相关人员处理 |
18103 | 资源参数不存在(指针为NULL) | 资源参数不存在,请检查资源是否正确 |
18104 | 资源路径打开失败 | 资源路径打开失败,请检查工作目录下是否存在该资源,或者该资源是否存在读写权限 |
18105 | 资源加载失败,workDir内未找到对应资源 | 请检查workDir中是否存在此资源,或者resDir是否设置正确,或者app是否有改路径的读写权限 |
18106 | 资源卸载失败, 卸载的资源未加载过 | 资源卸载失败, 卸载的资源未加载过 |
18200 | 引擎鉴权失败 | 引擎鉴权失败,引擎存在问题。请联系技术支持询问 |
18201 | 引擎动态加载失败 | 引擎动态加载失败,请联系技术支持询问 |
18202 | 引擎未初始化 | 引擎在使用前,需要调用engineInit初始化 |
18203 | 引擎不支持该接口调用 | 引擎不支持该接口调用,请查询对应的能力文档,使用正确的方法调用 |
18204 | 引擎craete函数指针为空 | 引擎存在问题,请联系技术支持询问 |
18300 | SDK不可用 | SDK存在异常,请联系技术支持询问 |
18301 | SDK未初始化 | 在使用大模型前请先初始化 SDK,如果有调用 uninit 方法,再次使用大模型交互时需要重新初始化。 |
18302 | SDK初始化失败 | 请根据init接口回调中返回的错误码参考此文档做对应检查 |
18303 | SDK 已经初始化 | 重复初始化导致,使用能力时,SDK 只需要初始化一次,请检查 SDK 初始化逻辑是否存在多次初始化。 |
18304 | 不合法参数 | 请参考demo及集成文档仔细检查所传参数是否正确。 |
18305 | SDK会话handle为空 | 请检查代码逻辑,handle是否被释放 |
18306 | SDK会话未找到 | SDK会话未找到 |
18307 | SDK会话重复终止 | SDK会话重复终止,请检查代码逻辑 |
18308 | 超时错误 | 请求超时 |
18309 | SDK正在初始化中 | SDK正在初始化中,请检查代码逻辑 |
18310 | SDK会话重复开启 | SDK会话重复开启,请检查代码逻辑 |
18311 | sdk同一能力并发路数超出最大限制 | sdk同一能力并发路数超出最大限制 |
18312 | 此实例已处在运行态,禁止单实例并发运行 | SDK同一能力单实例不支持并发 |
18400 | 工作目录无写权限 | 在设置 workDir 时,请确保该工作路径有读写权限。若无法设置读写权限,请修改为有读写权限的工作路径。 |
18401 | 设备指纹获取失败,设备未知 | 采集不到设备指纹 |
18402 | 文件打开失败 | 请检查 日志中所打印的文件是否存在,以及对应路径下是否有读权限。 |
18403 | 内存分配失败 | 请联系技术支持询问 |
18404 | 设备指纹比较失败 | 请联系技术支持询问 |
18500 | 未找到该参数 key | 请参照demo或集成文档仔细检查参数名拼写 |
18501 | 参数范围溢出,不满足约束条件 | 请根据文档检查调用 SDK 方法时所传参数范围,需要确保所传参数符合协议约束要求 |
18502 | SDK 初始化参数为空 | 请根据 SDK 集成文档检查 SDK 初始化代码,确保必填参数有值且合法 |
18503 | SDK 初始化参数中 appId 为空 | appId 为空值,请在 SDK 初始化时传入正确的 appId 值 |
18504 | SDK 初始化参数中 apiKey为空 | apiKey为空值,请在 SDK 初始化时传入正确的 apiKey值 |
18505 | SDK 初始化参数中 apiSecret 为空 | apiSecret 为空值,请在 SDK 初始化时传入正确的 apapiSecret 值 |
18506 | ability参数为空 | 请检查代码逻辑,参数是否未传入 |
18507 | input参数为空 | 请检查代码逻辑,参数是否未传入 |
18508 | 输入数据参数Key不存在 | 请检查代码逻辑,参数key是否不符合该引擎 |
18509 | 必填参数缺失 | 请参考demo或者文档检查是否漏传必填参数 |
18510 | output参数缺失 | 引擎输出参数异常,请联系技术支持询问 |
18520 | 不支持的编解码类型 | 请检查送入的数据是否符合要求 |
18521 | 编解码handle指针为空 | 请检查代码逻辑,handle是否被释放 |
18522 | 编解码模块条件编译未打开 | 请联系技术支持询问 |
18523 | 编码错误 | 请联系技术支持询问 |
18524 | 解码错误 | 请联系技术支持询问 |
18600 | 协议中时间戳字段缺失 | 协议文件异常,请联系技术支持询问 |
18601 | 协议中未找到该能力ID | 调用的能力不在该SDK中,请检查SDK是否使用错误,或者调用能力id是否写错 |
18602 | 协议中未找到该资源ID | appid没有该资源的使用权限 |
18603 | 协议中未找到该引擎ID | 协议存在问题,请联系技术支持询问 |
18604 | 协议中引擎个数为0 | 协议存在问题,请联系技术支持询问 |
18605 | 协议未被初始化解析 | 协议存在问题,请联系技术支持询问 |
18606 | 协议能力接口类型不匹配 | 协议存在问题,请联系技术支持询问 |
18607 | 预置协议解析失败 | 协议存在问题,请联系技术支持询问 |
18700 | 通用网络错误 | 请检查网络连接是否正常 |
18701 | 网络不通 | 请检查网络连接是否正常 |
18702 | 网关检查不过 | 检查设备时间是否正确; 请检查 SDK 初始化时所传 apiKey、apiScrect 是否正确; |
18703 | 云端响应格式不对 | 请检查网络是否可以正常访问外网 |
18704 | 应用未注册 | appid存在问题,请检查 appid 是否正确 |
18705 | 应用 ApiKey & ApiSecret 校验失败 | 请检查 apiKey、apiSecret 是否正确 |
18706 | 引擎不支持的平台架构 | 请检查运行的设备平台引擎是否支持 |
18707 | 授权已过期 | 请检查授权期限 |
18708 | 无可用授权 | 没有授权或者授权已满 |
18709 | 未找到该app绑定的能力 | 请检查该appid是否申请该能力 |
18710 | 未找到该app绑定的能力资源 | 该appid没有该资源的使用权限,请联系技术支持询问 |
18711 | JSON操作失败 | 请联系技术支持询问 |
18712 | 网络请求 404 错误 | 请检查网络是否通畅 |
18713 | 设备指纹安全等级不匹配 | 设备指纹安全等级不符合要求 |
18714 | 应用信息有误 | 服务端无法查询到api_key,请检查api_key和api_secret信息是否填写正确 |
18715 | 未找到该SDK ID | SDK异常,请联系技术支持询问 |
18716 | 未找到该组合能力集合 | 请检查使用的能力是否是该appid所申请的能力 |
18717 | SDK授权不足 | 授权数量已满 |
18718 | 无效授权应用签名 | 应用签名异常,请联系技术支持询问 |
18719 | 应用签名不唯一 | 应用签名异常,请联系技术支持询问 |
18720 | 能力schema不可用 | 请联系技术支持询问 |
18721 | 竞争授权: 未找到能力集模板 | 请联系技术支持询问 |
18722 | 竞争授权: 能力不在模板能力集模板中 | 请联系技术支持询问 |
18801 | 连接建立出错 | 请检查网络是否通畅 |
18802 | 结果等待超时 | 请检查网络是否通畅 |
18803 | 连接状态异常 | 请检查网络是否通畅 |
18902 | 并发超过路数限制 | 不支持并发 |
18903 | 大模型规划步骤为空 | 请检查请求数据的意图是否明确 |
18904 | 插件未找到 | 请检查是否使用了未存在的插件 |
18906 | 与大模型交互次数超限制 | |
18907 | 运行超限制时长 | |
18908 | 大模型返回结果格式异常 | 可能是因为大模型结果太多,导致30秒内没有返回完,从而引起SDK内部认为超时,建议使用异步调用。 |
18951 | 同一流式大模型会话,禁止并发交互请求 | |
18952 | 输入数据为空或异常 | |
19001 | 设备级授权: 设备被禁用 | |
19002 | 设备级授权: 协议解析失败 | |
19003 | 设备级授权: 本地缓存获取失败 | |
19004 | 设备级授权: 无网络 | |
19005 | 设备级授权: 授权未找到 | |
19006 | 设备级授权: 设备授权获取失败 | |
19007 | 设备级授权: 当前设备处于黑名单 | |
19008 | 设备级授权: 当前设备不在白名单 | |
19010 | 设备级授权: 鉴权参数非法 | |
20011 | 设备级授权: 不匹配的appid |
# 15.2 超拟人云端错误码
错误码 | 错误描述 | 说明 | 处理策略 |
---|---|---|---|
10009 | input invalid data | 输⼊数据⾮法 | 检查输⼊数据 |
10010 | service license not enough | 没有授权许可或授权数已满 | 提交⼯单 |
10019 | service read buffer timeout, session timeout session | 超时 | 检查是否数据发送完毕但未关闭连接 |
10043 | Syscall AudioCodingDecode error | ⾳频解码失败 | 检查aue参数,如果为speex,请确保⾳频是speex⾳频并分段压缩且与帧⼤⼩⼀致 |
10114 | session timeout session | 超时 | 会话时间超时,检查是否发送数据时间超过了60s |
10139 | invalid param | 参数错误 | 检查参数是否正确 |
10160 | parse request json error | 请求数据格式⾮法 | 检查请求数据是否是合法的json |
10161 | parse base64 string error base64 | 解码失败 | 检查发送的数据是否使⽤base64编码了 |
10163 | param validate error:... | 参数校验失败 | 具体原因⻅详细的描述 |
10200 | read data timeout | 读取数据超时 | 检查是否累计10s未发送数据并且未关闭连接 |
10222 | context deadline exceeded | 1.上传的数据超过了接⼝上限;2.SSL证书⽆效; | |
10223 | RemoteLB: can't find valued addr | lb 找不到节点 | 提交⼯单 |
10313 | invalid appid | appid和apikey不匹配 | 检查appid是否合法 |
10317 | invalid version | 版本⾮法 | 请到控制台提交⼯单联系技术⼈员 |
10700 | not authority | 引擎异常 | 按照报错原因的描述,对照开发⽂档检查输⼊输出,如果仍然⽆法排除问题,请提供sid以及接⼝返回的错误信息,到控制台提交⼯单联系技术⼈员排查。 |
11200 | auth no license | 功能未授权 | 请先检查appid是否正确,并且确保该appid下添加了相关服务。若没问题,则按照如下⽅法排查。 1.确认总调⽤量是否已超越限制,或者总次数授权已到期,若已超限或者已过期请联系商务⼈员。 2. 查看是否使⽤了未授权的功能,或者授权已过期。 |
11201 | auth no enough license | 该APPID的每⽇交互次数超过限制 | 根据⾃身情况提交应⽤审核进⾏服务量提额,或者联系商务购买企业级正式接⼝,获得海量服务量权限以便商⽤。 |
11503 | server error :atmos return an error data | 服务内部响应数据错误 | 提交⼯单 |
11502 | server error: too many datas in resp | 服务配置错误 | 提交⼯单 |
100001~100010 | WrapperInitErr调⽤引擎时出现错误 | AI Service图⽚翻译多语种合并版本 | 协议请根据message中包含的errno前往5.2引擎错误码 查看对应的说明及处理策略 |