- Pipecat est un framework Python open source destiné à créer des agents conversationnels vocaux et multimodaux en temps réel, avec une prise en charge allant de l’agent vocal unique jusqu’aux systèmes où plusieurs agents spécialisés sont coordonnés par handoff, exécution en parallèle et bus partagé
- Sa conception centrale consiste à regrouper reconnaissance vocale, synthèse vocale, traitement conversationnel, services d’IA et couche de transport dans des pipelines composables, afin que les développeurs puissent se concentrer sur la logique propre à leurs agents
- Parmi les usages possibles figurent les Voice Assistants, les systèmes multi-agents, les compagnons IA, les interfaces multimodales basées sur la voix, la vidéo et l’image, le storytelling interactif, les bots d’accueil et de support client, ainsi que les systèmes de dialogue structurés
- Les SDK clients officiels prennent en charge JavaScript, React, React Native, Swift, Kotlin, C++, ESP32, tandis que les services côté serveur s’étendent au STT, LLM, TTS, Speech-to-Speech, au transport WebRTC/WebSocket, à la vidéo, à la mémoire, à la vision et à l’image, au traitement audio et aux outils d’analyse
- La prise en main rapide est possible avec
pipecat init quickstart ou pipecat init, et l’installation de base reste légère, la prise en charge des services d’IA tiers se faisant en ajoutant les extras nécessaires
Le rôle de Pipecat
- Pipecat est un framework Python open source conçu pour créer des agents conversationnels vocaux en temps réel et multimodaux
- Il permet de construire non seulement un agent vocal unique, mais aussi des systèmes multi-agents dans lesquels des agents spécialisés effectuent des handoffs, du fan-out en parallèle, une exécution en sidecar et une coordination via un bus partagé
- Il est pensé pour orchestrer ensemble l’audio, la vidéo, les services d’IA, la couche de transport et les pipelines de conversation, afin de se concentrer sur l’implémentation du comportement propre à l’agent
- Pour démarrer rapidement, il suffit d’exécuter
pipecat init quickstart ou de suivre le guide de démarrage rapide
Ce qu’on peut créer
- Voice Assistants : des assistants vocaux capables de conversations en streaming naturelles avec une IA
- Multi-Agent Systems : des architectures où des agents spécialisés effectuent des handoffs, du fan-out en parallèle ou fonctionnent comme sidecars sur un bus partagé
- AI Companions : coachs, assistants de réunion, personnages
- Multimodal Interfaces : des interfaces qui gèrent voix, vidéo, images, etc.
- Interactive Storytelling : des outils créatifs fondés sur des médias génératifs
- Business Agents : accueil client, bots de support, flux guidés
- Complex Dialog Systems : des systèmes où la logique est conçue à travers des dialogues structurés
Caractéristiques de conception
- Une architecture voice-first qui intègre reconnaissance vocale, synthèse vocale et traitement conversationnel
- Une structure plug-in permettant de connecter divers services et outils d’IA
- Des pipelines composables qui assemblent des composants modulaires pour créer des comportements complexes
- Chaque pipeline peut être traité comme un agent et combiné avec des handoffs, du fan-out en parallèle, des workers sidecar ou des déploiements distribués
- L’objectif est une interaction en temps réel à très faible latence via des couches de transport comme WebSockets ou WebRTC
Écosystème et outils
- Des SDK clients officiels sont proposés pour connecter plusieurs plateformes à Pipecat
- Pipecat Flows permet de configurer dans Pipecat des parcours conversationnels prédéfinis ou dynamiques, avec gestion d’état
- Voice UI Kit est un ensemble de composants, hooks et templates pour créer rapidement des applications de voice AI
- Pipecat CLI est fourni avec
pipecat-ai et s’installe avec uv tool install "pipecat-ai[cli]"
pipecat init permet de démarrer un nouveau projet et de le configurer afin que des assistants de code IA comme Claude Code ou Codex puissent créer le projet
- Il est possible de générer le squelette d’un bot exécutable en moins d’une minute, puis de surveiller les agents et de les déployer en production via la CLI
- Whisker est un débogueur en temps réel pour les pipelines et processeurs Pipecat
- Tail est un tableau de bord terminal pour Pipecat
- Pipecat Skills prend en charge, avec Claude Code, le scaffolding de projet, le déploiement sur Pipecat Cloud, etc.
- Commande d’installation :
claude plugin marketplace add pipecat-ai/skills
Étendue des services pris en charge
- Le Speech-to-Text prend en charge de nombreux services, dont AssemblyAI, AWS, Azure, Deepgram, Google, Groq Whisper, Mistral, NVIDIA, OpenAI Whisper, Whisper et xAI
- Les LLM incluent notamment Anthropic, AWS, Azure, Cerebras, DeepSeek, Gemini, Grok, Groq, Mistral, NVIDIA NIM, Ollama, OpenAI, OpenAI Responses, OpenRouter, Perplexity, Qwen et Together AI
- Le Text-to-Speech se connecte à AWS, Azure, Cartesia, Deepgram, ElevenLabs, Google, Groq, Hume, Kokoro, Mistral, NVIDIA, OpenAI, Piper, Resemble, Rime, Together et XTTS, entre autres
- Le Speech-to-Speech prend en charge AWS Nova Sonic, Gemini Multimodal Live, Grok Voice Agent, OpenAI Realtime et Ultravox
- La couche de transport comprend Daily WebRTC, FastAPI Websocket, LiveKit WebRTC, SmallWebRTCTransport, Vonage WebRTC, WebSocket Server, WhatsApp et Local
- S’y ajoutent des serializers comme Twilio, Telnyx et Vonage, la vidéo avec HeyGen, Tavus et Simli, la mémoire avec mem0, la vision et l’image via fal, Google Imagen et Moondream, le traitement audio avec Silero VAD, Krisp Viva et RNNoise, ainsi que les outils d’analyse OpenTelemetry et Sentry
- La liste complète est disponible dans la documentation complète des services
Installation et démarrage
- Pipecat peut être exécuté sur une machine locale, puis le processus d’agent peut être déplacé vers le cloud une fois prêt
- L’installation de uv est nécessaire avant de commencer
curl -LsSf https://astral.sh/uv/install.sh | sh
- Le démarrage rapide via la CLI consiste à installer Pipecat CLI puis à générer de manière interactive le squelette d’un nouveau bot phone ou web/mobile
uv tool install "pipecat-ai[cli]"
pipecat init
- L’installation manuelle consiste à utiliser
uv init et uv add pipecat-ai dans un nouveau projet, ou à ajouter uv add pipecat-ai à un projet existant
uv init my-pipecat-app
cd my-pipecat-app
uv add pipecat-ai
uv add pipecat-ai
- Le fichier d’environnement se configure avec
cp env.example .env
- Le package de base n’inclut que le core framework ; si des services d’IA tiers sont nécessaires, il faut ajouter les extras correspondants
uv add "pipecat-ai[option,...]"
- Les utilisateurs de pip peuvent installer avec
pip install pipecat-ai et pip install "pipecat-ai[option,...]"
Exemples et développement
- Les Focused examples sont de petits exemples d’agents montrant un ou deux services ou concepts précis
- Les Example apps sont des applications complètes pouvant servir de point de départ au développement
- Le développement avec Pipecat nécessite au minimum Python 3.11, la version recommandée étant Python 3.12 ou supérieure
- L’environnement de développement du dépôt se configure avec
uv sync --group dev --all-extras --no-extra gstreamer --no-extra local
- Certains extras comme
local et gstreamer peuvent nécessiter des dépendances système
- Les tests s’exécutent depuis la racine du dépôt avec
uv run pytest, et un test spécifique avec uv run pytest tests/test_name.py
Contribution et aide
- Les bugs doivent être signalés via une GitHub issue, et les idées de fonctionnalités commencent dans une discussion Discord
- Les contributions au code suivent le guide
CONTRIBUTING.md, et les améliorations de documentation peuvent être soumises via des PR sur Docs
- Pour obtenir de l’aide, on peut passer par le Discord, la documentation ou X
1 commentaires
Avis sur Hacker News
Ravi de voir une implémentation open source arriver, et j’ai vu beaucoup de startups comme https://www.retellai.com/, https://fixie.ai/ se lancer sur ce créneau
Au final, on a toujours besoin de modèles voix-à-voix, mais l’approche actuelle semble généralement être voix→texte→texte→voix, avec plusieurs agents, dont un pour l’écoute et un pour la parole
Curieux de voir comment cela va s’articuler avec le récent lancement de gpt-4o
J’essaie de continuer à suivre les différentes couches et les acteurs de ce domaine
C’est excellent, mais côté open source, il faut vraiment aussi des modèles audio-à-audio comme ceux qu’on a vus dans la démo. Je me demande si quelqu’un connaît quelque chose de similaire
Édition : quelqu’un en a trouvé un : https://news.ycombinator.com/item?id=40346992
Ce serait bien de mettre à jour les exemples du README pour que ce point apparaisse plus clairement
Dans le contexte de l’IA vocale temps réel, quand la latence passe sous environ 800 ms, la réaction paraît naturelle pour la plupart des gens et des cas d’usage
La page d’annonce de GPT-4o parle d’environ 320 ms en moyenne jusqu’au premier token à partir d’un prompt audio, donc c’est clairement l’étape suivante et c’est très intéressant. Atteindre 800 ms est actuellement difficile avec n’importe quel pipeline incluant GPT-4 Turbo, ce qui est donc très significatif
Aujourd’hui, en assemblant en pipeline les modèles les plus rapides de transcription, d’inférence et de synthèse vocale, on peut viser environ 500 ms jusqu’au premier token. Par exemple : transcription Deepgram, Groq Llama-3 et voix Deepgram Aura
Siri est sorti en octobre 2011, Amazon Alexa en novembre 2014, et les enceintes vocales Google Assistant en mai 2016
De ce que je vois, Siri reste encore aujourd’hui un désastre que personne n’a vraiment envie d’utiliser. Je n’ai pas assez utilisé Alexa pour en parler, mais sur les enceintes Google Home et les téléphones Android, je n’ai pas vu de vraie amélioration depuis des années. C’est même pire : je ne peux plus ajouter directement des éléments à AnyList[0] comme avant, seulement à Google Keep
Même pour des exemples très simples que j’aurais cru résolus depuis longtemps, ils ne comprennent toujours pas des requêtes en deux étapes comme « répète plus fort ce que tu viens de dire » ou « éteins les lumières de la cuisine et de la salle à manger »
Les assistants vocaux sont pourtant très utiles en voiture, au lit, en cuisinant ou quand on est occupé par autre chose, mais ils donnent l’impression d’avoir presque stagné depuis leur lancement. Personne n’a sans doute trouvé de modèle de monétisation convaincant
Qu’est-ce qu’il faudrait pour obtenir un meilleur assistant vocal grand public ? Willow[1] n’a pas l’air d’avoir vraiment décollé non plus
[0] https://help.anylist.com/articles/google-assistant-overview/
[1] https://heywillow.io/
Cela dit, j’ai peut-être un peu monopolisé le fil en vidant ce que j’avais en tête. Pipecat a vraiment l’air très cool, j’espère que ça marchera bien, et j’aimerais trouver le temps d’expérimenter avec ce week-end
Je suis d’accord pour dire que Google Home semble s’être dégradé sur plusieurs aspects. En tant que gros utilisateur d’AnyList, ce changement a été particulièrement frustrant
Elle s’en sort assez bien même sans connexion Internet. La dictée est toutefois l’exception : c’est bien meilleur quand il y a une connexion
Cela dit, du point de vue d’Amazon, il n’est pas clair à quel niveau technologique, à un moment donné de l’année écoulée, ils auraient pu tracer une ligne et commencer à itérer produit dessus
Cela dit, Alexa peut tout de même gérer deux actions à la fois, du genre « allume X et éteins Y » ou « allume X pendant Y secondes »
J’ai l’impression qu’elle s’est dégradée avec le temps. J’ai vu passer des messages disant que de la poussière pouvait s’accumuler sur le micro et détériorer la capture vocale, donc j’ai essayé un souffleur à poussière, mais ça n’a rien réglé
En écoutant dans l’application ce qu’Alexa avait réellement capté, aussi bien sur Echo que sur Echo Dot 4e génération, la qualité des micros est vraiment mauvaise. Le mois dernier, j’ai beaucoup testé Whisper sur des sources audio de basse qualité, et j’ai l’impression que ce type de modèle interpréterait ma voix bien mieux que ce qu’utilise Amazon
Alexa est nulle et devient sans cesse plus bête. Elle ignore complètement les réglages et peut même réactiver des options que j’avais désactivées
Elle ne répond souvent pas aux questions et demande à la place si je veux essayer d’autres nouvelles fonctions, et elle rajoute parfois au hasard des chaînes d’info que j’avais explicitement retirées de la liste Flash Briefing
Je ne comprends pas comment ça peut rester aussi mauvais
Je viens aussi de créer https://feycher.com ; c’est similaire mais avec en plus le lip sync en temps réel. Si ça vous intéresse, on peut en discuter
Ils développent aussi bolna, une orchestration vocale open source : https://github.com/bolna-ai/bolna
LiveKit Agents, qu’OpenAI utilise pour le mode vocal, est aussi open source :
https://github.com/livekit/agents
Tout ce qui touche à la détection d’activité vocale (VAD) est très intéressant, et j’aimerais particulièrement en apprendre davantage sur son fonctionnement quand il y a plusieurs locuteurs
Si on voulait utiliser ça pour faire de la traduction en temps réel d’appels téléphoniques, par où commencer ?
Autrement dit, on peut connecter le bot à l’appel puis lui demander de composer un numéro, et ça fonctionne effectivement comme ça
Je me demande quel impact la voix temps réel du GPT-4o tout juste annoncé aura sur ce type de projets
La démo de conversation multilingue avec traduction en temps réel était vraiment impressionnante
Dès que l’entrée audio de GPT-4o sera disponible via l’API, ils prévoient d’ajouter la prise en charge de 4o dans Pipecat. Pour l’audio bidirectionnel en temps réel, il faudra sans doute un nouvel endpoint WebSocket ou WebRTC
Construire un pipeline qui relie un grand modèle de langage, de la synthèse vocale et des modèles de reconnaissance vocale avec une faible latence, c’est très bien, mais cela paraît clairement désavantagé face à des modèles multimodaux natifs comme GPT-4o
L’avenir appartient aux modèles natifs pour la voix capables de comprendre les nuances de la parole et de l’intonation, et cet avenir n’est pas si lointain