本文介绍了基于通义大模型构建的语音审核大模型服务能力,包括语音文件审核大模型和语音直播流审核大模型。
一、服务概览
语音审核大模型版基于语音场景的内容风险特性,定制训练千问审核大模型,提供以下语音审核服务:
音视频媒体检测_大模型版:
针对语音文件审核场景,综合应用了通义大模型能力,针对音频中的风险进行检测,具备更强的语音识别和风险检测能力。支持中文(普通话、四川话、闽南语、吴语、粤语)等语种的识别。
音视频媒体检测_大模型出海版:
针对出海的语音文件审核场景,支持中文、英语、日语、德语、韩语、俄语、法语、葡萄牙语、阿拉伯语、意大利语、西班牙语、印地语、印尼语、泰语、土耳其语、乌克兰语、越南语、捷克语、丹麦语、菲律宾语、芬兰语、冰岛语、马来语、挪威语、波兰语、瑞典语等26种语种的语音审核。
社交娱乐直播检测_大模型版:
针对语音直播流审核场景,综合应用了通义大模型能力,针对音频中的风险进行检测,具备更强的语音识别和风险检测能力。支持中文(普通话、四川话、闽南语、吴语、粤语)等语种的识别。
社交娱乐直播检测_大模型出海版:
针对出海的语音直播流审核场景,支持中文、英语、日语、德语、韩语、俄语、法语、葡萄牙语、阿拉伯语、意大利语、西班牙语、印地语、印尼语、泰语、土耳其语、乌克兰语、越南语、捷克语、丹麦语、菲律宾语、芬兰语、冰岛语、马来语、挪威语、波兰语、瑞典语等26种语种的语音审核。
二、服务选型
服务 | 检测说明 | 支持地域 | 典型适用场景 |
音视频媒体检测_大模型版(audio_detection_byllm) |
| 华东2(上海)、华东1(杭州)、华北2(北京)、华南1(深圳)、西南1(成都) |
|
音视频媒体检测_大模型出海版(audio_detection_byllm_cb) | 针对出海场景,在音视频媒体检测_大模型版基础上,增加海外的风险管控项,如东南亚区域、中东区域、欧美区域的特定风险。 | 新加坡 | |
社交娱乐直播检测_大模型版(stream_detection_byllm) |
| 华东2(上海)、华东1(杭州)、华北2(北京)、华南1(深圳)、西南1(成都) |
|
社交娱乐直播检测_大模型出海版(stream_detection_byllm_cb) | 针对出海场景,在社交娱乐直播检测_大模型版基础上,增加海外的风险管控项,如东南亚区域、中东区域、欧美区域的特定风险。 | 新加坡 |
三、计费说明
语音审核增强版语音审核大模型服务支持按量后付费和资源包抵扣两种付费方式。
按量后付费
当您开通语音审核增强版服务后,默认付费方式是按量后付费,且按照实际用量结算当日费用,不调用服务不收费。
审核类型(计费项) | 支持的业务场景(服务) | 计费单价 |
语音审核大模型标准(audio_llm_standard) |
| 300元/万分钟,相当于1.8元/小时 说明 调用1次左侧任一服务进行1次计费。根据实际调用量计费,如调用100次音视频媒体检测_大模型版服务计费3元。 |
语音审核大模型高级(audio_llm_advanced) |
| 450元/万分钟,相当于2.7元/小时 说明 调用1次左侧任一服务进行1次计费。根据实际调用量计费,如调用100次音视频媒体检测_大模型出海版服务计费4.5元。 |
内容安全增强版的按量付费的计量出账频率为1小时/次。在出账详单中,moderationType对应上述审核类型字段。您可以查看账单详情。
资源包抵扣
如果您的审核量较大,或有相对固定的审核需求,建议预先购买资源包的方式。购买资源包规格越大,享受的折扣越大,支持叠加购买和使用。更多内容,请参见购买内容审核增强版抵扣资源包。
该资源包用于内容审核增强版用量的抵扣,无法与内容安全1.0版流量包共享,具体的抵扣系数如下:
审核类型 | 抵扣系数 |
语音审核大模型标准(audio_llm_standard) | 抵扣系数为40,表示每成功调用服务单位分钟,抵扣资源包的容量规格40次。 说明 例如,购买的资源包的流量包容量规格为100次,当您需要审核的语音时长为1分钟,调用成功后抵扣流量包容量规格消耗40次,剩余60次。 |
语音审核大模型高级(audio_llm_advanced) | 抵扣系数为60,表示每成功调用服务单位分钟,抵扣资源包的容量规格60次。 说明 例如,购买的资源包的流量包容量规格为100次,当您需要审核的语音时长为1分钟,调用成功后抵扣流量包容量规格消耗60次,剩余40次。 |
购买后,使用图片审核增强版API所产生的用量会优先抵扣资源包的次数,当资源包次数不足以抵扣时,阿里云费用系统会自动按照按量付费进行出账,请及时关注您的资源包余量和按量付费账单。您可以通过阿里云费用中心的资源包系统设定余量预警通知。
四、接入指南
步骤一:开通服务
访问开通服务,开通语音审核增强版服务。
开通语音审核增强版服务后,默认付费方式是按量后付费,且按照实际用量结算当日费用,不调用服务不收费。接口接入使用后系统会按使用量自动出账,具体信息,请参见计费说明。您也可以购买按量抵扣资源包,资源包相较于后付费存在一定阶梯折扣,适合使用量级可预期和较大的用户。
步骤二:为RAM用户授权
在接入SDK或者API之前,您需要为RAM用户授权。您可以为阿里云账号和RAM用户创建一个访问密钥(AccessKey)。在调用阿里云API时您需要使用AccessKey完成身份验证。获取方式,请参见获取AccessKey。
使用阿里云账号(主账号)或RAM管理员登录RAM控制台。
创建RAM用户。具体操作,请参见创建RAM用户。
向RAM用户授权系统策略权限:AliyunYundunGreenWebFullAccess。具体操作,请参见为RAM用户授权。完成以上配置后,您可以使用RAM用户调用内容安全API。
步骤三:安装并接入SDK
请参考语音审核增强版2.0版SDK及接入指南,目前支持的接入地域如下:
地域 | 外网接入地址 | 内网接入地址 | 支持服务 |
华东2(上海) | green-cip.cn-shanghai.aliyuncs.com | green-cip-vpc.cn-shanghai.aliyuncs.com | audio_detection_byllm、stream_detection_byllm |
华东1(杭州) | green-cip.cn-hangzhou.aliyuncs.com | green-cip-vpc.cn-hangzhou.aliyuncs.com | |
华北2(北京) | green-cip.cn-beijing.aliyuncs.com | green-cip-vpc.cn-beijing.aliyuncs.com | |
华南1(深圳) | green-cip.cn-shenzhen.aliyuncs.com | green-cip-vpc.cn-shenzhen.aliyuncs.com | |
西南1(成都) | green-cip.cn-chengdu.aliyuncs.com | 暂无 | |
新加坡 | green-cip.ap-southeast-1.aliyuncs.com | green-cip-vpc.ap-southeast-1.aliyuncs.com | audio_detection_byllm_cb、stream_detection_byllm_cb |
步骤四:调整语音审核的规则(可选)
您可以在内容安全控制台调整语音审核大模型的检测规则,包括文本审核规则、复制service、配置自定义词库、查询检测记录、查询用量等。
五、API接口
使用说明
您可以调用该接口创建语音内容检测任务。关于如何构造HTTP请求,请参见HTTP原生调用;您也可以直接选用已构造好的HTTP请求,更多信息,请参见语音审核增强版SDK及接入指南。
业务接口:
提交审核任务:VoiceModeration
查询审核任务:VoiceModerationResult
取消审核任务:VoiceModerationCancel
计费信息:
该接口为收费接口。仅对HTTP状态码为200的请求进行计量计费,产生其他错误码时不会计费。关于计费方式,请参见计费说明。
服务性能:
服务性能
说明
音频文件大小
增强版支持音频文件的大小限制为500 MB。
音频文件格式
支持音频文件格式:MP3、WAV、AAC、WMA、OGG、M4A、AMR。
支持视频文件格式:AVI、FLV、MP4、MPG、ASF、WMV、MOV、RMVB、RM。
音频直播流
支持以下协议:RTMP、HLS、HTTP-FLV、RTSP。
请求频率(QPS)
提交任务请求频率(QPS)为100次/秒。
并发路数
增强版支持的默认并发路数限制为50路。
提交审核任务
请求参数
名称 | 类型 | 是否必须 | 示例值 | 描述 |
Service | String | 是 | audio_detection_byllm | 审核服务类型。取值:
|
ServiceParameters | JSONString | 是 | 审核服务需要的参数集。JSON字符串格式,关于每个字符串的描述,请参见ServiceParameters。 |
表 1. ServiceParameters
名称 | 类型 | 是否必须 | 示例值 | 描述 |
url | String | 是。语音审核增强版支持三种方式传入文件,请您选择其中一种:
| http://aliyundoc.com/test.mp3 | 待检测对象的URL:公网HTTP/HTTPS URL。 |
ossBucketName | String | bucket_01 | 已授权OSS空间的Bucket名。 说明 使用OSS视频内网地址时必须先使用阿里云账号(即主账号)访问云资源访问授权页面进行授权。 | |
ossObjectName | String | 20240307/07/28/test.mp3 | 已授权OSS空间的文件名。 | |
ossRegionId | String | cn-shanghai | OSS Bucket所在区域。 | |
callback | String | 否 | http://aliyundoc.com | 检测结果回调通知您的URL,支持使用HTTP和HTTPS协议的地址。该字段为空时,您必须定时轮询检测结果。 callback接口必须支持POST方法、UTF-8编码的传输数据,以及表单参数checksum和content。 内容安全按照以下规则和格式设置checksum和content,调用您的callback接口返回检测结果。
说明 您的服务端callback接口收到内容安全推送的结果后,如果返回的HTTP状态码为200,则表示接收成功,其他的HTTP状态码均视为接收失败。接收失败时,内容安全将最多重复推送16次检测结果,直到接收成功。重复推送16次后仍未接收成功,则不再推送,建议您检查callback接口的状态。 |
seed | String | 否 | abc**** | 随机字符串,该值用于回调通知请求中的签名。 由英文字母、数字、下划线(_)组成,不超过64个字符。由您自定义,用于在接收到内容安全的回调通知时校验请求由阿里云内容安全服务发起。 说明 当使用callback时,该字段必须提供。 |
cryptType | String | 否 | SHA256 | 使用回调通知时(callback),设置对回调通知内容进行签名的算法。内容安全会将返回结果(由用户uid + seed + content拼接的字符串)按照您设置的加密算法计算签名,再发送到您的回调通知地址。取值:
|
liveId | String | 否 | liveId1**** | 语音直播流的ID。 该参数用于语音直播任务去重,防止重复检测,如果传递该参数,会根据 |
dataId | String | 否 | voice20240307*** | 检测对象对应的数据ID。 由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过64个字符,可以用于唯一标识您的业务数据。 |
referer | String | 否 | www.aliyun.com | referer请求头,用于防盗链等场景。长度不超过256个字符。 |
extra | String | 否 | {"VolcAppId":"6fabbd****1a7e", "VolcTokenId": "User123456", "VolcToken": "6fabbd****1a7e"} | 扩展参数JSON字符串,仅用于指定第三方音视频通信RTC产品的参数。具体信息,请参见语音审核增强版对接第三方音视频通信RTC。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
Code | Integer | 200 | 状态码。更多信息,请参见Code说明。 |
Data | JSONObject | {"TaskId": "AAAAA-BBBBB","DataId": "voice20240307***"} | 审核结果数据。 |
Message | String | OK | 请求消息的响应消息。 |
RequestId | String | AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE**** | 请求ID。 |
示例
请求示例
{
"Service": "audio_detection_byllm",
"ServiceParameters": {
"cryptType": "SHA256",
"seed": "abc***123",
"callback": "https://aliyun.com/callback",
"url": "http://aliyundoc.com/test.mp3"
}
}正常返回示例
{
"Code": 200,
"Data": {
"TaskId": "AAAAA-BBBBB",
"DataId": "voice20240307***"
},
"Message": "SUCCESS",
"RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}查询任务结果
直播类型审核任务过程中,查询结果会返回最近N条语音片段数据。任务审核完成后,查询结果会返回全部语音片段数据。
查询审核任务:VoiceModerationResult。
计费信息:该接口不计费。
查询超时:建议您将查询间隔设置为30秒(即在提交异步检测任务30秒后查询结果),最长不能超过24小时,否则结果将会自动删除。
QPS限制
本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。
请求参数
名称 | 类型 | 是否必须 | 示例值 | 描述 |
Service | String | 是 | audio_detection_byllm | 审核服务类型。 |
ServiceParameters | JSONString | 是 | 审核服务需要的参数集。JSON字符串格式,关于每个字符串的描述,请参见ServiceParameters。 |
表 2. ServiceParameters
名称 | 类型 | 是否必须 | 示例值 | 描述 |
taskId | String | 是 | AAAAA-BBBBB | 提交任务返回的ID。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
Code | Integer | 200 | 状态码。更多信息,请参见Code说明。 |
Data | JSONObject | 音频内容检测结果。更多信息,请参见Data。 | |
Message | String | OK | 请求消息的响应消息。 |
RequestId | String | AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE**** | 请求ID。 |
表 3. Data
名称 | 类型 | 示例值 | 描述 |
Url | String | https://aliyundoc.com/text.mp3 | 检测对象的URL。 |
LiveId | String | liveId1**** | 语音直播流的ID(可选)。 |
DataId | String | voice20240307*** | 检测对象对应的数据ID(可选)。 |
RiskLevel | String | high | 音频的风险等级,根据所有音频切片计算后返回,返回值包括:
说明 高风险内容建议直接处置;中风险内容建议人工复查;低风险内容建议在高召回需求时再做处理,日常建议和未检测到风险做相同处理。 |
SliceDetails | JSONArray | 返回语音片段的详细结果。具体内容,请参见sliceDetails。 | |
ManualTaskId | String | 人审任务ID,用于查询人审结果。如果配置了人机审核检测,且命中了人审条件时,会返回此信息。具体配置请参考人机审核服务配置。 |
表 4. sliceDetails
名称 | 类型 | 示例值 | 描述 |
StartTime | Integer | 0 | 句子开始的时间,单位:秒。 |
EndTime | Integer | 4065 | 句子结束的时间,单位:秒。 |
StartTimestamp | Integer | 1678854649720 | 切片开始时间戳,单位:毫秒。 |
EndTimestamp | Integer | 1678854649720 | 切片结束时间戳,单位:毫秒。 |
Text | String | 恶心的 | 语音转换成文本内容。 |
Url | String | https://aliyundoc.com | 如果检测的内容是语音流,表示该段文本对应的语音流的临时访问地址。该地址有效时间为30分钟,需要及时转存。 |
RiskLevel | String | high | 音频切片的风险等级,返回值包括:
|
Result | JSONArray | 返回的语音审核结果。具体内容,请参见Result。 |
表 5. Result
名称 | 类型 | 示例值 | 描述 |
Label | String | political_entity | 语音内容检测运算后返回的标签,可能会检出多个标签和分值。包含文本策略的标签和语音专用便签两部分:
说明 特性声音和呻吟声音默认不会检测,如需检测,请联系您的商务经理。 |
Description | String | 疑似色情内容 | 对Labal字段的说明。 重要 该字段为Label字段的解释说明,可能会变更调整,实际处理结果时建议处理Label字段,不要基于该字段进行结果处置。 |
Confidence | Float | 81.22 | 置信分值,0到100分,保留到小数点后2位。部分标签无置信分。 |
RiskLevel | String | high | 当前标签的风险等级,返回值包括:
|
Riskwords | String | AA,BB,CC | 检测到的敏感词,多个词用逗号分隔,部分标签不会返回敏感词。 |
CustomizedHit | JSONArray | [{"LibName":"...","Keywords":"..."}] | 当命中自定义库时,Label为customized,返回自定义库名称和自定义词,具体参见CustomizedHit。 |
RiskPositions | JSONArray | 检测到敏感词的位置信息。更多信息,请参见RiskPositions。 |
表 6. CustomizedHit
名称 | 类型 | 示例值 | 描述 |
LibName | String | 自定义库1 | 自定义库名称 |
Keywords | String | 自定义词1,自定义词2 | 自定义词,多个词用逗号分隔。 |
表 7. RiskPositions
名称 | 类型 | 示例值 | 描述 |
RiskWord | String | AA | 检测到的敏感词。 |
StartPos | Integer | 10 | 敏感词的开始位置。 |
EndPos | Integer | 12 | 敏感词的结束位置。 |
示例
请求示例
{
"Service": "audio_detection_byllm",
"ServiceParameters": {
"taskId": "AAAAA-BBBBB"
}
}正常返回示例
{
"Code": 200,
"Data": {
"DataId": "voice20240307***",
"LiveId": "liveId1****",
"RiskLevel": "high",
"SliceDetails": [
{
"StartTime": 0,
"EndTime": 4065,
"RiskLevel": "high",
"Result": [
{
"Label": "political_entity",
"Description": "疑似政治实体",
"Confidence": 100.0,
"RiskLevel": "high",
"RiskWords": "词A,词B",
"RiskPositions": [
{
"EndPos": 14,
"RiskWord": "词A",
"StartPos": 16
}
]
}
],
"Text": "内容安全产品测试用例",
"Url": "https://aliyundoc.com"
}
]
},
"Message": "OK",
"RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}取消审核任务
仅直播流的审核任务支持取消,文件类型的任务不支持取消。
取消审核任务:VoiceModerationCancel。
计费信息:该接口不计费。
请求参数
名称 | 类型 | 是否必须 | 示例值 | 描述 |
Service | String | 是 | stream_detection_byllm | 审核服务类型。 |
ServiceParameters | JSONString | 是 | 审核服务需要的参数集。JSON字符串格式,关于每个字符串的描述,请参见ServiceParameters。 |
表 5. ServiceParameters
名称 | 类型 | 是否必须 | 示例值 | 描述 |
taskId | String | 是 | AAAAA-BBBBB | 提交任务返回的ID。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
Code | Integer | 200 | 状态码。更多信息,请参见Code说明。 |
Message | String | OK | 请求消息的响应消息。 |
RequestId | String | AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE**** | 请求ID。 |
示例
请求示例
{
"Service": "stream_detection_byllm",
"ServiceParameters": {
"taskId": "AAAAA-BBBBB"
}
}正常返回参数
{
"Code": 200,
"Message": "OK",
"RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}回调消息格式
回调消息的数据为JSON格式的表单如下所示:
字段名 | 字段类型 | 描述 |
checksum | String | 校验码,字符串格式,由用户 用户UID即阿里云账号ID,可以在阿里云控制台查询。为防篡改,您可以在获取到推送结果时,按上述算法生成字符串,与checksum做一次校验。 说明 用户UID必须是阿里云账号的UID,而不是RAM用户的UID。 |
taskId | String | 回调消息的任务ID。 |
content | String | 序列化后的检测结果,JSON字符串格式,请自行解析反转成JSON对象。关于content结果的格式,与查询任务结果的返回一致。详细信息,请参见返回参数。 |
Code说明
以下为接口返回code的含义说明,系统仅对code返回为200的请求计量计费,其他code不会计费。
Code | 说明 |
200 | 请求正常。 |
280 | 检测中。 |
400 | 请求参数为空。 |
401 | 请求参数错误。 |
402 | 请求参数长度不符合接口规定,请检查并修改。 |
403 | 请求超过QPS限制,请检查并调整QPS限制。 |
404 | 传入的文件下载遇到错误,请检查或重试。 |
405 | 传入的文件下载超时,可能是因为文件无法访问,请检查调整后重试。 |
406 | 传入的文件超过大小限制,请检测调整后重试。 |
407 | 传入的文件格式暂不支持,请检查调整后重试。 |
408 | 该账号无权限调用该接口,可能是账号未开通或者已欠费,或者调用账号未被授权访问。 |
480 | 检测并发路数超过限制,请检查并调整并发。 |
500 | 系统异常。 |