你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

DialogServiceConnector 类

一个对象,该对象使用 Bot Framework 或自定义命令与支持语音的对话系统进行通信。 此类型接收语音转文本结果,还有助于异步发送和接收非语音对话活动数据。

继承
builtins.object
DialogServiceConnector

构造函数

DialogServiceConnector(dialog_service_config: DialogServiceConfig, audio_config: AudioConfig | None = None)

参数

名称 说明
dialog_service_config
必需

对话服务的配置,适用于机器人框架或自定义命令。

audio_config

音频输入的配置。

默认值: None

方法

connect

以同步方式与服务建立连接。 连接是在需要时自动执行的,但此手动调用可用于确保连接在首次使用之前处于活动状态,以帮助减少初始延迟。

返回时,连接可能尚未就绪。 请订阅连接实例的已连接事件,以在与服务建立连接时收到通知。 Connection请使用 通过 方法检索实例from_dialog_service_connector

connect_async

以异步方式与服务建立连接。 连接是在需要时自动执行的,但此手动调用可用于确保连接在首次使用之前处于活动状态,以帮助减少初始延迟。

disconnect

同步断开与服务的连接。 需要连接的后续调用在手动断开连接后仍会自动重新连接。

disconnect_async

异步断开与服务的连接。 需要连接的后续调用在手动断开连接后仍会自动重新连接。

listen_once

同步启动使用此连接器的语音到文本交互,并阻止,直到收到单个语音转文本最终结果。 收到的语音转文本结果也提供给配置的对话实现,对话系统可能会生成任意数量的活动有效负载以响应语音交互。 语音交互可以通过活动有效负载中的特定于对话的数据与活动相关联。

listen_once_async

以异步方式启动使用此连接器的语音到文本交互,并阻止,直到收到单个语音转文本最终结果。 收到的语音转文本结果也提供给配置的对话实现,对话系统可能会生成任意数量的活动有效负载以响应语音交互。 语音交互可以通过活动有效负载中的特定于对话的数据与活动相关联。

send_activity

将数据有效负载同步发送到此 DialogServiceConnector 实例连接到的对话后端服务。 这通常是一个 JSON 文档,其架构由服务中的对话实现确定,发送的活动的内容应填充有关对话系统的格式和内容预期的知识。 发送的活动不与任何其他交互相关联,并且将在服务处理时生成其自己的独立交互标识符。 应使用所用对话实现的功能,通过活动有效负载本身来实现会话和其他交互的关联。

send_activity_async

以异步方式将活动发送到支持对话框,请参阅 send_activity

start_keyword_recognition

使用 关键字同步启动此连接器的语音转文本交互。 此交互将使用提供的关键字模型无限期地侦听关键字,在此期间,音频不会发送到语音服务,并且所有处理都在本地执行。 识别关键字后,DialogServiceConnector 将自动连接到语音服务,并开始从关键字之前发送音频数据,就像 listen_once_async 调用了一样。 收到语音转文本结果后,可能由提供的结果处理程序处理或通过已识别事件的订阅进行检索。 此操作生成的语音转文本结果也提供给配置的对话实现,对话系统可能会生成任意数量的活动有效负载以响应语音交互。 语音交互可以通过活动有效负载中的特定于对话的数据与活动相关联。

调用 stop_keyword_recognition_async 以停止关键字发起的识别。

start_keyword_recognition_async

使用给定关键字模型异步配置对话框服务连接器。 调用此方法后,连接器将侦听 关键字以启动识别。 调用 stop_keyword_recognition_async 以停止关键字发起的识别。

有关功能的详细说明,请参阅 start_keyword_recognition

stop_keyword_recognition

同步停止关键字发起的识别。

stop_keyword_recognition_async

异步停止关键字发起的识别。

stop_listening

请求立即停止任何活动的侦听操作。 这可能会中断正在进行的语音到文本交互,并且接收的任何语音转文本结果都可能表示语音输入不完整。

处理事件时,不应调用同步方法。 如果需要停止以响应事件,请使用 stop_listening_async

stop_listening_async

请求立即停止任何活动的侦听操作。 这可能会中断正在进行的语音到文本交互,并且接收的任何语音转文本结果都可能表示语音输入不完整。

connect

以同步方式与服务建立连接。 连接是在需要时自动执行的,但此手动调用可用于确保连接在首次使用之前处于活动状态,以帮助减少初始延迟。

返回时,连接可能尚未就绪。 请订阅连接实例的已连接事件,以在与服务建立连接时收到通知。 Connection请使用 通过 方法检索实例from_dialog_service_connector

connect()

connect_async

以异步方式与服务建立连接。 连接是在需要时自动执行的,但此手动调用可用于确保连接在首次使用之前处于活动状态,以帮助减少初始延迟。

connect_async()

返回

类型 说明

初始化连接后实现的未来。

disconnect

同步断开与服务的连接。 需要连接的后续调用在手动断开连接后仍会自动重新连接。

disconnect()

disconnect_async

异步断开与服务的连接。 需要连接的后续调用在手动断开连接后仍会自动重新连接。

disconnect_async()

返回

类型 说明

断开连接时实现的未来。

listen_once

同步启动使用此连接器的语音到文本交互,并阻止,直到收到单个语音转文本最终结果。 收到的语音转文本结果也提供给配置的对话实现,对话系统可能会生成任意数量的活动有效负载以响应语音交互。 语音交互可以通过活动有效负载中的特定于对话的数据与活动相关联。

listen_once() -> SpeechRecognitionResult

返回

类型 说明

语音识别的语音转文本结果。

listen_once_async

以异步方式启动使用此连接器的语音到文本交互,并阻止,直到收到单个语音转文本最终结果。 收到的语音转文本结果也提供给配置的对话实现,对话系统可能会生成任意数量的活动有效负载以响应语音交互。 语音交互可以通过活动有效负载中的特定于对话的数据与活动相关联。

listen_once_async() -> ResultFuture

返回

类型 说明

包含异步识别的语音转文本结果值的未来。

send_activity

将数据有效负载同步发送到此 DialogServiceConnector 实例连接到的对话后端服务。 这通常是一个 JSON 文档,其架构由服务中的对话实现确定,发送的活动的内容应填充有关对话系统的格式和内容预期的知识。 发送的活动不与任何其他交互相关联,并且将在服务处理时生成其自己的独立交互标识符。 应使用所用对话实现的功能,通过活动有效负载本身来实现会话和其他交互的关联。

send_activity(activity: str) -> str

参数

名称 说明
activity
必需

要发送的活动的序列化有效负载。

返回

类型 说明

服务确认活动时获取的交互标识符。 这可能发生在对话实现处理和评估活动之前,并且收到交互标识符并不表示处理活动是成功还是失败。 可以通过具有相关数据的响应活动或与此交互标识符关联的 TurnStatusReceived 事件获取有关成功或失败的信息。

send_activity_async

以异步方式将活动发送到支持对话框,请参阅 send_activity

send_activity_async(activity: str) -> ResultFuture

参数

名称 说明
activity
必需

要发送的活动的序列化有效负载。

返回

类型 说明

包含异步活动发送操作的结果值的未来。

start_keyword_recognition

使用 关键字同步启动此连接器的语音转文本交互。 此交互将使用提供的关键字模型无限期地侦听关键字,在此期间,音频不会发送到语音服务,并且所有处理都在本地执行。 识别关键字后,DialogServiceConnector 将自动连接到语音服务,并开始从关键字之前发送音频数据,就像 listen_once_async 调用了一样。 收到语音转文本结果后,可能由提供的结果处理程序处理或通过已识别事件的订阅进行检索。 此操作生成的语音转文本结果也提供给配置的对话实现,对话系统可能会生成任意数量的活动有效负载以响应语音交互。 语音交互可以通过活动有效负载中的特定于对话的数据与活动相关联。

调用 stop_keyword_recognition_async 以停止关键字发起的识别。

start_keyword_recognition(model: KeywordRecognitionModel)

参数

名称 说明
model
必需

指定要识别的关键字的关键字识别模型。

start_keyword_recognition_async

使用给定关键字模型异步配置对话框服务连接器。 调用此方法后,连接器将侦听 关键字以启动识别。 调用 stop_keyword_recognition_async 以停止关键字发起的识别。

有关功能的详细说明,请参阅 start_keyword_recognition

start_keyword_recognition_async(model: KeywordRecognitionModel)

参数

名称 说明
model
必需

指定要识别的关键字的关键字识别模型。

返回

类型 说明

初始化识别后实现的未来。

stop_keyword_recognition

同步停止关键字发起的识别。

stop_keyword_recognition()

stop_keyword_recognition_async

异步停止关键字发起的识别。

stop_keyword_recognition_async()

返回

类型 说明

一个在停止识别后实现的未来。

stop_listening

请求立即停止任何活动的侦听操作。 这可能会中断正在进行的语音到文本交互,并且接收的任何语音转文本结果都可能表示语音输入不完整。

处理事件时,不应调用同步方法。 如果需要停止以响应事件,请使用 stop_listening_async

stop_listening()

返回

类型 说明

停止侦听后实现的未来。

stop_listening_async

请求立即停止任何活动的侦听操作。 这可能会中断正在进行的语音到文本交互,并且接收的任何语音转文本结果都可能表示语音输入不完整。

stop_listening_async()

返回

类型 说明

停止侦听后实现的未来。

属性

activity_received

指示已从后端接收活动。

连接到此信号的回调使用 作为单个参数的 实例调用 ActivityReceivedEventArgs,具体取决于识别器的类型。

authorization_token

将用于连接到服务的授权令牌。

注意

调用方需要确保授权令牌有效。 在

授权令牌过期,调用方需要通过调用此资源库来刷新令牌

新的有效令牌。 否则,识别器将在识别过程中遇到错误。

canceled

包含已取消识别结果的事件的信号 (指示因结果或直接取消请求而取消的识别尝试,或者指示传输或协议失败) 。

连接到此信号的回调使用 作为单个参数的 实例调用 SpeechRecognitionCanceledEventArgs

recognized

包含最终识别结果的事件的信号 (指示) 成功识别尝试。

连接到此信号的回调使用 作为单个参数的 实例调用 SpeechRecognitionEventArgs,具体取决于识别器的类型。

recognizing

包含中间识别结果的事件的信号。

连接到此信号的回调使用 作为单个参数的 实例调用 SpeechRecognitionEventArgs

session_started

指示识别会话开始 (操作) 的事件的信号。

连接到此信号的回调以 实例作为单个参数进行调用 SessionEventArgs

session_stopped

指示识别会话结束 (操作) 的事件的信号。

连接到此信号的回调以 实例作为单个参数进行调用 SessionEventArgs

speech_activity_template

获取将为下一个会话提供给语音服务的 JSON 模板。 该服务将尝试将此模板合并到发送到对话后端的所有活动中,无论是由具有 SendActivityAsync 的客户端发起还是由服务生成,就像语音转文本结果一样。

speech_end_detected

指示语音结束的事件的信号。

连接到此信号的回调以 实例作为单个参数进行调用 RecognitionEventArgs

speech_start_detected

指示语音开始的事件的信号。

连接到此信号的回调以 实例作为单个参数进行调用 RecognitionEventArgs

turn_status_received

指示已从后端收到轮次状态更新。

连接到此信号的回调使用 作为单个参数的 实例调用 TurnStatusReceivedEventArgs