用途:构建可对话的实时语音智能体,实现免提、低延迟的双向语音交互,或在文本 Agent 上叠加语音输入输出。
主要能力:LiveAgent 封装提示词与实时配置,agent.run() 以异步上下文管理器开启会话并共享 ConversationContext;支持 GeminiRealTimeConfig 与 OpenAIRealTimeConfig 两种实时提供方,可配置语音、输出模式(AudioOutput/TextOutput)、用户语音转写、VAD/轮次检测与生成参数。SoundDeviceRecorder 采集麦克风为 RecordedAudioEvent,SoundDevicePlayer 播放 SynthesizedAudioEvent。OpenAITTSConfig 做文本转语音,OpenAITranscriber 与 OpenAITranslationTranscriber 做一次性语音转写/翻译,TTSObserver 让普通文本流式 Agent 开口说话。LiveAgent 支持 tools、hitl_hook、middleware、observers 等,工具调用以 ToolCallEvent 进入会话。
使用方式:按需安装可选依赖,如 pip install "ag2[openai-realtime]"、pip install "ag2[gemini-realtime]"、pip install "sounddevice[numpy]"。设置 OPENAI_API_KEY 或 GEMINI_API_KEY/GOOGLE_API_KEY,或传入自定义 client。将 agent.run() 产出的 ctx 同时传给录音器与播放器,保持会话循环不退出。
适用场景:实时语音助手、边说边转写、录音片段转写后交给文本 Agent、为文本流式 Agent 添加语音输出。
限制:真实会话需要 API 密钥与麦克风/扬声器,无头环境无法运行;实时仅支持函数工具,服务端工具类型会抛 NotImplementedError;AudioOutput/InputConfig 等类型需从 ag2.live.gemini 或 ag2.live.openai 导入;未安装对应 extra 时符号在首次使用时报错。