Qwen 大規模言語モデルは、ユーザーがアップロードした音声ファイルとライブストリームに含まれるリスクのあるコンテンツを検出し、フィルターします。このトピックでは、利用可能なモデレーションサービス、課金方法、および API 統合手順について説明します。
概要
音声モデレーション (大規模モデル版) は、音声コンテンツのリスクシナリオに合わせてファインチューニングされた Qwen 大規模言語モデル (LLM) を使用し、音声内のリスクのあるコンテンツを検出してフラグを立てます。次のサービスを利用できます:
中国統合サービス (audio_standard_cn) は、モデレーションリクエストを中国本土のインフラストラクチャ経由でルーティングします。このサービスは国際サイトのユーザーが利用でき、料金は 1,000 分あたり $3.50 です。リソースパッケージもサポートしています。ビジネスの対象が中国本土のユーザーであり、現地のコンテンツモデレーション基準への準拠が必要な場合は、このサービスを使用してください。
[Audio and Video Media Detection_LLM Edition]:
音声ファイルをモデレートします。Qwen 大規模モデルを使用して、音声認識とリスク検出を強化します。中国語、英語、日本語、ドイツ語、韓国語、ロシア語、フランス語、ポルトガル語、アラビア語、イタリア語、スペイン語、ヒンディー語、インドネシア語、タイ語、トルコ語、ウクライナ語、ベトナム語、チェコ語、デンマーク語、フィリピン語、フィンランド語、アイスランド語、マレー語、ノルウェー語、ポーランド語、スウェーデン語を含む 26 言語をサポートしています。
[Social & Entertainment Live Stream Detection_LLM Version]:
ライブ音声ストリームをモデレートします。Qwen 大規模モデルを使用して、音声認識とリスク検出を強化します。中国語、英語、日本語、ドイツ語、韓国語、ロシア語、フランス語、ポルトガル語、アラビア語、イタリア語、スペイン語、ヒンディー語、インドネシア語、タイ語、トルコ語、ウクライナ語、ベトナム語、チェコ語、デンマーク語、フィリピン語、フィンランド語、アイスランド語、マレー語、ノルウェー語、ポーランド語、スウェーデン語を含む 26 言語をサポートしています。
サービスの選択
サービス | 説明 | サポートされているリージョン | 一般的なシナリオ |
[Audio and Video Media Detection_LLM Edition](audio_detection_byllm_global) |
| シンガポール |
|
[Social & Entertainment Live Stream Detection_LLM Version](live_detection_byllm_global) |
| シンガポール |
|
課金
Voice Moderation (Large Model Edition) は、従量課金に対応しています。また、大量または継続的な使用量が見込まれる場合は、リソースパッケージを購入することでコストを削減できます。
従量課金
Voice Moderation (Large Model Edition) を有効化すると、従量課金がデフォルトの課金方法となります。料金は実際の使用量に基づいて請求され、サービスを呼び出さない限り料金は発生しません。
課金項目 | サービス | 単位価格 |
Voice Moderation Advanced (audio_advanced) |
| 1,000 分あたり USD 18 説明 課金は、処理された音声の合計時間に基づきます。たとえば、[Audio and Video Media Detection_LLM Edition] で 100 分の音声を処理した場合のコストは USD 1.80 です。 |
Voice Moderation (Large Model Edition) Standard (China-integrated) (audio_standard_cn) |
| 1,000 分あたり USD 3.50 説明 課金は、処理された音声の合計時間に基づきます。たとえば、中国統合サービスで 100 分の音声を処理した場合のコストは USD 0.35 です。 |
Content Moderation の従量課金は、24 時間ごとに精算されます。課金の詳細において、moderationType はモデレーションのタイプを示します。課金の詳細 で確認できます。
リソースパッケージの控除
モデレーションの量が多い、または継続的な利用が見込まれる場合は、事前にリソースパッケージを購入します。パッケージが大きいほど割引率が高くなり、複数のパッケージを同時に購入して使用できます。Content Moderation V2.0 リソースパッケージの購入 をご参照ください。
モデレーションタイプ | 控除係数 |
Voice Moderation Advanced (audio_advanced) | 正常に処理された音声 1 分ごとに、リソースパッケージから 60 ユニットが控除されます。 説明 たとえば、100 ユニットのパッケージで 1 分の音声を処理すると、60 ユニットが控除され、40 ユニットが残ります。 |
Voice Moderation (Large Model Edition) Standard (China-integrated) (audio_standard_cn) | 正常に処理された音声 1 分ごとに、リソースパッケージから 11.67 ユニットが控除されます。 説明 たとえば、100 ユニットのパッケージで 1 分の音声を処理すると、11.67 ユニットが控除され、88.33 ユニットが残ります。 |
購入後、控除はまず Voice Moderation (Large Model Edition) API の使用量に適用されます。リソースパッケージのユニットが不足すると、システムは自動的に従量課金に切り替わります。リソースパッケージシステム で残高と請求書を監視し、残高不足アラートを設定することもできます。
利用開始
ステップ 1:サービスの有効化
音声モデレーションの有効化ページに移動してサービスを有効化します。
有効化後、デフォルトの課金方法は従量課金となります。料金は実際の使用量に対してのみ請求され、サービスを使用しない場合は料金は発生しません。課金の詳細については、「課金」をご参照ください。また、使用量が予測可能、または大量のユーザー向けに、従量課金よりも段階的な割引が適用されるリソースパッケージを購入することもできます。
ステップ 2:RAM ユーザーへの権限付与
API の呼び出しや SDK を使用する前に、必要な権限を RAM ユーザーに付与してください。API コールは、Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ペアを使用して認証されます。詳細については、「AccessKeyの取得」をご参照ください。
Alibaba Cloud アカウントまたは RAM 管理者アカウントを使用してRAM コンソールにログインしてください。
RAM ユーザーを作成してください。詳細については、「RAM ユーザーの作成」をご参照ください。
AliyunYundunGreenWebFullAccessシステムポリシーを RAM ユーザーにアタッチしてください。詳細については、「RAM ユーザーへの権限付与」をご参照ください。これにより、RAM ユーザーは Content Moderation API を呼び出すことができます。
ステップ 3:SDK のインストールと統合
「音声モデレーション SDK と統合ガイド」に従って SDK をインストールし、統合してください。このサービスは、次のリージョンで利用できます:
リージョン | パブリックエンドポイント | VPC エンドポイント | サービス |
シンガポール | green-cip.ap-southeast-1.aliyuncs.com | green-cip-vpc.ap-southeast-1.aliyuncs.com | audio_detection_byllm_global, live_detection_byllm_global |
ステップ 4:モデレーションルールの調整 (任意)
Content Moderation コンソールでは、大規模モデルの検出ルールの設定、テキストモデレーションルールの管理、サービスのクローン、カスタム辞書の設定、審査ログの確認、および使用量の監視ができます。
API リファレンス
使用上の注意
このAPIを使用して、音声コンテンツのモデレーションタスクを送信できます。HTTP リクエストの構築手順については、「Making native HTTP calls」をご参照ください。または、SDK を使用することもできます。詳細については、「Voice Moderation の SDK および統合ガイド」をご参照ください。
API:
VoiceModeration:モデレーションタスクを送信します。VoiceModerationResult:モデレーションタスクの結果を照会します。VoiceModerationCancel:モデレーションタスクをキャンセルします。
課金:
このAPIは有料です。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。
1 秒あたりのクエリ数 (QPS)
タスク送信の上限は 100 QPS です。
同時ストリーム
デフォルトで 50 の同時ストリームに対応しています。
審査タスクの送信
リクエストパラメーター
パラメーター | タイプ | 必須 | 値の例 | 説明 |
Service | 文字列 | はい | audio_detection_byllm_global | 呼び出す審査サービス。有効な値:
|
ServiceParameters | JSON 文字列 | はい | 審査サービスに必要なパラメーター。JSON 文字列形式で指定します。各パラメーターの説明については、「ServiceParameters」をご参照ください。 |
表 1. ServiceParameters
パラメーター | タイプ | 必須 | 値の例 | 説明 |
url | 文字列 | はい。次の 3 つの方法のいずれかでファイルを指定する必要があります。
| http://aliyundoc.com/test.mp3 | 審査する音声または動画ファイルの URL。パブリック HTTP および HTTPS の URL がサポートされています。 |
ossBucketName | 文字列 | bucket_01 | 承認された OSS 説明 内部 OSS URL を使用するには、まず Alibaba Cloud アカウント (ルートアカウント) を使用してクラウドリソースアクセス承認ページでアクセスを許可する必要があります。 | |
ossObjectName | 文字列 | 20240307/07/28/test.mp3 | 承認済みの OSS | |
ossRegionId | 文字列 | cn-shanghai | OSS | |
callback | 文字列 | いいえ | http://aliyundoc.com | 審査結果が送信される
説明 お使いのコールバックエンドポイントは、Content Security から通知を受信した後、受信を確認するために HTTP |
seed | 文字列 | いいえ | abc**** |
文字、数字、およびアンダースコア (_) で構成され、最大長は 64 文字です。この値をカスタマイズして、 説明 コールバック URL を指定する場合は、このパラメーターを指定する必要があります。 |
cryptType | 文字列 | いいえ | SHA256 |
|
liveId | 文字列 | いいえ | liveId1**** | ライブ音声ストリームの一意の識別子。 このパラメーターは、同一ストリームに対するモデレーションタスクの重複を防ぎます。このパラメーターが指定されると、サービスは複合キー |
dataId | 文字列 | いいえ | voice20240307*** | 審査対象コンテンツのカスタム識別子。 この ID を使用して、ビジネスデータを一意に識別します。英字 (大文字と小文字を区別しない)、数字、アンダースコア (_)、ハイフン (-)、ピリオド (.) が使用でき、最大 64 文字です。 |
referer | 文字列 | いいえ | www.aliyun.com |
|
レスポンスパラメーター
パラメーター | タイプ | 値の例 | 説明 |
Code | 整数 | 200 |
|
Data | JSON オブジェクト | {"TaskId": "AAAAA-BBBBB","DataId": "voice20240307***"} | レスポンスデータ。 |
Message | 文字列 | SUCCESS | レスポンスメッセージ。 |
RequestId | 文字列 | AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE**** |
|
例
リクエスト例
{
"Service": "audio_detection_byllm_global",
"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****"
}タスク結果の照会
進行中のライブストリーム監査タスクでは、クエリを実行すると最新のオーディオスライスが返されます。タスクが完了すると、すべてのスライスが返されます。
監査タスクを照会するには、VoiceModerationResult API を呼び出します。
課金:この API は無料です。
照会のタイミング:非同期タスクを送信した後、少なくとも 30 秒待ってから結果を照会してください。結果は 24 時間保持され、その後自動的に削除されます。
QPS 上限
この API は、ユーザーあたり最大 100 QPS をサポートします。過剰なリクエストはスロットリングされ、アプリケーションに影響を与える可能性があります。適切なレートで呼び出してください。
リクエストパラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
Service | String | はい | audio_detection_byllm | 監査サービスの種類。 |
ServiceParameters | JSONString | はい | 必要なサービスパラメーターを JSON 文字列として指定します。詳細については、「ServiceParameters」をご参照ください。 |
表 2. ServiceParameters
パラメーター | タイプ | 必須 | 例 | 説明 |
taskId | String | はい | AAAAA-BBBBB | タスク送信時に返されるタスク ID。 |
レスポンスパラメーター
パラメーター | タイプ | 例 | 説明 |
Code | Integer | 200 | ステータスコード。詳細については、「ステータスコード」をご参照ください。 |
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」をご参照ください。 |
表 4. SliceDetails
パラメーター | タイプ | 例 | 説明 |
StartTime | Integer | 0 | 文の開始時刻 (秒単位)。 |
EndTime | Integer | 4065 | 文の終了時刻 (秒単位)。 |
StartTimestamp | Integer | 1678854649720 | オーディオスライスの開始タイムスタンプ (ミリ秒単位)。 |
EndTimestamp | Integer | 1678854649720 | オーディオスライスの終了タイムスタンプ (ミリ秒単位)。 |
Text | String | Disgusting | 音声から書き起こされたテキスト。 |
Url | String | https://aliyundoc.com | 監査対象コンテンツがライブオーディオストリームからのものである場合、このパラメーターには対応するオーディオセグメントへ一時的な URL が格納されます。URL は 30 分間有効です。必要に応じて、速やかにコンテンツを保存してください。 |
RiskLevel | String | high | オーディオスライスのリスクレベル。有効な値は次のとおりです:
|
Result | JSONArray | 監査結果が格納されたオブジェクトの配列。詳細については、「Result」をご参照ください。 |
表 5. Result
パラメーター | タイプ | 例 | 説明 |
Label | String | political_entity | コンテンツに割り当てられた監査ラベル。サービスは複数のラベルを検出する場合があります。これには、テキストポリシーのラベルと音声固有のラベルが含まれます:
説明 デフォルトでは、指定された発話と性的音声の検出は無効になっています。この機能を有効にするには、アカウントマネージャーにお問い合わせください。 |
Description | String | Suspected political entity |
重要 このフィールドは |
Confidence | Float | 81.22 | 信頼度スコア。0 から 100 までの値で、小数点以下 2 桁までです。一部のラベルには信頼度スコアがありません。 |
RiskLevel | String | high | 現在のラベルのリスクレベル。有効な値は次のとおりです:
|
Riskwords | String | AA, BB, CC | 検出されたリスクワードをカンマ区切りで示します。このパラメーターは、すべてのラベルで返されるわけではありません。 |
CustomizedHit | JSONArray | [{"LibName":"...","Keywords":"..."}] | カスタムライブラリのキーワードが検出された場合、 |
RiskPositions | JSONArray | 検出されたリスクワードの位置。詳細については、「RiskPositions」をご参照ください。 |
表 6. CustomizedHit
パラメーター | タイプ | 例 | 説明 |
LibName | String | CustomLibrary1 | カスタムライブラリの名前。 |
Keywords | String | CustomKeyword1, CustomKeyword2 | 検出されたカスタムキーワードをカンマ区切りで示します。 |
表 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": "Suspected political entity",
"Confidence": 100.0,
"RiskLevel": "high",
"RiskWords": "WordA,WordB",
"RiskPositions": [
{
"EndPos": 16,
"RiskWord": "WordA",
"StartPos": 14
}
]
}
],
"Text": "Content Moderation product test case",
"Url": "https://aliyundoc.com"
}
]
},
"Message": "OK",
"RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}モデレーションタスクのキャンセル
キャンセルできるのは、ライブストリームモデレーションタスクのみです。ファイルベースのモデレーションタスクはキャンセルできません。
モデレーションタスクをキャンセルするには、VoiceModerationCancel API を呼び出します。
課金:この API は無料です。
リクエストパラメーター
パラメーター | タイプ | 必須 | 値の例 | 説明 |
Service | 文字列 | はい | live_detection_byllm_global | キャンセルするモデレーションサービスのタイプ。有効な値:
|
ServiceParameters | JSON 文字列 | はい | モデレーションサービスのパラメーター。JSON 文字列形式で指定します。各フィールドの詳細は、「ServiceParameters」をご参照ください。 |
表 5. ServiceParameters
パラメーター | タイプ | 必須 | 値の例 | 説明 |
taskId | 文字列 | はい | AAAAA-BBBBB | キャンセルするモデレーションタスクの ID。 |
レスポンスパラメーター
パラメーター | タイプ | 値の例 | 説明 |
Code | 整数 | 200 | レスポンスステータスコード。詳細については、「コードの説明」をご参照ください。 |
Message | 文字列 | OK | レスポンスメッセージ。 |
RequestId | 文字列 | AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE**** | リクエストの一意の ID。 |
例
リクエストの例
{
"Service": "live_detection_byllm_global",
"ServiceParameters": {
"taskId": "AAAAA-BBBBB"
}
}成功レスポンスの例
{
"Code": 200,
"Message": "OK",
"RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}コールバックメッセージ形式
コールバックメッセージは、次のフィールドを持つ JSON オブジェクトです。
パラメーター | タイプ | 説明 |
[checksum] | 文字列 |
UID は Alibaba Cloud アカウント ID で、Alibaba Cloud コンソールで確認できます。改ざんを防ぐため、受信時に同じアルゴリズムでチェックサムを生成し、受信した 説明 UID は、RAM ユーザーではなく、Alibaba Cloud アカウントのものでなければなりません。 |
[taskId] | 文字列 | 関連するタスクの ID です。 |
[content] | 文字列 | シリアル化された検出結果を含む JSON 形式の文字列。この文字列を解析して JSON オブジェクトを取得する必要があります。形式は、タスク結果クエリからの応答と同じです。詳細については、「応答パラメーター」をご参照ください。 |
ステータスコード
次の表に、API が返すステータスコードを示します。課金対象となるのは、成功したリクエスト (コード 200) のみです。
コード | 説明 |
200 | リクエストは成功しました。 |
280 | モデレーションは進行中です。後でもう一度クエリを実行してください。 |
400 | 必須パラメーターが欠落しているか、空です。 |
401 | 無効なパラメーターが指定されました。値を確認して、再度お試しください。 |
402 | パラメーターの値が最大長を超えています。 |
403 | リクエストレートが QPS 制限を超えています。 |
404 | 入力ファイルのダウンロードに失敗しました。URL を確認して、再度お試しください。 |
405 | ファイルのダウンロードがタイムアウトしました。ファイルにアクセスできない可能性があります。URL とネットワーク設定を確認し、再度お試しください。 |
406 | 入力ファイルがサイズ制限を超えています。 |
407 | 入力ファイルのファイルフォーマットはサポートされていません。 |
408 | アカウントにはこの API を呼び出す権限がありません。これは、サービスが有効化されていない、アカウントに支払い遅延がある、または必要な権限が欠落している場合に発生する可能性があります。 |
480 | 同時リクエスト数が制限を超えています。 |
500 | 内部システムエラーが発生しました。後でもう一度お試しください。 |