你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
DialogServiceConnector 类
一个对象,该对象使用 Bot Framework 或自定义命令与支持语音的对话系统进行通信。 此类型接收语音转文本结果,还有助于异步发送和接收非语音对话活动数据。
- 继承
-
builtins.objectDialogServiceConnector
构造函数
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。