语音交互服务 SIS-websocket接口:响应结果

时间:2024-05-08 15:27:53

响应结果

  • 开始识别响应
    由于WebSocket是全双工的,因此响应就是从服务器端发送给客户端的消息,但也并不是所有的请求信息都有一条对应的响应。服务器端收到“开始识别”请求时,会给出如下响应消息,以json字符串形式放置在text message中。
    表8 响应参数

    参数名

    参数类型

    说明

    resp_type

    String

    响应类型。参数值为START,表示开始识别响应。

    trace_id

    String

    服务内部的令牌,可用于在日志中追溯具体流程。

    示例

    {
        "resp_type": "START",
        "trace_id": "567e8537-a89c-13c3-a882-826321939651"
    }
  • 事件响应

    服务器端检测到某些事件时,会给出如下响应消息,以json字符串形式放置在text message中。

    表9 响应参数

    参数名

    参数类型

    说明

    resp_type

    String

    响应类型。参数值为EVENT,表示开始识别响应。

    trace_id

    String

    服务内部的令牌,可用于在日志中追溯具体流程。

    event

    String

    具体的事件,一句话识别中仅会出现"EXCEEDED_AUDIO”,当输入音频超过1min时,会返回该事件。

    timestamp

    Integer

    保留字段。将来会用于此事件发生的具体时间,以会话开始作为0点,单位为ms。

    示例

    {
      "resp_type": "EVENT",
      "trace_id": "567e8537-a89c-13c3-a882-826321939651",
      "event": "EXCEEDED_AUDIO",
      "timestamp": 1500
    }
  • 结果响应

    服务端在收到客户端发送的连续音频数据后, 当服务端识别出结果后会实时向客户端按句推送识别结果响应消息, 以json字符串形式放置在text message中。

    表10 响应参数

    参数名

    参数类型

    说明

    resp_type

    String

    响应类型。参数值为RESULT,表示识别结果响应。

    trace_id

    String

    服务内部的令牌,可用于在日志中追溯具体流程。

    segments

    Array of objects

    多句结果。

    请参考表 segment 数据结构

    表11 segment 数据结构

    参数名

    参数类型

    说明

    start_time

    Integer

    一句的起始时间戳,单位为ms。

    end_time

    Integer

    一句的结束时间戳,单位为ms。

    is_final

    Boolen

    true表示是最终结果, false表示为中间临时结果。

    result

    Object

    调用成功表示识别结果,调用失败时无此字段。

    请参考表 result数据结构

    表12 result数据结构

    参数名

    参数类型

    说明

    text

    String

    识别结果。

    score

    Float

    识别结果的置信度,取值范围:0~1。此值仅会在最终结果时被赋值,在中间结果时统一置为“0.0”

    说明:

    目前置信度作用不是太大,请勿过多依赖此值。

    word_info

    Array of Object

    分词输出列表。

    表13 word_info 数据结构

    参数名

    是否必选

    参数类型

    说明

    start_time

    Integer

    起始时间

    end_time

    Integer

    结束时间

    word

    String

    分词

    示例

    {
      "resp_type": "RESULT",
      "trace_id": "567e8537-a89c-13c3-a882-826321939651",
      "segments":
      [
        {
          "start_time": 100,
          "end_time": 1500,
          "is_final": false,
          "result":
          {
            "text": "第一句中间结果",    
            "word_info": [
                         {
                            "start_time": 100,
                            "end_time": 800,
                            "word": "第一"
                        },
                        {
                            "start_time": 800,
                            "end_time": 1000,
                            "word": "句"
                        },
                        {
                            "start_time": 1000,
                             "end_time": 1500,
                             "word": "结果"
                        }
                    ],
             "score": 0.0
          },
        },
      ]
    }
  • 错误响应

    错误响应,包括如下情况:

    • 配置串错误,包括存在不识别的配置串,或者配置串值的范围不合法。
    • 时序不正确,比如连续发送两次“开始识别”指令。
    • 识别过程中发生错误,比如音频解码发生错误。

    表14 响应参数

    参数名

    参数类型

    说明

    resp_type

    String

    参数值为ERROR,表示错误响应。

    trace_id

    String

    服务内部的跟踪令牌,可用于在日志中追溯具体流程。

    在某些错误情况下,可能没有此字段。

    error_code

    String

    错误码列表。详细错误码解释,请参见错误码

    error_msg

    String

    返回错误信息。

    示例

    {
        "resp_type": "ERROR",
        "trace_id": "567e8537-a89c-13c3-a882-826321939651",
        "error_code": "SIS.0002",
        "error_msg": "***"
    }
  • 结束识别响应

    服务器端收到“结束识别”请求时或语音识别过程中发生错误,服务端会向客户端推送如下响应消息,以json字符串形式放置在text message中。

    表15 响应参数

    参数名

    参数类型

    说明

    resp_type

    String

    参数值为END,表示结束识别响应。

    trace_id

    String

    服务内部的令牌,可用于在日志中追溯具体流程。

    reason

    String

    结束原因,详情请参见表 结束原因表

    表16 结束原因表

    参数名

    说明

    NORMAL

    正常结束。

    ERROR

    识别过程中发生错误。

    示例

    {
        "resp_type": "END",
        "trace_id": "567e8537-a89c-13c3-a882-826321939651",
        "reason": "NORMAL",
    }
support.huaweicloud.com/api-sis/sis_03_0095.html