PipeCat 的核心设计理念是构建一个灵活的、基于事件驱动的管道(Pipeline)。这个管道由不同的服务(Services)和处理器(Processors)组成。这意味着你可以自由选择和替换处理流程中的各个组件。
PipeCat 明确地支持多种可以在本地运行的服务:
语音转文本 (STT - Speech-to-Text): 支持 本地 Whisper。你可以使用 whisper.cpp 或其他本地部署的 Whisper 模型来进行离线语音识别。
大型语言模型 (LLM - Large Language Model): 支持 Ollama。Ollama 是一个非常流行的工具,可以让你在本地轻松运行各种开源的 LLM(如 Llama 3, Mistral, Phi 等)。PipeCat 可以直接与本地运行的 Ollama 服务交互。它也支持 LiteLLM,可以配置 LiteLLM 来代理本地模型。
文本转语音 (TTS - Text-to-Speech): 支持 Piper TTS。Piper 是一个快速、高质量的本地神经网络 TTS 系统,非常适合离线应用。
视觉模型 (Vision): 支持通过 Ollama 运行本地多模态模型(如 Llava)。
图像生成 (Image Generation): 支持 本地 ComfyUI。
向量数据库 (Vector Database): 支持 Qdrant,而 Qdrant 是可以本地部署和自托管的。
灵活性: 你可以将 PipeCat 配置为完全使用上述本地服务,从而实现一个完全离线的语音对话系统。数据不需要离开你的本地环境或私有网络。
WebSocket 的使用:
作为传输层 (Transport): PipeCat 设计了 Transport 抽象层来处理输入和输出。它内置了对 WebSocket 的支持 (pipecat.transports.websocket)。
典型场景: 当你需要构建一个 Web 客户端(例如浏览器中的语音助手界面)与 PipeCat 后端进行实时双向通信时,WebSocket 是一个非常自然和常见的选择。客户端可以通过 WebSocket 将麦克风的音频流发送到 PipeCat 后端,PipeCat 处理后(STT -> LLM -> TTS),再通过 WebSocket 将生成的音频流发送回客户端播放。
所以,你可以基于 PipeCat 框架构建一个使用 WebSocket 进行通信的服务。
RTC (WebRTC) 的集成:
不是核心: WebRTC 主要用于浏览器之间或浏览器与服务器之间的点对点实时音视频通信,包含了复杂的网络穿透(NAT traversal)、编解码协商等机制。PipeCat 的核心不是提供这些 WebRTC 底层功能。
可以集成: PipeCat 可以集成到使用 WebRTC 的系统中。例如,PipeCat 提供了一个与 Daily(一个 WebRTC 平台)集成的 Transport (pipecat.transports.daily)。在这种情况下,Daily 处理 WebRTC 的连接和媒体流,而 PipeCat 则作为 Daily 的一个 "机器人" 参与者,接收音频流进行处理,并将生成的语音流发送回去。
这意味着 PipeCat 可以作为 WebRTC 通话中的一个 AI 代理或参与者,但它本身不是实现 WebRTC 协议栈的服务。
https://docs.livekit.io/home/
实时音视频通信基础设施 (WebRTC)
核心目标: 提供一个开源、可扩展、自托管 (Self-hostable) 或云托管 (Cloud-based) 的 WebRTC 基础设施。它的主要目的是让你能够轻松构建具有实时音频、视频和数据功能的应用程序。
解决的问题: 简化构建复杂实时通信应用(如视频会议、在线教室、互动直播、游戏内语音聊天、远程协作工具等)的难度。它处理了 WebRTC 底层的复杂性,如:
信令 (Signaling): 建立连接所需的消息交换。
媒体路由 (Media Routing): 使用 SFU (Selective Forwarding Unit) 高效地将音视频流转发给房间内的其他参与者。
NAT 穿透 (NAT Traversal): 通过 STUN/TURN 确保在各种网络环境下都能建立连接。
客户端 SDK: 提供多种语言和平台的 SDK (JavaScript, Swift, Kotlin, Flutter, Unity, React Native, Python, Go 等),简化客户端开发。
可扩展性和可靠性: 设计用于支持大规模并发用户。
关键概念: Room (房间), Participant (参与者), Track (音轨/视轨/数据轨), SFU, Client SDKs, Server API.
与 AI 的关系: LiveKit 本身不是 AI 框架。但是,它最新推出了 Agents Framework,允许开发者构建可以加入 LiveKit 房间并与人类参与者互动的 AI 代理 (Agents)。这些代理可以接收房间的音视频流,进行处理(可能调用外部 AI 服务,甚至集成像 PipeCat 这样的框架),然后将结果(如生成的语音或视频)发送回房间。所以,LiveKit 可以作为 AI 代理的通信平台。
离线能力: LiveKit 可以完全自托管在你的服务器或私有云上,不依赖 LiveKit Cloud。从这个意义上说,它是 "离线" (不依赖外部 SaaS) 的。但它仍然是一个网络服务,需要参与者能够连接到你部署的 LiveKit 服务器。它本身不处理 AI 模型的离线运行。
ElevenLabs: 主要以其高质量的 Text-to-Speech (TTS) 和声音克隆技术而闻名。它们现在也提供更完整的对话式 AI 解决方案,这通常意味着将 STT (语音转文本)、LLM (语言模型) 和 TTS (文本转语音) 结合起来。
Conversational AI Feature: 这是 ElevenLabs 提供的一个功能或服务,旨在帮助开发者构建能够进行语音对话的 AI 应用(比如 AI 语音助手、客服机器人等)。
Custom LLM: 在构建对话式 AI 时,LLM 是负责理解用户意图并生成文本回复的“大脑”。ElevenLabs 允许用户自定义或选择使用非默认的 LLM 提供商。
Groq (Groq Cloud): Groq 是一家硬件公司,开发了专门用于加速 AI 推理(特别是 LLM)的 LPU (Language Processing Unit) 芯片。Groq Cloud 是他们提供的云服务,允许开发者通过 API 访问在这些 LPU 上运行的、速度极快的 LLM(例如 Llama 3, Mistral 等)。Groq 的主要卖点是极低的延迟。
存在的意义:
极低延迟: 对话式 AI 的流畅度很大程度上取决于响应速度。LLM 的推理速度通常是瓶颈。使用 Groq Cloud 的超快 LLM 可以显著减少从用户说完话到 AI 开始回应之间的延迟。
高质量语音: 结合 ElevenLabs 自己的高质量、低延迟 TTS,目标是创造出反应迅速、听起来自然的对话体验。
灵活性: 表明 ElevenLabs 的平台并非完全绑定特定的 LLM,而是允许用户根据需求(例如对速度的极致追求)选择不同的后端。
几个好用的语音助手案例:目前英文效果好,可以用来练习自己的口语。
1. Groq部署在livekit.io的语音对话助手,代码开源
https://groq.livekit.io/➡️ Groq Llama 4 (llama-4-scout-17b-16e-instruct)
➡️ Groq TTS (playai-tts)
➡️ Function calling
➡️ Deploy to Pipecat Cloud for production
➡️ Optionally add a
@twilio
phone number for telephone voice AI
https://www.hume.ai/
