Skip to main content

Qwen-Audio-ASR-Message 伺服器端事件

本文介紹 Qwen-Audio-ASR-Message 的服務端事件及欄位。

task-started

任務啓動成功,客戶端可開始發送音頻數據。
headerobject

屬性

task_idstring客戶端生成的任務 ID(UUID 格式)。eventstring事件類型,固定為 task-started。attributesobject附加屬性(通常為空)。
payloadobject固定為{}。
{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-started",
        "attributes": {}
    },
    "payload": {}
}

result-generated

識別結果。默認返回句子最終識別文本(sentence_end=true);設置 intermediate_result_enabled=true 後還返回中間文本(sentence_end=false)。中間文本可能修訂,應按 sentence_id 更新展示,不要直接拼接。句子開始事件可包含 sentence_begin=true,此時文本可能為空。
headerobject

屬性

task_idstring客戶端生成的任務 ID(UUID 格式)。eventstring事件類型,固定為 result-generated。
payloadobject

屬性

outputobject

屬性

sentenceobject

屬性

begin_timeinteger句子開始時間(ms)。end_timeinteger句子結束時間(ms)。textstring識別文本。heartbeatboolean若為 true,可跳過該結果(心跳包)。sentence_beginboolean用於標識句子開始。sentence_endboolean是否句子結束(true=最終結果,false=中間結果)。sentence_idinteger句子的序號標識。正常識別結果中,sentence_id 從 1 開始遞增。當 heartbeat 為 true 時(即心跳包),sentence_id 固定為 0。wordsarray[object]字時間戳信息。

屬性

begin_timeinteger字開始時間(ms)。end_timeinteger字結束時間(ms)。textstring識別文本。punctuationstring標點符號。
usageobject當前任務截至本事件的累計用量。

屬性

durationinteger累計音頻時長(秒),為兼容保留。input_tokensinteger累計輸入 Token 數。output_tokensinteger累計輸出 Token 數。total_tokensinteger累計 Token 總數,為 input_tokens 與 output_tokens 之和。
句子開始結果:
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "sentence_id": 1,
        "begin_time": 0,
        "end_time": null,
        "text": "",
        "channel_id": 0,
        "speaker_id": null,
        "sentence_end": false,
        "sentence_begin": true,
        "words": []
      }
    }
  }
}
最終結果:
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "sentence_id": 1,
        "begin_time": 120,
        "end_time": 1700,
        "text": "歡迎使用阿里雲。",
        "channel_id": 0,
        "speaker_id": null,
        "sentence_end": true,
        "words": [
          {
            "begin_time": 120,
            "end_time": 520,
            "text": "歡迎",
            "punctuation": "",
            "fixed": false,
            "speaker_id": null
          },
          {
            "begin_time": 520,
            "end_time": 880,
            "text": "使用",
            "punctuation": "",
            "fixed": false,
            "speaker_id": null
          },
          {
            "begin_time": 880,
            "end_time": 1700,
            "text": "阿里雲",
            "punctuation": "。",
            "fixed": false,
            "speaker_id": null
          }
        ],
        "stash": {
          "sentence_id": 2,
          "text": "",
          "begin_time": 1700,
          "current_time": 1700,
          "words": []
        }
      }
    },
    "usage": {
      "duration": 2,
      "input_tokens": 84,
      "output_tokens": 4,
      "total_tokens": 88
    }
  }
}

task-finished

任務正常結束,可關閉連接或復用連接。
headerobject

屬性

task_idstring客戶端生成的任務 ID(UUID 格式)。eventstring事件類型,固定為 task-finished。attributesobject附加屬性(通常為空)。
payloadobject包含 output(空對象)和 usage(本任務最終累計用量)。usage 字段定義與 result-generated 一致。
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-finished",
    "attributes": {}
  },
  "payload": {
    "output": {},
    "usage": {
      "duration": 2,
      "input_tokens": 84,
      "output_tokens": 4,
      "total_tokens": 88
    }
  }
}

task-failed

任務失敗,連接會被關閉,無法復用。
headerobject

屬性

task_idstring客戶端生成的任務 ID(UUID 格式)。eventstring事件類型,固定為 task-failed。error_codestring錯誤類型描述。error_messagestring具體錯誤原因。attributesobject附加屬性(通常為空)。
payloadobject固定為{}。
{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-failed",
        "error_code": "CLIENT_ERROR",
        "error_message": "request timeout after 23 seconds.",
        "attributes": {}
    },
    "payload": {}
}