基于大模型的语音审核服务

更新时间:
复制为 MD 格式

本文介绍了基于通义大模型构建的语音审核大模型服务能力,包括语音文件审核大模型和语音直播流审核大模型。

一、服务概览

语音审核大模型版基于语音场景的内容风险特性,定制训练千问审核大模型,提供以下语音审核服务:

  • 音视频媒体检测_大模型版

    针对语音文件审核场景,综合应用了通义大模型能力,针对音频中的风险进行检测,具备更强的语音识别和风险检测能力。支持中文(普通话、四川话、闽南语、吴语、粤语)等语种的识别。

  • 音视频媒体检测_大模型出海版

    针对出海的语音文件审核场景,支持中文、英语、日语、德语、韩语、俄语、法语、葡萄牙语、阿拉伯语、意大利语、西班牙语、印地语、印尼语、泰语、土耳其语、乌克兰语、越南语、捷克语、丹麦语、菲律宾语、芬兰语、冰岛语、马来语、挪威语、波兰语、瑞典语等26种语种的语音审核。

  • 社交娱乐直播检测_大模型版

    针对语音直播流审核场景,综合应用了通义大模型能力,针对音频中的风险进行检测,具备更强的语音识别和风险检测能力。支持中文(普通话、四川话、闽南语、吴语、粤语)等语种的识别。

  • 社交娱乐直播检测_大模型出海版

    针对出海的语音直播流审核场景,支持中文、英语、日语、德语、韩语、俄语、法语、葡萄牙语、阿拉伯语、意大利语、西班牙语、印地语、印尼语、泰语、土耳其语、乌克兰语、越南语、捷克语、丹麦语、菲律宾语、芬兰语、冰岛语、马来语、挪威语、波兰语、瑞典语等26种语种的语音审核。

二、服务选型

服务

检测说明

支持地域

典型适用场景

音视频媒体检测_大模型版(audio_detection_byllm)

  • 应用通义大模型能力。

  • 综合效果最佳,适合对语音文件审核有较高要求的场景。

华东2(上海)、华东1(杭州)、华北2(北京)、华南1(深圳)、西南1(成都)

  • 音视频媒体,以综合视频和有声小说为主,内容类型丰富。

  • 基于千问ASR能更好的识别多种方言(如粤语、四川话)和多语种(如英语、德语、韩语、日语、俄语、法语、葡萄牙语、越南语)。

  • 基于文本审核大模型,能更好的识别意识形态、涉政正负向和各种隐喻等内容。

音视频媒体检测_大模型出海版(audio_detection_byllm_cb)

针对出海场景,在音视频媒体检测_大模型版基础上增加海外的风险管控项,如东南亚区域、中东区域、欧美区域的特定风险。

新加坡

社交娱乐直播检测_大模型版stream_detection_byllm

  • 应用通义大模型能力。

  • 综合效果最佳,适合对语音直播流审核有较高要求的场景。

华东2(上海)、华东1(杭州)、华北2(北京)、华南1(深圳)、西南1(成都)

  • 社交直播场景,通常是主播单人说话,直播间易有背景音乐。

  • 应用大模型增强对复杂环境中的模型准确率,降低方言口音和背景音的干扰。

  • 应用文本审核大模型,重点识别涉黄、辱骂和暗喻、正负向等违规风险,同时能够识别直播静音的情况。

社交娱乐直播检测_大模型出海版(stream_detection_byllm_cb)

针对出海场景,在社交娱乐直播检测_大模型版基础上增加海外的风险管控项,如东南亚区域、中东区域、欧美区域的特定风险。

新加坡

三、计费说明

语音审核增强版语音审核大模型服务支持按量后付费和资源包抵扣两种付费方式。

按量后付费

当您开通语音审核增强版服务后,默认付费方式是按量后付费,且按照实际用量结算当日费用,不调用服务不收费。

审核类型(计费项)

支持的业务场景(服务)

计费单价

语音审核大模型标准(audio_llm_standard)

  • 音视频媒体检测_大模型版:audio_detection_byllm

  • 社交娱乐直播检测_大模型版:stream_detection_byllm

300元/万分钟,相当于1.8元/小时

说明

调用1次左侧任一服务进行1次计费。根据实际调用量计费,如调用100音视频媒体检测_大模型版服务计费3元。

语音审核大模型高级(audio_llm_advanced)

  • 音视频媒体检测_大模型出海版(audio_detection_byllm_cb)

  • 社交娱乐直播检测_大模型出海版(stream_detection_byllm_cb)

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

  1. 使用阿里云账号(主账号)或RAM管理员登录RAM控制台

  2. 创建RAM用户。具体操作,请参见创建RAM用户

  3. RAM用户授权系统策略权限:AliyunYundunGreenWebFullAccess。具体操作,请参见RAM用户授权。完成以上配置后,您可以使用RAM用户调用内容安全API。

步骤三:安装并接入SDK

请参考语音审核增强版2.0SDK及接入指南,目前支持的接入地域如下:

地域

外网接入地址

内网接入地址

支持服务

华东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

审核服务类型。取值:

  • audio_detection_byllm:音视频媒体检测_大模型版

  • stream_detection_byllm:社交娱乐直播检测_大模型版

  • audio_detection_byllm_cb:音视频媒体检测_大模型出海版

  • stream_detection_byllm_cb:社交娱乐直播检测_大模型出海版

ServiceParameters

JSONString

审核服务需要的参数集。JSON字符串格式,关于每个字符串的描述,请参见ServiceParameters

表 1. ServiceParameters

名称

类型

是否必须

示例值

描述

url

String

是。语音审核增强版支持三种方式传入文件,请您选择其中一种:

  • 使用音频URL方式进行检测,传入url。

  • 使用OSS授权进行检测,必须同时传入ossBucketName、ossObjectName、ossRegionId。

  • 使用本地音频进行检测。上传本地音频文件检测,不占用您的OSS存储空间,且文件只存储30分钟。SDK接入已经集成本地音频上传功能,具体代码示例,请参见语音审核增强版SDK及接入指南

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,支持使用HTTPHTTPS协议的地址。该字段为空时,您必须定时轮询检测结果。

callback接口必须支持POST方法、UTF-8编码的传输数据,以及表单参数checksumcontent

内容安全按照以下规则和格式设置checksumcontent,调用您的callback接口返回检测结果。

  • checksum:字符串格式,由用户uid + seed + content拼成字符串,通过SHA256算法生成。用户UID即阿里云账号ID,可以在阿里云控制台查询。为防篡改,您可以在获取到推送结果时,按上述算法生成字符串,与checksum做一次校验。

    说明

    用户UID必须是阿里云账号的UID,而不是RAM用户的UID。

  • content:JSON字符串格式,请自行解析反转成JSON对象。关于content结果的示例,请参见查询检测结果的返回示例。

说明

您的服务端callback接口收到内容安全推送的结果后,如果返回的HTTP状态码为200,则表示接收成功,其他的HTTP状态码均视为接收失败。接收失败时,内容安全将最多重复推送16次检测结果,直到接收成功。重复推送16次后仍未接收成功,则不再推送,建议您检查callback接口的状态。

seed

String

abc****

随机字符串,该值用于回调通知请求中的签名。

由英文字母、数字、下划线(_)组成,不超过64个字符。由您自定义,用于在接收到内容安全的回调通知时校验请求由阿里云内容安全服务发起。

说明

当使用callback时,该字段必须提供。

cryptType

String

SHA256

使用回调通知时(callback),设置对回调通知内容进行签名的算法。内容安全会将返回结果(由用户uid + seed + content拼接的字符串)按照您设置的加密算法计算签名,再发送到您的回调通知地址。取值:

  • SHA256(默认):使用SHA256加密算法。

  • SM3:使用国密HMAC-SM3加密算法,返回十六进制的字符串,且字符串由小写字母和数字组成。例如,abc经国密SM3加密后返回66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0。

liveId

String

liveId1****

语音直播流的ID。

该参数用于语音直播任务去重,防止重复检测,如果传递该参数,会根据uid+service+liveId判断是否存在检测中的直播任务。如果存在,就直接返回已存在的直播检测taskId,不发起新的任务。

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

音频的风险等级,根据所有音频切片计算后返回,返回值包括:

  • high:高风险

  • medium:中风险

  • low:低风险

  • none:未检测到风险

说明

高风险内容建议直接处置;中风险内容建议人工复查;低风险内容建议在高召回需求时再做处理,日常建议和未检测到风险做相同处理。

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

音频切片的风险等级,返回值包括:

  • high:高风险

  • medium:中风险

  • low:低风险

  • none:未检测到风险

Result

JSONArray

返回的语音审核结果。具体内容,请参见Result

表 5. Result

名称

类型

示例值

描述

Label

String

political_entity

语音内容检测运算后返回的标签,可能会检出多个标签和分值。包含文本策略的标签和语音专用便签两部分:

  • 文本策略的标签请参见风险标签部分

  • 语音独有标签包含:

    • specified_nontalk:静音音频

    • specified_speaking:特定声音

    • sexual_sounds:呻吟声音

说明

特性声音和呻吟声音默认不会检测,如需检测,请联系您的商务经理。

Description

String

疑似色情内容

Labal字段的说明。

重要

该字段为Label字段的解释说明,可能会变更调整,实际处理结果时建议处理Label字段,不要基于该字段进行结果处置。

Confidence

Float

81.22

置信分值,0100分,保留到小数点后2位。部分标签无置信分。

RiskLevel

String

high

当前标签的风险等级,返回值包括:

  • high:高风险

  • medium:中风险

  • low:低风险

  • none:未检测到风险

Riskwords

String

AA,BB,CC

检测到的敏感词,多个词用逗号分隔,部分标签不会返回敏感词。

CustomizedHit

JSONArray

[{"LibName":"...","Keywords":"..."}]

当命中自定义库时,Labelcustomized,返回自定义库名称和自定义词,具体参见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 + seed + content拼成字符串,通过SHA256算法生成。

用户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

系统异常。