首页 / 资讯中心 / 文章详情

Pipecat 实时语音助手快速入门:3 条命令搭出会说话的 AI 机器人

Pipecat 实时语音助手快速入门:3 条命令搭出会说话的 AI 机器人 ★ FEATURED ARTICLE
Pipecat 实时语音助手快速入门3 条命令搭出会说话的 AI 机器人【免费下载链接】pipecatOpen Source framework for voice agents, multimodal apps, and realtime AI. Maintained by Daily and the community.项目地址: https://gitcode.com/GitHub_Trending/pi/pipecat你打开网页对着麦克风说帮我把这段话翻译成英文不到一秒自然的女声已经把译文读了出来你中途插一句慢一点它立刻掐断自己的播报按新要求重说。这种边听边说、随时可打断的体验来自开源 Python 框架 Pipecat 里一条最普通的流水线而不是某个闭源产品的私有功能。Pipecat 由 Daily 团队和社区共同维护把 STT、大模型、TTS 和音视频传输串成可插拔的模块本文带你从 3 条命令开始把它跑起来。Pipecat 安装与初始化最短路径跑起来需要 Python 3.11 以上推荐 3.12。最短路径走官方 CLI两条命令装好并初始化项目这段命令先安装 Pipecat CLI再交互式创建项目会问你机器人类型电话或网页和想用的服务生成带前端页面的可运行 bot。uv tool install pipecat-ai[cli] pipecat init不想用 CLI 也行pip install pipecat-ai或uv add pipecat-ai然后cp env.example .env填入 API key。建议你现在就打开 examples/getting-started/ 目录从 01 的一行音频播到 06 的完整语音助手逐个对照着跑。它是怎么工作的一句话进一句话出你说一句话它在流水线里依次经过五步传输层Daily 或 LiveKit 的 WebRTC或 WebSocket收到你的麦克风音频流STT 服务把音频流式转成文字聚合器配合 VAD 分析器默认 Silero判断用户开始说话和用户说完了控制 LLM 何时启动LLM 生成回复TTS 把回复逐段转成音频传输层把音频播回给你同时把内容记入对话上下文。关键是每个组件只处理一种帧帧数据靠一个列表串起来。你把 STT 换成别家其余一行不用动想加过滤器或分类器也是往列表里插一项。打断同样走这套机制——VAD 判定你再次开口传输层就停止 TTS 正在输出的内容。想对照源码理解读 examples/getting-started/06-voice-agent.py 并和上面五步一一对应即可。多模态是同一条流水线音频帧、视频帧、文字帧走同一条链examples/vision/ 里有让 bot 看图描述的例子。组件怎么选STT、TTS、LLM 与传输层对照表表中服务全部出自 README 的服务清单任意环节都可以自由混搭环节常见选择什么时候选它STT 语音识别Deepgram、OpenAIWhisper、Azure、Google、Groq按语言覆盖和延迟选云端要纯离线用本地 WhisperTTS 语音合成ElevenLabs、Cartesia、Azure、Google、Kokoro要真人感选 ElevenLabs/Cartesia要免费本地选 KokoroLLM 大模型OpenAI、Anthropic、Gemini、Groq、Ollama按已有 API key 和成本选Ollama 可完全离线传输层DailyWebRTC、LiveKitWebRTC、FastAPI WebSocket、Twilio/Telnyx/Vonage 序列化器网页端选 Daily/LiveKit纯数据交换选 WebSocket做电话机器人选序列化器选型时可以照这个顺序做先定传输层声音从哪进、从哪出再按已有 key 和预算挑其余三项。实战案例搭一个网页语音接待员以 06-voice-agent.py 为底Deepgram 做 STTOpenAI 做 LLMCartesia 做 TTSDaily WebRTC 做传输。整文件的核心就是下面这段流水线其余都是读 key、注册事件这段代码组装一条完整的听—想—说流水线把三个 key 换成自己的就能跑起来。pipeline Pipeline([ transport.input(), # 接收麦克风音频 DeepgramSTTService(api_keyDEEPGRAM_KEY), # 语音转文字 user_aggregator, # 判断你是否说完了 OpenAILLMService(api_keyOPENAI_KEY), # 生成回复 CartesiaTTSService(api_keyCARTESIA_KEY), # 回复转语音 transport.output(), # 把语音播给你 assistant_aggregator, # 记录 bot 说了什么 ])多轮记忆由 LLMContext 承载user_aggregator 把你的话接进去assistant_aggregator 记录 bot 的播报人设在 OpenAILLMService.Settings 的 system_instruction 里定义写上回复会被朗读避免列表和格式符号LLM 就不会输出读不出来的 Markdown。避坑指南延迟、成本与打断处理延迟是四段之和先确认所选 STT 和 TTS 都支持流式示例默认服务都支持再确认供应商区域离你近。PipelineParams 默认 audio_in_sample_rate16000、audio_out_sample_rate24000中途别自己多做重采样。成本不透明给 PipelineParams 传 enable_usage_metricsTrue 和 enable_metricsTrue就能看到每次对话的 token 与音频用量开发期可临时换小模型examples/features/features-service-switcher.py 演示了运行中替换服务。打断太敏感或被忽略打断由 VAD 驱动误触发可以给聚合器的 UserTurnStrategies 加 MinWordsUserTurnStartStrategy(min_words3) 门槛现成写法见 examples/turn-management/turn-management-interruption-config.py。抢答或该答不答这是 turn 起止策略问题examples/turn-management/ 下有过滤不完整句子、检测用户空闲等成套示例可直接抄参数。别忘了 VAD 不花钱SileroVADAnalyzer 内置本地运行不需要额外买服务。Pipecat 适合谁以及下一步如果你有基础 Python 能力想做语音助手、电话机器人或语音多模态演示Pipecat 值得先跑通一遍如果你只需要文本问答、没有实时音频需求直接用普通 LLM API 更直接不必引入流水线。下一步可以去三个地方examples/按类别分好的示例voice/、transcription/、realtime/、function-calling/、multi-worker/填好 key 即可运行docs/api/API 参考含 Makefile 和 conf.py可在本地构建文档COMMUNITY_INTEGRATIONS.md社区集成清单以及自己写一个服务适配器的方法。【免费下载链接】pipecatOpen Source framework for voice agents, multimodal apps, and realtime AI. Maintained by Daily and the community.项目地址: https://gitcode.com/GitHub_Trending/pi/pipecat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站