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

更新时间:
复制 MD 格式

当您需要对音视频媒体或直播流中的语音内容进行风险检测时,可使用基于通义大模型定制的语音审核服务,自动识别涉黄、涉政、辱骂等违规内容。本文介绍语音审核大模型的服务选型、计费方式和接入方法。

服务概览

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

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

    基于通义大模型检测语音文件中的违规风险,支持中文(普通话、四川话、闽南语、吴语、粤语)等多种方言识别,适用于文件上传、批量审核场景。

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

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

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

    基于通义大模型实时检测直播流语音中的违规风险,支持中文(普通话、四川话、闽南语、吴语、粤语)等语种识别,适用于实时流审核、低延迟检测场景。

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

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

服务选型

服务

检测说明

支持地域

对应计费项

适用场景

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

  • 应用通义大模型能力。

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

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

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

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

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

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

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

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

新加坡

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

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

  • 应用通义大模型能力。

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

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

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

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

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

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

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

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

新加坡

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

计费说明

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

按量后付费

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

审核类型(计费项)

支持的业务场景(服务)

计费单价

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

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

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

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

说明

调用1次左侧任一服务进行1次计费,单价为0.03元/分钟(300元/万分钟)。根据实际调用量计费,如调用100次音视频媒体检测_大模型版服务(每次1分钟),计费3元。

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

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

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

450元/万分钟,相当于2.7元/小时

说明

调用1次左侧任一服务进行1次计费,单价为0.045元/分钟(450元/万分钟)。根据实际调用量计费,如调用100次音视频媒体检测_大模型出海版服务(每次1分钟),计费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。

授权完成后,使用RAM用户的AccessKey调用一次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

审核服务类型。取值:

  • 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,支持使用HTTP和HTTPS协议。该字段为空时,需要定时轮询检测结果。

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

内容安全按照以下规则和格式设置checksum和content,调用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

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

RiskLevel

String

high

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

  • high:高风险

  • medium:中风险

  • low:低风险

  • none:未检测到风险

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 + 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

系统异常。