
关于
Daily 的文档和功能参考,用于实时音视频通信集成。
name: daily description: Daily 的文档和能力参考 metadata: mintlify-proj: daily version: "1.0" risk: safe source: community date_added: "2026-03-07"
何时使用
- 你正在构建使用 Daily 或 Pipecat 风格传输的实时语音或多模态 AI 应用。
- 你需要在一个管道中进行低延迟音频、视频、文本和 AI 服务编排的指导。
- 你想在为交互式智能体选择服务、传输或工作流模式之前获取能力参考。
能力
Pipecat 使智能体能够构建具有实时处理能力的生产就绪语音和多模态 AI 应用。智能体可以编排复杂的 AI 服务管道,同时处理音频、视频和文本,同时保持超低延迟(500-800ms 往返)。该框架抽象了协调多个 AI 服务、网络传输和音频处理的复杂性,使智能体能够专注于应用逻辑。
关键能力包括:
- 具有自然轮换和打断处理的实时语音对话
- 结合音频、视频、图像和文本的多模态处理
- 与 50+ AI 服务集成(LLM、语音识别、文本转语音、视觉模型)
- 用于外部 API 集成和工具使用的函数调用
- 自动对话上下文管理,可选摘要功能
- 多种传输选项(WebRTC、WebSocket、Daily、Twilio、Telnyx 等)
- 跨云平台的生产部署,内置扩展能力
技能
管道架构与帧处理
智能体可以构建按顺序连接帧处理器的管道来处理实时数据流:
pipeline = Pipeline([
transport.input(), # Receives user audio
stt, # Speech-to-text conversion
context_aggregator.user(), # Collect user responses
llm, # Language model processing
tts, # Text-to-speech conversion
transport.output(), # Sends audio to user
context_aggregator.assistant(), # Collect assistant responses
])
智能体可以创建自定义帧处理器来处理专门逻辑,使用并行管道进行条件处理,并管理帧类型(SystemFrames 用于即时处理,DataFrames 用于有序排队)。
语音识别与音频输入
智能体可以集成 15+ 语音转文本提供商,包括 OpenAI、Google Cloud、Deepgram、AssemblyAI、Azure 和 Whisper。服务支持:
- 通过 WebSocket 连接的实时流式转录
- 语音活动检测(VAD)用于自动语音检测
- 多语言支持(Google Cloud 支持 125+ 种语言)
- 词级置信度分数和自动标点
- 可配置的延迟调优以获得最佳性能
文本转语音与音频输出
智能体可以从 30+ 文本转语音提供商中选择,包括 OpenAI、Google Cloud、ElevenLabs、Cartesia、LMNT 和 PlayHT。功能包括:
- 超低延迟的实时流式合成
- 每个提供商的多种语音选项和说话风格
- 自然对话的自动打断处理
- 音频格式灵活性(WAV、PCM、MP3)
- 词级输出用于精确上下文跟踪
语言模型集成
智能体可以与 20+ LLM 提供商集成,包括 OpenAI、Anthropic、Google Gemini、Groq、Perplexity,以及通过 Ollama 的开源模型。能力包括:
- 实时输出的流式响应生成
- 用于外部 API 集成的函数调用(工具使用)
- 自动消息历史跟踪的上下文管理
- 令牌使用监控和成本跟踪
- 支持视觉模型和多模态输入
函数调用与工具集成
智能体可以使 LLM 在对话期间调用外部函数和 API:
# Define functions using standard schema
weather_function = FunctionSchema(
name="get_current_weather",
description="Get the current weather in a location",
properties={"location": {"type": "string"}},
required=["location"]
)
# Register function handlers
async def fetch_weather(params: FunctionCallParams):
location = params.arguments.get("location")
weather_data = await weather_api.get_weather(location)
await params.result_callback(weather_data)
llm.register_function("get_current_weather", fetch_weather)
函数结果自动存储在对话上下文中,支持多步交互和实时数据访问。
上下文管理与对话历史
智能体可以自动或手动管理对话上下文:
- 从转录和 TTS 输出自动聚合上下文
- 通过
LLMMessagesAppendFrame和LLMMessagesUpdateFrame手动操作上下文 - 长对话的自动上下文摘要以减少令牌使用
- 工具定义和函数调用结果存储
兼容工具
Claude CodeCursor
标签
AI与机器学习