インテリジェントワークフローを使用すると、モジュール化され、カスタマイズ可能なメディア処理パイプラインを構築できます。このトピックでは、ライブストリーム翻訳と RTC 字幕認識の設定例を紹介します。
シナリオ 1:ライブストリーム翻訳
インテリジェントワークフローはライブストリームに対して音声認識を実行し、リアルタイム翻訳を生成します。さらに、各文の中間結果と最終結果をコールバックを通じて HTTP サーバーに送信します。
全体トポロジー設定

このトポロジーは 6 つのノードで構成されています:[Start]、[自動音声認識 (ASR)]、[大規模言語モデル (LLM)]、[コード実行]、[HTTP リクエスト]、[End]。
各ノードの設定は次のとおりです:
Start ノード
ワークフローの開始時に、次の入力パラメーターを Start ノードに渡します:
{
"live_url": {
"Url": "rtmp://test.com/test_app/test_stream?auth_key=test",
"MaxIdleTime": 20
},
"source_language_id": "es"
}
|
パラメーター |
必須 |
説明 |
|
live_url |
はい |
次のフィールドを含むオブジェクトとして渡します:
|
|
source_language_id |
はい |
ソース言語です。以下のリストから値を選択します。 |
Mandarin Chinese: zh
English: en
Spanish: es
Japanese: ja
Korean: ko
French: fr
Thai: th
Russian: ru
German: de
Guangxi dialect: guangxi
Portuguese: pt
Cantonese: yue
Traditional Cantonese: yue_hant
Minnan: minnan
Polish: pl
Italian: it
Ukrainian: uk
Dutch: nl
Arabic: ar
Indonesian: id
Turkish: tr
Vietnamese: vi
ASR ノード
ASR ノードの設定パネルには、以下の設定項目があります:
-
[モデル設定]:[システムプリセット] を選択します(他のオプションには [サードパーティプラグイン] と [カスタム統合] が含まれます)
-
[無音タイムアウト]:デフォルト値は 400 ms です
-
[カスタムホットワード]: TXT ファイルをアップロード (最大 500 単語、各単語最大 10 文字、ファイルサイズ最大 100 KB、UTF-8 エンコーディング (BOM なし))
入力変数には Start ノードの live_url パラメーターを、入力言語には Start ノードの source_language_id パラメーターを設定します。その他のパラメーターはデフォルトのままにするか、必要に応じて設定してください。
LLM ノード
この例では、qwen-mt-turbo モデルを、[カスタムモデル統合 (OpenAI 互換)] 方式で設定します。[ターゲットプロトコルアドレス] を https://dashscope.aliyuncs.com/compatible-mode/v1 に設定します。API キーの取得方法の詳細については、「API キーの取得」をご参照ください。モデルパラメーター (JSON) で、translation_options オブジェクト内の source_lang および target_lang フィールドを設定します。ユーザープロンプトは、ASR ノードからの中間結果または最終結果を直接参照できます。
コード実行ノード
このノードの名前は [Intermediate English Translation Result Assembly] です。2 つの入力変数を設定します:arg1 (オブジェクトタイプ、ASR の認識結果を参照) と arg2 (文字列タイプ、翻訳結果を参照)。Python 3 のコードでは arg1['TransText'] = arg2 を実行し、return {"result": arg1} を返します。出力変数 result はオブジェクトタイプです。
コールバック用に ASR と LLM の翻訳結果をマージするには、[コード実行] ノードで Python スクリプトを使用します。LLM の出力を ASR 結果の TransText フィールドに設定し、その後、コールバックデータとして JSONObject を返します。
HTTP リクエストノード
以下の項目を設定します:
-
リクエストメソッド: [POST]。
-
API 設定:コールバックサーバーのパブリックアドレスです。
-
URL パラメーター:result_type=mid_en です。コールバックタイプはカスタマイズできます。
-
リクエストボディタイプ:json です。
-
リクエストボディデータ:コールバックデータの JSON 出力を参照します。
シナリオ 2:RTC 字幕認識
インテリジェントワークフローは、リアルタイム通信 (RTC) のチャネル内で指定したオーディオストリームに対して ASR を実行します。認識結果は DataChannel のコールバックを通じてクライアントに送信され、字幕として表示されます。
全体トポロジー設定

このトポロジーは 4 つのノードで構成されています:[Start]、[ASR]、[RTC インジェスト]、[End]。
各ノードの設定は次のとおりです:
Start ノード
変数の説明:
-
rtc:ワークフローの開始時に RTC パラメーターを渡します。これには
AppId、ChannelId、UserIdが含まれます。また、出力するオーディオストリームを選択する必要があります。 -
source_language_id:認識用のソース言語です。
-
push_app_id:DataChannel コールバック用の RTCAppIdです。 -
push_channel_id:DataChannel コールバック用の RTCChannelIdです。 -
push_uid:DataChannel コールバック用の RTCUserIdです。
変数の例:
{
"rtc": {
"AppId": "xxx",
"ChannelId": "rtcaitest1",
"UserId": "userA"
},
"source_language_id": "zh",
"push_app_id": "app_id",
"push_channel_id": "channel_id",
"push_uid": "user_id"
}
ASR ノード
ASR ノード設定パネルでは、[モデル設定] は [システムプリセット]、[サードパーティプラグイン]、および [カスタム統合] の 3 つのモードをサポートしています。[無音タイムアウト] のデフォルトは 400 ms です。[カスタムホットワード] は、最大 500 ワード (各単語は最大 10 文字)、ファイルサイズ最大 100 KB、BOM なし UTF-8 エンコーディングの TXT ファイルのアップロードをサポートしています。
入力変数には Start ノードの RTC 入力のオーディオを、入力言語には Start ノードの source_language_id パラメーターを設定します。その他のパラメーターはデフォルトのままにするか、必要に応じてカスタマイズしてください。
RTC インジェストノード
[オーディオ] 入力変数の型は Stream です。オーディオストリーム変数の値を参照してください。
text 入力変数は、ASR ノードからの出力テキストを参照します。App ID、チャネル ID、ユーザー ID は Start ノードの push_app_id、push_channel_id、push_uid フィールドに対応し、DataChannel ストリームインジェストのロール情報を表します。