SuperAPI AI 工具集

deepgram-python-voice-agent

智能体与模型

查看项目

更新于 10-15 20:35

技能介绍

用途:在 Deepgram Python SDK 仓库中编写或审查代码,构建交互式语音智能体。用户说话、模型思考、模型发声,允许打断,并可由对话触发函数/工具调用。若只需单向转写、单向合成、成品音频分析或管理服务端持久化配置,应改用对应技能。

主要能力:单一 WebSocket 上完成 STT + LLM(think)+ TTS + 函数调用;服务端事件包括 Welcome、SettingsApplied、ConversationText、UserStartedSpeaking、AgentThinking、FunctionCallRequest、AgentStartedSpeaking、AgentAudioDone、Warning、Error 及二进制音频帧。客户端可发送初始 Settings、Media、KeepAlive、Prompt/Think/Speak 更新、用户/助手文本注入、函数调用响应与 ForceEndTurn。

使用方式:认证头为 Authorization: Token <api_key>,临时令牌用 Bearer;基址为 wss://agent.deepgram.com/v1/agent/converse。连接后必须立即发送 Settings,再发送音频。可用 client.voice_agent.configurations.create 持久化 agent 配置并以 agent_id 复用(仅存 listen/think/speak 与 prompt,不含 audio 等顶层字段)。会话中可调用 send_update_prompt、send_update_speak、send_update_think、send_inject_agent_message、send_inject_user_message、send_keep_alive、send_force_end_turn 动态调整;异步客户端加 await 前缀。

限制与注意:空闲约 10 秒会被服务端关闭,需每约 5 秒发 KeepAlive;重连需新建连接并重发 Settings,可通过 context.messages 携带历史;ForceEndTurn 需 V2/Flux listen provider,否则返回 FORCE_END_TURN_UNSUPPORTED;编码与采样率须与输入及播放路径一致;函数调用响应需及时;provider 为带标签联合类型,勿传原始字典。示例见 examples/30-voice-agent.py 与 examples/32-voice-agent-force-end-turn.py。