模型
实时播放状态
基础: TypedDict
源代码在 src/agents/realtime/model.py
实时播放跟踪器
如果您有自定义播放逻辑或预计音频播放存在延迟或以不同的速度进行,请创建一个 RealtimePlaybackTracker 实例并将其传递给会话。您负责跟踪音频播放进度,并在用户播放了一些音频时调用 on_play_bytes 或 on_play_ms。
源代码在 src/agents/realtime/model.py
on_play_bytes
当您播放了一些音频时调用。
参数
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
item_id
|
str
|
正在播放的音频的项目 ID。 |
required |
item_content_index
|
int
|
|
required |
bytes
|
bytes
|
已完全播放的音频字节数。 |
required |
源代码在 src/agents/realtime/model.py
on_play_ms
当您播放了一些音频时调用。
参数
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
item_id
|
str
|
正在播放的音频的项目 ID。 |
required |
item_content_index
|
int
|
|
required |
ms
|
float
|
已播放的音频的毫秒数。 |
required |
源代码在 src/agents/realtime/model.py
on_interrupted
set_audio_format
set_audio_format(format: RealtimeAudioFormat) -> None
get_state
get_state() -> RealtimePlaybackState
模型将调用此方法来获取当前的播放状态。
源代码在 src/agents/realtime/model.py
实时模型监听器
基础: ABC
实时传输事件的监听器。
源代码在 src/agents/realtime/model.py
实时模型配置
基础: TypedDict
连接到实时模型的选项。
源代码在 src/agents/realtime/model.py
api_key 实例属性
连接时要使用的 API 密钥(或返回密钥的函数)。如果未设置,模型将尝试使用合理的默认值。例如,OpenAI 实时模型将尝试使用 OPENAI_API_KEY 环境变量。
url 实例属性
连接时要使用的 URL。如果未设置,模型将使用合理的默认值。例如,OpenAI 实时模型将使用默认的 OpenAI WebSocket URL。
headers 实例属性
连接时要使用的标头。如果未设置,模型将使用合理的默认值。请注意,当您设置此项时,授权标头不会在底层设置。例如,对于 Azure OpenAI 实时 WebSocket 连接,可以使用 {"api-key": "您的 api 密钥"}。
initial_model_settings 实例属性
initial_model_settings: NotRequired[
RealtimeSessionModelSettings
]
连接时要使用的初始模型设置。
playback_tracker 实例属性
playback_tracker: NotRequired[RealtimePlaybackTracker]
用于跟踪音频播放进度的播放跟踪器。如果未设置,模型将使用默认实现,该实现假定音频立即以实时速度播放。
播放跟踪器对于中断很有用。模型以比实时播放速度快得多的速度生成音频。因此,如果发生中断,模型知道用户播放了多少音频是有用的。在低延迟场景中,假设音频立即以实时速度播放是可以的。但在电话或其他远程交互等场景中,您可以设置一个播放跟踪器,让模型知道何时将音频播放给用户。
实时模型
基础: ABC
连接到实时模型并发送/接收事件的接口。
源代码在 src/agents/realtime/model.py
connect 抽象方法 异步
connect(options: RealtimeModelConfig) -> None
add_listener 抽象方法
add_listener(listener: RealtimeModelListener) -> None
remove_listener 抽象方法
remove_listener(listener: RealtimeModelListener) -> None