智能工作流配置最佳实践

本文档指导开发者通过智能工作流实现智能媒体处理,帮助用户将媒体处理功能流程化、模块化,并自定义处理流程。

场景一:直播翻译

通过智能工作流对直播流进行语音识别后,实时生成中英文翻译结果,并将每句话的中间结果与最终结果回调至HTTP业务服务器。

整体拓扑配置

image

包含开始ASRLLM代码执行HTTP请求结束六个节点。

节点配置详情如下:

开始节点

image

启动工作流时,可传入如下参数作为开始节点入参:

{
  "live_url": {
      "Url": "rtmp://test.com/test_app/test_stream?auth_key=test",
      "MaxIdleTime": 20
  },
  "source_language_id": "es"
}

参数名

必填项

说明

live_url

需以Object格式传入,其中:

  • Url:公网可访问的直播流地址。

  • MaxIdleTime:直播流拉取超时时间(超过20秒无数据则终止任务)。

source_language_id

源语种信息,取值可从以下列表中获取。

中文普通话:zh
英文:en
西班牙:es
日语:ja
韩语:ko
法语:fr
泰语:th
俄语:ru
德语:de
广西方言:guangxi
葡萄牙语:pt
粤语:yue
繁体粤语:yue_hant
闽南语:minnan
波兰语场景:pl
意大利语场景:it
乌克兰语场景:uk
荷兰语:nl
阿拉伯语:ar
印尼语:id
土耳其语:tr
越南语:vi

ASR节点

image

输入变量引用开始节点live_url参数,输入语种引用开始节点source_language_id参数,其他参数保持默认或根据需求进行自定义配置。

LLM节点

image

此处以自有模型接入(符合OpenAI规范)方式配置qwen-mt-turbo模型,API Key获取请参考获取API Key,模型参数中需设置翻译的源语种(可设为auto)及目标语种,用户提示词可直接引用ASR的中间结果或最终结果。

代码执行节点

image

为将ASR识别结果与大模型翻译结果合并后回调至业务服务器,需使用Python脚本通过代码执行节点进行结果组装:将大模型输出设置到ASR结果的TransText字段,最终返回JSONObject作为回调数据。

HTTP请求节点

image

此处需要配置:

  • API配置:回调服务器公网地址。

  • URL参数:result_type=mid_en(可自定义回调类型)。

  • 请求体类型:json。

  • 请求体数据:引用回调数据输出的JSON结果。

场景二:RTC字幕识别

通过智能工作流对RTC房间内指定的音频流进行ASR识别,识别结果通过DataChannel回调至客户端显示字幕。

整体拓扑配置

image

包含开始ASRRTC推流结束四个节点。

节点配置详情如下:

开始节点

image

变量说明如下:

  • rtc:启动时需传入RTC参数,其中包含AppId(应用ID)、ChannelId(频道ID)、UserId(用户ID),并选择输出音频流。

  • source_language_id:需要识别的源语种。

  • push_app_id:DataChannel回调的RTC应用Id。

  • push_channel_id:DataChannel回调的RTC频道Id。

  • push_uid:DataChannel回调的RTC用户Id。

变量示例:

{
  "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节点

image

输入变量引用开始节点输入直播流的音频,输入语种引用开始节点source_language_id参数,其他参数保持默认或根据需求进行自定义配置。

RTC推流节点

image

输入变量text需引用ASR输出文本,App ID、频道ID、用户ID分别对应开始节点的push_app_idpush_channel_idpush_uid字段,表示DataChannel推流角色信息。