【免费下载链接】Patter
Open-source voice-AI SDK. The Vapi/Retell alternative for builders who want to own the stack. Give your AI agent a phone number in 4 lines — Python and TypeScript, MIT licensed, Twilio, Telnyx, and Plivo.
Patter是一个开源 Voice-AI SDK(Vapi / Retell 的自托管替代品):4 行代码就能让 AI 智能体拥有真实电话号码,支持 Python 与 TypeScript,可接入 Twilio、Telnyx、Plivo 三大电话运营商。搭建语音电话智能体时,最先要做的决定就是从Realtime、Pipeline、Hybrid三种语音模式中选型——它直接决定你的延迟、成本和控制上限。选错模式,延迟和账单都会加倍。
一、三种语音模式是什么?
用一句话概括(对应 README.md 中 "3 voice modes" 的定义):
| 模式 | 一句话理解 | 类比 |
|---|---|---|
| ⚡Realtime | 一个端到端引擎,STT + LLM + TTS 全包 | 点套餐,出餐快 |
| 🎛️Pipeline | STT、LLM、TTS 三段各自自选,自由拼装 | 自己点菜,口味可控 |
| 🔀Hybrid | 同一项目里混合两种架构,按场景组合 | 套餐 + 点菜混搭 |
它们都由同一个入口phone.agent(...)承载,Patter 会根据你传入的参数自动识别模式,无需额外开关。模式的推导逻辑可以在 libraries/python/getpatter/client.py 中找到。
二、Realtime 模式:3 行代码,最低延迟
Realtime 模式把整条语音链路交给一个端到端 speech-to-speech 引擎,音频流直通服务商,延迟最低(文档标注约 500 ms),是默认推荐:
from getpatter import Patter, Twilio, OpenAIRealtime phone = Patter(carrier=Twilio(), phone_number="+15550001234") agent = phone.agent(engine=OpenAIRealtime(), system_prompt="You are a receptionist.")内置的 Realtime 引擎(见 docs/python-sdk/engines.mdx):
- OpenAIRealtime / OpenAIRealtime2—— OpenAI Realtime API,
gpt-realtime-mini延迟与成本最低,gpt-realtime-2能力最强 - ElevenLabsConvAI—— ElevenLabs 托管对话智能体,主打高端音色
- XaiRealtime—— xAI Grok Voice,自带推理与联网搜索
适合:快速验证、演示 Demo、对延迟极度敏感的通用对话,以及"不想折腾"的场景。
三、Pipeline 模式:三段自选,完全掌控
不传engine=,改为分别指定stt=、llm=、tts=,就进入 Pipeline 模式:
agent = phone.agent( stt=DeepgramSTT(), # 语音 → 文本 llm=AnthropicLLM(), # 文本 → 文本 tts=ElevenLabsTTS(voice_id="rachel"), # 文本 → 语音 )三段各自可选的供应商(详见 docs/python-sdk/stt.mdx、docs/python-sdk/llm.mdx、docs/python-sdk/tts.mdx):
- STT:Deepgram、AssemblyAI、Cartesia、Soniox、Whisper、Speechmatics…
- LLM:OpenAI、Anthropic、Google Gemini、Groq、Cerebras,甚至本地模型 / 自建网关(
CustomLLM兼容任意 OpenAI 协议端点) - TTS:ElevenLabs、OpenAI、Cartesia、LMNT、Rime…
Pipeline 模式还有 Realtime 没有的"细活":on_message完全自定义回复逻辑、preemptive_generation投机生成(在对方停顿期间预跑 LLM+TTS 抢回延迟,示例见 docs/examples/preemptive-generation.py)、长通话滚动压缩、逐环节的成本归因。整条流水线的核心实现在 libraries/python/getpatter/stream_handler.py。
适合:必须用指定 LLM(如私有部署 / Claude / Gemini)、需要品牌定制音色、要精细控制每一段成本的生产环境。
四、Hybrid 模式:按场景混搭两种架构
README 将Hybrid列为第三种语音模式:在同一个产品里同时运用 Realtime 与 Pipeline 的组合思路。典型做法:
- 按线路分流:VIP 线路用 Realtime 保延迟,普通线路用 Pipeline 控成本;
- 按环节增强:主体对话走低延迟引擎,特定环节(如自定义音色播报、内部系统对接)交给自选 STT/TTS;
- 平滑迁移:先用 Realtime 上线验证,再逐步把关键段落迁到 Pipeline,两种模式共享同一套 tools、guardrails、barge-in 与事件系统,迁移成本很低。
Patter 的 tools、转接(transfer_call)、护栏在三种模式下行为一致(见 docs/concepts.mdx),这是它能被"混用"的基础。
五、Realtime vs Pipeline vs Hybrid 深度对比
| 维度 | Realtime | Pipeline | Hybrid |
|---|---|---|---|
| 端到端延迟 | 🥇 最低(~500 ms) | 三段串联,略高(可用投机生成补偿) | 按场景最优 |
| 代码量 | 🥇 最少(传engine=即可) | 每段一行 | 按场景组合 |
| 供应商自由度 | 一个引擎绑定 | 🥇 三段任意混搭 | 组合两者 |
| 音色选择 | 引擎内置音色 | 🥇 任意 TTS / 定制音色 | 组合 |
| 成本可控性 | 按引擎计费 | 🥇 逐环节计费、可降级 | 灵活调度 |
| 工具调用 / 打断 / 护栏 | ✅ | ✅ | ✅ |
| 上手难度 | 低 | 中 | 中高 |
六、3 步选型指南
- 先问延迟:要求"接起就聊、秒回"?直接 Realtime(
engine=OpenAIRealtime()是官方 Quickstart 默认,见 docs/python-sdk/quickstart.mdx)。 - 再问约束:老板指定了 LLM?要定制音色?要私有化模型?要逐段压成本?→ Pipeline。
- 最后问组合:多线路、多场景、或计划"先 Realtime 后精细化"?→ 按 Hybrid 思路分阶段落地,Patter 的双 SDK(libraries/python/ 与 libraries/typescript/)功能对等,随时可切换。
💡 新手默认路径:Realtime 起步 → 有定制需求后迁 Pipeline → 多场景时用 Hybrid。三种模式之间共享 tools、转接与护栏能力,迁移不用重写业务逻辑。
七、常见问题(FAQ)
Q:切换模式需要改业务代码吗?不需要。tools、guardrails、barge-in 等能力跨模式一致,主要变化只是agent()的入参。
Q:Pipeline 模式延迟比 Realtime 高很多吗?三段串联天然多一些,但 Patter 提供preemptive_generation(投机生成)、长回合填充音(long_turn_message)等优化,差距通常可接受。
Q:不传engine=也不传stt=/tts=会怎样?Patter 默认按 OpenAI Realtime 处理(自动读取OPENAI_API_KEY),所以"什么都不配"也能跑起来。
Q:支持本地开发调试吗?支持。phone.serve(agent, tunnel=True)会起一条 Cloudflare 隧道,本地笔记本直接接听电话;还有 dashboard 实时看通话与成本。
八、延伸阅读
- 核心概念与通话链路:docs/concepts.mdx
- Realtime 引擎参考:docs/python-sdk/engines.mdx
- Pipeline 三段配置:docs/python-sdk/llm.mdx
- 示例代码集合(Python/TS 成对):docs/examples/README.md
- 完整 API 参考:docs/python-sdk/reference.mdx
【免费下载链接】Patter
Open-source voice-AI SDK. The Vapi/Retell alternative for builders who want to own the stack. Give your AI agent a phone number in 4 lines — Python and TypeScript, MIT licensed, Twilio, Telnyx, and Plivo.
相关推荐
SQLCoder模型家族对比:7B/34B/70B怎么选?
SQLCoder模型家族对比:7B/34B/70B怎么选? 引言:NL2SQL任务的性能困境与解决方案 你是否还在为这些NL2SQL(自然语言转SQL)任务痛点
人工智能大模型模型推理服务NLP一键导出QQ空间全部历史说说:Excel、图片与网页时间线全交付
一键导出QQ空间全部历史说说:Excel、图片与网页时间线全交付 跑完一遍 GetQzonehistory,你会在 resource/result/你的QQ号/
网页爬虫数据分析Ax 调度器深度拆解:手动、同步、异步三种模式到底怎么选?
Ax 调度器深度拆解:手动、同步、异步三种模式到底怎么选? 调度这个词,在 Agent 世界里被用得太随意了。多数人谈的是"把函数调用排到 GPU 上"那种资源
人工智能AI AgentAgent 框架自主智能体
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考