dv-pipecat-ai 0.0.82.dev69__py3-none-any.whl → 0.0.82.dev759__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dv-pipecat-ai might be problematic. Click here for more details.
- {dv_pipecat_ai-0.0.82.dev69.dist-info → dv_pipecat_ai-0.0.82.dev759.dist-info}/METADATA +78 -117
- {dv_pipecat_ai-0.0.82.dev69.dist-info → dv_pipecat_ai-0.0.82.dev759.dist-info}/RECORD +157 -123
- pipecat/adapters/base_llm_adapter.py +38 -1
- pipecat/adapters/services/anthropic_adapter.py +9 -14
- pipecat/adapters/services/aws_nova_sonic_adapter.py +5 -0
- pipecat/adapters/services/bedrock_adapter.py +236 -13
- pipecat/adapters/services/gemini_adapter.py +12 -8
- pipecat/adapters/services/open_ai_adapter.py +19 -7
- pipecat/adapters/services/open_ai_realtime_adapter.py +5 -0
- pipecat/audio/filters/krisp_viva_filter.py +193 -0
- pipecat/audio/filters/noisereduce_filter.py +15 -0
- pipecat/audio/turn/base_turn_analyzer.py +9 -1
- pipecat/audio/turn/smart_turn/base_smart_turn.py +14 -8
- pipecat/audio/turn/smart_turn/data/__init__.py +0 -0
- pipecat/audio/turn/smart_turn/data/smart-turn-v3.0.onnx +0 -0
- pipecat/audio/turn/smart_turn/http_smart_turn.py +6 -2
- pipecat/audio/turn/smart_turn/local_smart_turn.py +1 -1
- pipecat/audio/turn/smart_turn/local_smart_turn_v2.py +1 -1
- pipecat/audio/turn/smart_turn/local_smart_turn_v3.py +124 -0
- pipecat/audio/vad/data/README.md +10 -0
- pipecat/audio/vad/vad_analyzer.py +13 -1
- pipecat/extensions/voicemail/voicemail_detector.py +5 -5
- pipecat/frames/frames.py +232 -88
- pipecat/observers/loggers/debug_log_observer.py +3 -3
- pipecat/observers/loggers/llm_log_observer.py +7 -3
- pipecat/observers/loggers/user_bot_latency_log_observer.py +22 -10
- pipecat/pipeline/runner.py +12 -4
- pipecat/pipeline/service_switcher.py +64 -36
- pipecat/pipeline/task.py +85 -24
- pipecat/processors/aggregators/dtmf_aggregator.py +28 -22
- pipecat/processors/aggregators/{gated_openai_llm_context.py → gated_llm_context.py} +9 -9
- pipecat/processors/aggregators/gated_open_ai_llm_context.py +12 -0
- pipecat/processors/aggregators/llm_response.py +6 -7
- pipecat/processors/aggregators/llm_response_universal.py +19 -15
- pipecat/processors/aggregators/user_response.py +6 -6
- pipecat/processors/aggregators/vision_image_frame.py +24 -2
- pipecat/processors/audio/audio_buffer_processor.py +43 -8
- pipecat/processors/dtmf_aggregator.py +128 -87
- pipecat/processors/filters/stt_mute_filter.py +17 -0
- pipecat/processors/frame_processor.py +103 -17
- pipecat/processors/frameworks/langchain.py +8 -2
- pipecat/processors/frameworks/rtvi.py +209 -68
- pipecat/processors/frameworks/strands_agents.py +170 -0
- pipecat/processors/logger.py +2 -2
- pipecat/processors/transcript_processor.py +4 -4
- pipecat/processors/user_idle_processor.py +18 -10
- pipecat/runner/run.py +270 -50
- pipecat/runner/types.py +2 -0
- pipecat/runner/utils.py +51 -10
- pipecat/serializers/exotel.py +5 -5
- pipecat/serializers/livekit.py +20 -0
- pipecat/serializers/plivo.py +6 -9
- pipecat/serializers/protobuf.py +6 -5
- pipecat/serializers/telnyx.py +2 -2
- pipecat/serializers/twilio.py +43 -23
- pipecat/services/ai_service.py +2 -6
- pipecat/services/anthropic/llm.py +2 -25
- pipecat/services/asyncai/tts.py +2 -3
- pipecat/services/aws/__init__.py +1 -0
- pipecat/services/aws/llm.py +122 -97
- pipecat/services/aws/nova_sonic/__init__.py +0 -0
- pipecat/services/aws/nova_sonic/context.py +367 -0
- pipecat/services/aws/nova_sonic/frames.py +25 -0
- pipecat/services/aws/nova_sonic/llm.py +1155 -0
- pipecat/services/aws/stt.py +1 -3
- pipecat/services/aws_nova_sonic/__init__.py +19 -1
- pipecat/services/aws_nova_sonic/aws.py +11 -1151
- pipecat/services/aws_nova_sonic/context.py +13 -355
- pipecat/services/aws_nova_sonic/frames.py +13 -17
- pipecat/services/azure/realtime/__init__.py +0 -0
- pipecat/services/azure/realtime/llm.py +65 -0
- pipecat/services/azure/stt.py +15 -0
- pipecat/services/cartesia/tts.py +2 -2
- pipecat/services/deepgram/__init__.py +1 -0
- pipecat/services/deepgram/flux/__init__.py +0 -0
- pipecat/services/deepgram/flux/stt.py +636 -0
- pipecat/services/elevenlabs/__init__.py +2 -1
- pipecat/services/elevenlabs/stt.py +254 -276
- pipecat/services/elevenlabs/tts.py +5 -5
- pipecat/services/fish/tts.py +2 -2
- pipecat/services/gemini_multimodal_live/events.py +38 -524
- pipecat/services/gemini_multimodal_live/file_api.py +23 -173
- pipecat/services/gemini_multimodal_live/gemini.py +41 -1403
- pipecat/services/gladia/stt.py +56 -72
- pipecat/services/google/__init__.py +1 -0
- pipecat/services/google/gemini_live/__init__.py +3 -0
- pipecat/services/google/gemini_live/file_api.py +189 -0
- pipecat/services/google/gemini_live/llm.py +1582 -0
- pipecat/services/google/gemini_live/llm_vertex.py +184 -0
- pipecat/services/google/llm.py +15 -11
- pipecat/services/google/llm_openai.py +3 -3
- pipecat/services/google/llm_vertex.py +86 -16
- pipecat/services/google/tts.py +7 -3
- pipecat/services/heygen/api.py +2 -0
- pipecat/services/heygen/client.py +8 -4
- pipecat/services/heygen/video.py +2 -0
- pipecat/services/hume/__init__.py +5 -0
- pipecat/services/hume/tts.py +220 -0
- pipecat/services/inworld/tts.py +6 -6
- pipecat/services/llm_service.py +15 -5
- pipecat/services/lmnt/tts.py +2 -2
- pipecat/services/mcp_service.py +4 -2
- pipecat/services/mem0/memory.py +6 -5
- pipecat/services/mistral/llm.py +29 -8
- pipecat/services/moondream/vision.py +42 -16
- pipecat/services/neuphonic/tts.py +2 -2
- pipecat/services/openai/__init__.py +1 -0
- pipecat/services/openai/base_llm.py +27 -20
- pipecat/services/openai/realtime/__init__.py +0 -0
- pipecat/services/openai/realtime/context.py +272 -0
- pipecat/services/openai/realtime/events.py +1106 -0
- pipecat/services/openai/realtime/frames.py +37 -0
- pipecat/services/openai/realtime/llm.py +829 -0
- pipecat/services/openai/tts.py +16 -8
- pipecat/services/openai_realtime/__init__.py +27 -0
- pipecat/services/openai_realtime/azure.py +21 -0
- pipecat/services/openai_realtime/context.py +21 -0
- pipecat/services/openai_realtime/events.py +21 -0
- pipecat/services/openai_realtime/frames.py +21 -0
- pipecat/services/openai_realtime_beta/azure.py +16 -0
- pipecat/services/openai_realtime_beta/openai.py +17 -5
- pipecat/services/playht/tts.py +31 -4
- pipecat/services/rime/tts.py +3 -4
- pipecat/services/sarvam/tts.py +2 -6
- pipecat/services/simli/video.py +2 -2
- pipecat/services/speechmatics/stt.py +1 -7
- pipecat/services/stt_service.py +34 -0
- pipecat/services/tavus/video.py +2 -2
- pipecat/services/tts_service.py +9 -9
- pipecat/services/vision_service.py +7 -6
- pipecat/tests/utils.py +4 -4
- pipecat/transcriptions/language.py +41 -1
- pipecat/transports/base_input.py +17 -42
- pipecat/transports/base_output.py +42 -26
- pipecat/transports/daily/transport.py +199 -26
- pipecat/transports/heygen/__init__.py +0 -0
- pipecat/transports/heygen/transport.py +381 -0
- pipecat/transports/livekit/transport.py +228 -63
- pipecat/transports/local/audio.py +6 -1
- pipecat/transports/local/tk.py +11 -2
- pipecat/transports/network/fastapi_websocket.py +1 -1
- pipecat/transports/smallwebrtc/connection.py +98 -19
- pipecat/transports/smallwebrtc/request_handler.py +204 -0
- pipecat/transports/smallwebrtc/transport.py +65 -23
- pipecat/transports/tavus/transport.py +23 -12
- pipecat/transports/websocket/client.py +41 -5
- pipecat/transports/websocket/fastapi.py +21 -11
- pipecat/transports/websocket/server.py +14 -7
- pipecat/transports/whatsapp/api.py +8 -0
- pipecat/transports/whatsapp/client.py +47 -0
- pipecat/utils/base_object.py +54 -22
- pipecat/utils/string.py +12 -1
- pipecat/utils/tracing/service_decorators.py +21 -21
- {dv_pipecat_ai-0.0.82.dev69.dist-info → dv_pipecat_ai-0.0.82.dev759.dist-info}/WHEEL +0 -0
- {dv_pipecat_ai-0.0.82.dev69.dist-info → dv_pipecat_ai-0.0.82.dev759.dist-info}/licenses/LICENSE +0 -0
- {dv_pipecat_ai-0.0.82.dev69.dist-info → dv_pipecat_ai-0.0.82.dev759.dist-info}/top_level.txt +0 -0
- /pipecat/services/{aws_nova_sonic → aws/nova_sonic}/ready.wav +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dv-pipecat-ai
|
|
3
|
-
Version: 0.0.82.
|
|
3
|
+
Version: 0.0.82.dev759
|
|
4
4
|
Summary: An open source framework for voice (and multimodal) assistants
|
|
5
5
|
License-Expression: BSD-2-Clause
|
|
6
6
|
Project-URL: Source, https://github.com/pipecat-ai/pipecat
|
|
@@ -37,19 +37,19 @@ Requires-Dist: aic-sdk~=1.0.1; extra == "aic"
|
|
|
37
37
|
Provides-Extra: anthropic
|
|
38
38
|
Requires-Dist: anthropic~=0.49.0; extra == "anthropic"
|
|
39
39
|
Provides-Extra: assemblyai
|
|
40
|
-
Requires-Dist: websockets
|
|
40
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "assemblyai"
|
|
41
41
|
Provides-Extra: asyncai
|
|
42
|
-
Requires-Dist: websockets
|
|
42
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "asyncai"
|
|
43
43
|
Provides-Extra: aws
|
|
44
44
|
Requires-Dist: aioboto3~=15.0.0; extra == "aws"
|
|
45
|
-
Requires-Dist: websockets
|
|
45
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "aws"
|
|
46
46
|
Provides-Extra: aws-nova-sonic
|
|
47
|
-
Requires-Dist: aws_sdk_bedrock_runtime~=0.0
|
|
47
|
+
Requires-Dist: aws_sdk_bedrock_runtime~=0.1.0; python_version >= "3.12" and extra == "aws-nova-sonic"
|
|
48
48
|
Provides-Extra: azure
|
|
49
49
|
Requires-Dist: azure-cognitiveservices-speech~=1.42.0; extra == "azure"
|
|
50
50
|
Provides-Extra: cartesia
|
|
51
51
|
Requires-Dist: cartesia~=2.0.3; extra == "cartesia"
|
|
52
|
-
Requires-Dist: websockets
|
|
52
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "cartesia"
|
|
53
53
|
Provides-Extra: cerebras
|
|
54
54
|
Provides-Extra: deepseek
|
|
55
55
|
Provides-Extra: daily
|
|
@@ -57,28 +57,30 @@ Requires-Dist: daily-python~=0.19.9; extra == "daily"
|
|
|
57
57
|
Provides-Extra: deepgram
|
|
58
58
|
Requires-Dist: deepgram-sdk~=4.7.0; extra == "deepgram"
|
|
59
59
|
Provides-Extra: elevenlabs
|
|
60
|
-
Requires-Dist: websockets
|
|
60
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "elevenlabs"
|
|
61
61
|
Provides-Extra: fal
|
|
62
62
|
Requires-Dist: fal-client~=0.5.9; extra == "fal"
|
|
63
63
|
Provides-Extra: fireworks
|
|
64
64
|
Provides-Extra: fish
|
|
65
65
|
Requires-Dist: ormsgpack~=1.7.0; extra == "fish"
|
|
66
|
-
Requires-Dist: websockets
|
|
66
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "fish"
|
|
67
67
|
Provides-Extra: gladia
|
|
68
|
-
Requires-Dist: websockets
|
|
68
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "gladia"
|
|
69
69
|
Provides-Extra: google
|
|
70
|
-
Requires-Dist: google-cloud-speech
|
|
71
|
-
Requires-Dist: google-cloud-texttospeech
|
|
72
|
-
Requires-Dist: google-genai
|
|
73
|
-
Requires-Dist: websockets
|
|
70
|
+
Requires-Dist: google-cloud-speech<3,>=2.33.0; extra == "google"
|
|
71
|
+
Requires-Dist: google-cloud-texttospeech<3,>=2.31.0; extra == "google"
|
|
72
|
+
Requires-Dist: google-genai<2,>=1.41.0; extra == "google"
|
|
73
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "google"
|
|
74
74
|
Provides-Extra: grok
|
|
75
75
|
Provides-Extra: groq
|
|
76
76
|
Requires-Dist: groq~=0.23.0; extra == "groq"
|
|
77
77
|
Provides-Extra: gstreamer
|
|
78
78
|
Requires-Dist: pygobject~=3.50.0; extra == "gstreamer"
|
|
79
79
|
Provides-Extra: heygen
|
|
80
|
-
Requires-Dist: livekit>=0.
|
|
81
|
-
Requires-Dist: websockets
|
|
80
|
+
Requires-Dist: livekit>=1.0.13; extra == "heygen"
|
|
81
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "heygen"
|
|
82
|
+
Provides-Extra: hume
|
|
83
|
+
Requires-Dist: hume>=0.11.2; extra == "hume"
|
|
82
84
|
Provides-Extra: inworld
|
|
83
85
|
Provides-Extra: krisp
|
|
84
86
|
Requires-Dist: pipecat-ai-krisp~=0.4.0; extra == "krisp"
|
|
@@ -89,15 +91,15 @@ Requires-Dist: langchain~=0.3.20; extra == "langchain"
|
|
|
89
91
|
Requires-Dist: langchain-community~=0.3.20; extra == "langchain"
|
|
90
92
|
Requires-Dist: langchain-openai~=0.3.9; extra == "langchain"
|
|
91
93
|
Provides-Extra: livekit
|
|
92
|
-
Requires-Dist: livekit~=0.
|
|
93
|
-
Requires-Dist: livekit-api~=0.
|
|
94
|
+
Requires-Dist: livekit~=1.0.13; extra == "livekit"
|
|
95
|
+
Requires-Dist: livekit-api~=1.0.5; extra == "livekit"
|
|
94
96
|
Requires-Dist: tenacity<10.0.0,>=8.2.3; extra == "livekit"
|
|
95
97
|
Provides-Extra: lmnt
|
|
96
|
-
Requires-Dist: websockets
|
|
98
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "lmnt"
|
|
97
99
|
Provides-Extra: local
|
|
98
100
|
Requires-Dist: pyaudio~=0.2.14; extra == "local"
|
|
99
101
|
Provides-Extra: mcp
|
|
100
|
-
Requires-Dist: mcp[cli]
|
|
102
|
+
Requires-Dist: mcp[cli]<2,>=1.11.0; extra == "mcp"
|
|
101
103
|
Provides-Extra: mem0
|
|
102
104
|
Requires-Dist: mem0ai~=0.1.94; extra == "mem0"
|
|
103
105
|
Provides-Extra: mistral
|
|
@@ -111,20 +113,20 @@ Requires-Dist: timm~=1.0.13; extra == "moondream"
|
|
|
111
113
|
Requires-Dist: transformers>=4.48.0; extra == "moondream"
|
|
112
114
|
Provides-Extra: nim
|
|
113
115
|
Provides-Extra: neuphonic
|
|
114
|
-
Requires-Dist: websockets
|
|
116
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "neuphonic"
|
|
115
117
|
Provides-Extra: noisereduce
|
|
116
118
|
Requires-Dist: noisereduce~=3.0.3; extra == "noisereduce"
|
|
117
119
|
Provides-Extra: openai
|
|
118
|
-
Requires-Dist: websockets
|
|
120
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "openai"
|
|
119
121
|
Provides-Extra: openpipe
|
|
120
122
|
Requires-Dist: openpipe~=4.50.0; extra == "openpipe"
|
|
121
123
|
Provides-Extra: openrouter
|
|
122
124
|
Provides-Extra: perplexity
|
|
123
125
|
Provides-Extra: playht
|
|
124
|
-
Requires-Dist: websockets
|
|
126
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "playht"
|
|
125
127
|
Provides-Extra: qwen
|
|
126
128
|
Provides-Extra: rime
|
|
127
|
-
Requires-Dist: websockets
|
|
129
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "rime"
|
|
128
130
|
Provides-Extra: riva
|
|
129
131
|
Requires-Dist: nvidia-riva-client~=2.21.1; extra == "riva"
|
|
130
132
|
Provides-Extra: runner
|
|
@@ -134,26 +136,30 @@ Requires-Dist: fastapi<0.117.0,>=0.115.6; extra == "runner"
|
|
|
134
136
|
Requires-Dist: pipecat-ai-small-webrtc-prebuilt>=1.0.0; extra == "runner"
|
|
135
137
|
Provides-Extra: sambanova
|
|
136
138
|
Provides-Extra: sarvam
|
|
137
|
-
Requires-Dist:
|
|
138
|
-
Requires-Dist: websockets<15.0,>=13.1; extra == "sarvam"
|
|
139
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "sarvam"
|
|
139
140
|
Provides-Extra: sentry
|
|
140
|
-
Requires-Dist: sentry-sdk
|
|
141
|
+
Requires-Dist: sentry-sdk<3,>=2.28.0; extra == "sentry"
|
|
141
142
|
Provides-Extra: local-smart-turn
|
|
142
143
|
Requires-Dist: coremltools>=8.0; extra == "local-smart-turn"
|
|
143
144
|
Requires-Dist: transformers; extra == "local-smart-turn"
|
|
144
145
|
Requires-Dist: torch<3,>=2.5.0; extra == "local-smart-turn"
|
|
145
146
|
Requires-Dist: torchaudio<3,>=2.5.0; extra == "local-smart-turn"
|
|
147
|
+
Provides-Extra: local-smart-turn-v3
|
|
148
|
+
Requires-Dist: transformers; extra == "local-smart-turn-v3"
|
|
149
|
+
Requires-Dist: onnxruntime<2,>=1.20.1; extra == "local-smart-turn-v3"
|
|
146
150
|
Provides-Extra: remote-smart-turn
|
|
147
151
|
Provides-Extra: silero
|
|
148
|
-
Requires-Dist: onnxruntime
|
|
152
|
+
Requires-Dist: onnxruntime<2,>=1.20.1; extra == "silero"
|
|
149
153
|
Provides-Extra: simli
|
|
150
154
|
Requires-Dist: simli-ai~=0.1.10; extra == "simli"
|
|
151
155
|
Provides-Extra: soniox
|
|
152
|
-
Requires-Dist: websockets
|
|
156
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "soniox"
|
|
153
157
|
Provides-Extra: soundfile
|
|
154
158
|
Requires-Dist: soundfile~=0.13.0; extra == "soundfile"
|
|
155
159
|
Provides-Extra: speechmatics
|
|
156
160
|
Requires-Dist: speechmatics-rt>=0.4.0; extra == "speechmatics"
|
|
161
|
+
Provides-Extra: strands
|
|
162
|
+
Requires-Dist: strands-agents<2,>=1.9.1; extra == "strands"
|
|
157
163
|
Provides-Extra: tavus
|
|
158
164
|
Provides-Extra: together
|
|
159
165
|
Provides-Extra: tracing
|
|
@@ -164,11 +170,13 @@ Provides-Extra: ultravox
|
|
|
164
170
|
Requires-Dist: transformers>=4.48.0; extra == "ultravox"
|
|
165
171
|
Requires-Dist: vllm>=0.9.0; extra == "ultravox"
|
|
166
172
|
Provides-Extra: webrtc
|
|
167
|
-
Requires-Dist: aiortc
|
|
168
|
-
Requires-Dist: opencv-python
|
|
173
|
+
Requires-Dist: aiortc<2,>=1.13.0; extra == "webrtc"
|
|
174
|
+
Requires-Dist: opencv-python<5,>=4.11.0.86; extra == "webrtc"
|
|
169
175
|
Provides-Extra: websocket
|
|
170
|
-
Requires-Dist: websockets
|
|
176
|
+
Requires-Dist: pipecat-ai[websockets-base]; extra == "websocket"
|
|
171
177
|
Requires-Dist: fastapi<0.117.0,>=0.115.6; extra == "websocket"
|
|
178
|
+
Provides-Extra: websockets-base
|
|
179
|
+
Requires-Dist: websockets<16.0,>=13.1; extra == "websockets-base"
|
|
172
180
|
Provides-Extra: whisper
|
|
173
181
|
Requires-Dist: faster-whisper~=1.1.1; extra == "whisper"
|
|
174
182
|
Dynamic: license-file
|
|
@@ -177,11 +185,11 @@ Dynamic: license-file
|
|
|
177
185
|
<img alt="pipecat" width="300px" height="auto" src="https://raw.githubusercontent.com/pipecat-ai/pipecat/main/pipecat.png">
|
|
178
186
|
</div></h1>
|
|
179
187
|
|
|
180
|
-
[](https://pypi.org/project/pipecat-ai)  [](https://codecov.io/gh/pipecat-ai/pipecat) [](https://docs.pipecat.ai) [](https://discord.gg/pipecat)
|
|
188
|
+
[](https://pypi.org/project/pipecat-ai)  [](https://codecov.io/gh/pipecat-ai/pipecat) [](https://docs.pipecat.ai) [](https://discord.gg/pipecat) [](https://deepwiki.com/pipecat-ai/pipecat)
|
|
181
189
|
|
|
182
190
|
# 🎙️ Pipecat: Real-Time Voice & Multimodal AI Agents
|
|
183
191
|
|
|
184
|
-
**Pipecat** is an open-source Python framework for building real-time voice and multimodal conversational agents. Orchestrate audio and video, AI services, different transports, and conversation pipelines effortlessly—so you can focus on what makes your agent unique
|
|
192
|
+
**Pipecat** is an open-source Python framework for building real-time voice and multimodal conversational agents. Orchestrate audio and video, AI services, different transports, and conversation pipelines effortlessly—so you can focus on what makes your agent unique.
|
|
185
193
|
|
|
186
194
|
> Want to dive right in? Try the [quickstart](https://docs.pipecat.ai/getting-started/quickstart).
|
|
187
195
|
|
|
@@ -194,8 +202,6 @@ Dynamic: license-file
|
|
|
194
202
|
- **Business Agents** – customer intake, support bots, guided flows
|
|
195
203
|
- **Complex Dialog Systems** – design logic with structured conversations
|
|
196
204
|
|
|
197
|
-
🧭 Looking to build structured conversations? Check out [Pipecat Flows](https://github.com/pipecat-ai/pipecat-flows) for managing complex conversational states and transitions.
|
|
198
|
-
|
|
199
205
|
## 🧠 Why Pipecat?
|
|
200
206
|
|
|
201
207
|
- **Voice-first**: Integrates speech recognition, text-to-speech, and conversation handling
|
|
@@ -203,6 +209,35 @@ Dynamic: license-file
|
|
|
203
209
|
- **Composable Pipelines**: Build complex behavior from modular components
|
|
204
210
|
- **Real-Time**: Ultra-low latency interaction with different transports (e.g. WebSockets or WebRTC)
|
|
205
211
|
|
|
212
|
+
## 🌐 Pipecat Ecosystem
|
|
213
|
+
|
|
214
|
+
### 📱 Client SDKs
|
|
215
|
+
|
|
216
|
+
Building client applications? You can connect to Pipecat from any platform using our official SDKs:
|
|
217
|
+
|
|
218
|
+
<a href="https://docs.pipecat.ai/client/js/introduction">JavaScript</a> | <a href="https://docs.pipecat.ai/client/react/introduction">React</a> | <a href="https://docs.pipecat.ai/client/react-native/introduction">React Native</a> |
|
|
219
|
+
<a href="https://docs.pipecat.ai/client/ios/introduction">Swift</a> | <a href="https://docs.pipecat.ai/client/android/introduction">Kotlin</a> | <a href="https://docs.pipecat.ai/client/c++/introduction">C++</a> | <a href="https://github.com/pipecat-ai/pipecat-esp32">ESP32</a>
|
|
220
|
+
|
|
221
|
+
### 🧭 Structured conversations
|
|
222
|
+
|
|
223
|
+
Looking to build structured conversations? Check out [Pipecat Flows](https://github.com/pipecat-ai/pipecat-flows) for managing complex conversational states and transitions.
|
|
224
|
+
|
|
225
|
+
### 🪄 Beautiful UIs
|
|
226
|
+
|
|
227
|
+
Want to build beautiful and engaging experiences? Checkout the [Voice UI Kit](https://github.com/pipecat-ai/voice-ui-kit), a collection of components, hooks and templates for building voice AI applications quickly.
|
|
228
|
+
|
|
229
|
+
### 🔍 Debugging
|
|
230
|
+
|
|
231
|
+
Looking for help debugging your pipeline and processors? Check out [Whisker](https://github.com/pipecat-ai/whisker), a real-time Pipecat debugger.
|
|
232
|
+
|
|
233
|
+
### 🖥️ Terminal
|
|
234
|
+
|
|
235
|
+
Love terminal applications? Check out [Tail](https://github.com/pipecat-ai/tail), a terminal dashboard for Pipecat.
|
|
236
|
+
|
|
237
|
+
### 📺️ Pipecat TV Channel
|
|
238
|
+
|
|
239
|
+
Catch new features, interviews, and how-tos on our [Pipecat TV](https://www.youtube.com/playlist?list=PLzU2zoMTQIHjqC3v4q2XVSR3hGSzwKFwH) channel.
|
|
240
|
+
|
|
206
241
|
## 🎬 See it in action
|
|
207
242
|
|
|
208
243
|
<p float="left">
|
|
@@ -213,31 +248,20 @@ Dynamic: license-file
|
|
|
213
248
|
<a href="https://github.com/pipecat-ai/pipecat-examples/tree/main/moondream-chatbot"><img src="https://raw.githubusercontent.com/pipecat-ai/pipecat-examples/main/moondream-chatbot/image.png" width="400" /></a>
|
|
214
249
|
</p>
|
|
215
250
|
|
|
216
|
-
## 📱 Client SDKs
|
|
217
|
-
|
|
218
|
-
You can connect to Pipecat from any platform using our official SDKs:
|
|
219
|
-
|
|
220
|
-
| Platform | SDK Repo | Description |
|
|
221
|
-
| -------- | ------------------------------------------------------------------------------ | -------------------------------- |
|
|
222
|
-
| Web | [pipecat-client-web](https://github.com/pipecat-ai/pipecat-client-web) | JavaScript and React client SDKs |
|
|
223
|
-
| iOS | [pipecat-client-ios](https://github.com/pipecat-ai/pipecat-client-ios) | Swift SDK for iOS |
|
|
224
|
-
| Android | [pipecat-client-android](https://github.com/pipecat-ai/pipecat-client-android) | Kotlin SDK for Android |
|
|
225
|
-
| C++ | [pipecat-client-cxx](https://github.com/pipecat-ai/pipecat-client-cxx) | C++ client SDK |
|
|
226
|
-
|
|
227
251
|
## 🧩 Available services
|
|
228
252
|
|
|
229
253
|
| Category | Services |
|
|
230
254
|
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
231
|
-
| Speech-to-Text | [AssemblyAI](https://docs.pipecat.ai/server/services/stt/assemblyai), [AWS](https://docs.pipecat.ai/server/services/stt/aws), [Azure](https://docs.pipecat.ai/server/services/stt/azure), [Cartesia](https://docs.pipecat.ai/server/services/stt/cartesia), [Deepgram](https://docs.pipecat.ai/server/services/stt/deepgram), [Fal Wizper](https://docs.pipecat.ai/server/services/stt/fal), [Gladia](https://docs.pipecat.ai/server/services/stt/gladia), [Google](https://docs.pipecat.ai/server/services/stt/google), [Groq (Whisper)](https://docs.pipecat.ai/server/services/stt/groq), [NVIDIA Riva](https://docs.pipecat.ai/server/services/stt/riva), [OpenAI (Whisper)](https://docs.pipecat.ai/server/services/stt/openai), [SambaNova (Whisper)](https://docs.pipecat.ai/server/services/stt/sambanova), [Soniox](https://docs.pipecat.ai/server/services/stt/soniox), [Speechmatics](https://docs.pipecat.ai/server/services/stt/speechmatics), [Ultravox](https://docs.pipecat.ai/server/services/stt/ultravox), [Whisper](https://docs.pipecat.ai/server/services/stt/whisper)
|
|
255
|
+
| Speech-to-Text | [AssemblyAI](https://docs.pipecat.ai/server/services/stt/assemblyai), [AWS](https://docs.pipecat.ai/server/services/stt/aws), [Azure](https://docs.pipecat.ai/server/services/stt/azure), [Cartesia](https://docs.pipecat.ai/server/services/stt/cartesia), [Deepgram](https://docs.pipecat.ai/server/services/stt/deepgram), [ElevenLabs](https://docs.pipecat.ai/server/services/stt/elevenlabs), [Fal Wizper](https://docs.pipecat.ai/server/services/stt/fal), [Gladia](https://docs.pipecat.ai/server/services/stt/gladia), [Google](https://docs.pipecat.ai/server/services/stt/google), [Groq (Whisper)](https://docs.pipecat.ai/server/services/stt/groq), [NVIDIA Riva](https://docs.pipecat.ai/server/services/stt/riva), [OpenAI (Whisper)](https://docs.pipecat.ai/server/services/stt/openai), [SambaNova (Whisper)](https://docs.pipecat.ai/server/services/stt/sambanova), [Soniox](https://docs.pipecat.ai/server/services/stt/soniox), [Speechmatics](https://docs.pipecat.ai/server/services/stt/speechmatics), [Ultravox](https://docs.pipecat.ai/server/services/stt/ultravox), [Whisper](https://docs.pipecat.ai/server/services/stt/whisper) |
|
|
232
256
|
| LLMs | [Anthropic](https://docs.pipecat.ai/server/services/llm/anthropic), [AWS](https://docs.pipecat.ai/server/services/llm/aws), [Azure](https://docs.pipecat.ai/server/services/llm/azure), [Cerebras](https://docs.pipecat.ai/server/services/llm/cerebras), [DeepSeek](https://docs.pipecat.ai/server/services/llm/deepseek), [Fireworks AI](https://docs.pipecat.ai/server/services/llm/fireworks), [Gemini](https://docs.pipecat.ai/server/services/llm/gemini), [Grok](https://docs.pipecat.ai/server/services/llm/grok), [Groq](https://docs.pipecat.ai/server/services/llm/groq), [Mistral](https://docs.pipecat.ai/server/services/llm/mistral), [NVIDIA NIM](https://docs.pipecat.ai/server/services/llm/nim), [Ollama](https://docs.pipecat.ai/server/services/llm/ollama), [OpenAI](https://docs.pipecat.ai/server/services/llm/openai), [OpenRouter](https://docs.pipecat.ai/server/services/llm/openrouter), [Perplexity](https://docs.pipecat.ai/server/services/llm/perplexity), [Qwen](https://docs.pipecat.ai/server/services/llm/qwen), [SambaNova](https://docs.pipecat.ai/server/services/llm/sambanova) [Together AI](https://docs.pipecat.ai/server/services/llm/together) |
|
|
233
|
-
| Text-to-Speech | [Async](https://docs.pipecat.ai/server/services/tts/asyncai), [AWS](https://docs.pipecat.ai/server/services/tts/aws), [Azure](https://docs.pipecat.ai/server/services/tts/azure), [Cartesia](https://docs.pipecat.ai/server/services/tts/cartesia), [Deepgram](https://docs.pipecat.ai/server/services/tts/deepgram), [ElevenLabs](https://docs.pipecat.ai/server/services/tts/elevenlabs), [Fish](https://docs.pipecat.ai/server/services/tts/fish), [Google](https://docs.pipecat.ai/server/services/tts/google), [Groq](https://docs.pipecat.ai/server/services/tts/groq), [Inworld](https://docs.pipecat.ai/server/services/tts/inworld), [LMNT](https://docs.pipecat.ai/server/services/tts/lmnt), [MiniMax](https://docs.pipecat.ai/server/services/tts/minimax), [Neuphonic](https://docs.pipecat.ai/server/services/tts/neuphonic), [NVIDIA Riva](https://docs.pipecat.ai/server/services/tts/riva), [OpenAI](https://docs.pipecat.ai/server/services/tts/openai), [Piper](https://docs.pipecat.ai/server/services/tts/piper), [PlayHT](https://docs.pipecat.ai/server/services/tts/playht), [Rime](https://docs.pipecat.ai/server/services/tts/rime), [Sarvam](https://docs.pipecat.ai/server/services/tts/sarvam), [XTTS](https://docs.pipecat.ai/server/services/tts/xtts) |
|
|
257
|
+
| Text-to-Speech | [Async](https://docs.pipecat.ai/server/services/tts/asyncai), [AWS](https://docs.pipecat.ai/server/services/tts/aws), [Azure](https://docs.pipecat.ai/server/services/tts/azure), [Cartesia](https://docs.pipecat.ai/server/services/tts/cartesia), [Deepgram](https://docs.pipecat.ai/server/services/tts/deepgram), [ElevenLabs](https://docs.pipecat.ai/server/services/tts/elevenlabs), [Fish](https://docs.pipecat.ai/server/services/tts/fish), [Google](https://docs.pipecat.ai/server/services/tts/google), [Groq](https://docs.pipecat.ai/server/services/tts/groq), [Hume](https://docs.pipecat.ai/server/services/tts/hume), [Inworld](https://docs.pipecat.ai/server/services/tts/inworld), [LMNT](https://docs.pipecat.ai/server/services/tts/lmnt), [MiniMax](https://docs.pipecat.ai/server/services/tts/minimax), [Neuphonic](https://docs.pipecat.ai/server/services/tts/neuphonic), [NVIDIA Riva](https://docs.pipecat.ai/server/services/tts/riva), [OpenAI](https://docs.pipecat.ai/server/services/tts/openai), [Piper](https://docs.pipecat.ai/server/services/tts/piper), [PlayHT](https://docs.pipecat.ai/server/services/tts/playht), [Rime](https://docs.pipecat.ai/server/services/tts/rime), [Sarvam](https://docs.pipecat.ai/server/services/tts/sarvam), [XTTS](https://docs.pipecat.ai/server/services/tts/xtts) |
|
|
234
258
|
| Speech-to-Speech | [AWS Nova Sonic](https://docs.pipecat.ai/server/services/s2s/aws), [Gemini Multimodal Live](https://docs.pipecat.ai/server/services/s2s/gemini), [OpenAI Realtime](https://docs.pipecat.ai/server/services/s2s/openai) |
|
|
235
259
|
| Transport | [Daily (WebRTC)](https://docs.pipecat.ai/server/services/transport/daily), [FastAPI Websocket](https://docs.pipecat.ai/server/services/transport/fastapi-websocket), [SmallWebRTCTransport](https://docs.pipecat.ai/server/services/transport/small-webrtc), [WebSocket Server](https://docs.pipecat.ai/server/services/transport/websocket-server), Local |
|
|
236
260
|
| Serializers | [Plivo](https://docs.pipecat.ai/server/utilities/serializers/plivo), [Twilio](https://docs.pipecat.ai/server/utilities/serializers/twilio), [Telnyx](https://docs.pipecat.ai/server/utilities/serializers/telnyx) |
|
|
237
261
|
| Video | [HeyGen](https://docs.pipecat.ai/server/services/video/heygen), [Tavus](https://docs.pipecat.ai/server/services/video/tavus), [Simli](https://docs.pipecat.ai/server/services/video/simli) |
|
|
238
262
|
| Memory | [mem0](https://docs.pipecat.ai/server/services/memory/mem0) |
|
|
239
263
|
| Vision & Image | [fal](https://docs.pipecat.ai/server/services/image-generation/fal), [Google Imagen](https://docs.pipecat.ai/server/services/image-generation/fal), [Moondream](https://docs.pipecat.ai/server/services/vision/moondream) |
|
|
240
|
-
| Audio Processing | [Silero VAD](https://docs.pipecat.ai/server/utilities/audio/silero-vad-analyzer), [Krisp](https://docs.pipecat.ai/server/utilities/audio/krisp-filter), [Koala](https://docs.pipecat.ai/server/utilities/audio/koala-filter), [ai-coustics](https://docs.pipecat.ai/server/utilities/audio/aic-filter)
|
|
264
|
+
| Audio Processing | [Silero VAD](https://docs.pipecat.ai/server/utilities/audio/silero-vad-analyzer), [Krisp](https://docs.pipecat.ai/server/utilities/audio/krisp-filter), [Koala](https://docs.pipecat.ai/server/utilities/audio/koala-filter), [ai-coustics](https://docs.pipecat.ai/server/utilities/audio/aic-filter) |
|
|
241
265
|
| Analytics & Metrics | [OpenTelemetry](https://docs.pipecat.ai/server/utilities/opentelemetry), [Sentry](https://docs.pipecat.ai/server/services/analytics/sentry) |
|
|
242
266
|
|
|
243
267
|
📚 [View full services documentation →](https://docs.pipecat.ai/server/services/supported-services)
|
|
@@ -304,7 +328,11 @@ You can get started with Pipecat running on your local machine, then move your a
|
|
|
304
328
|
2. Install development and testing dependencies:
|
|
305
329
|
|
|
306
330
|
```bash
|
|
307
|
-
uv sync --group dev --all-extras
|
|
331
|
+
uv sync --group dev --all-extras \
|
|
332
|
+
--no-extra gstreamer \
|
|
333
|
+
--no-extra krisp \
|
|
334
|
+
--no-extra local \
|
|
335
|
+
--no-extra ultravox # (ultravox not fully supported on macOS)
|
|
308
336
|
```
|
|
309
337
|
|
|
310
338
|
3. Install the git pre-commit hooks:
|
|
@@ -313,23 +341,6 @@ You can get started with Pipecat running on your local machine, then move your a
|
|
|
313
341
|
uv run pre-commit install
|
|
314
342
|
```
|
|
315
343
|
|
|
316
|
-
### Python 3.13+ Compatibility
|
|
317
|
-
|
|
318
|
-
Some features require PyTorch, which doesn't yet support Python 3.13+. Install using:
|
|
319
|
-
|
|
320
|
-
```bash
|
|
321
|
-
uv sync --group dev --all-extras \
|
|
322
|
-
--no-extra gstreamer \
|
|
323
|
-
--no-extra krisp \
|
|
324
|
-
--no-extra local \
|
|
325
|
-
--no-extra local-smart-turn \
|
|
326
|
-
--no-extra mlx-whisper \
|
|
327
|
-
--no-extra moondream \
|
|
328
|
-
--no-extra ultravox
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
> **Tip:** For full compatibility, use Python 3.12: `uv python pin 3.12`
|
|
332
|
-
|
|
333
344
|
> **Note**: Some extras (local, gstreamer) require system dependencies. See documentation if you encounter build errors.
|
|
334
345
|
|
|
335
346
|
### Running tests
|
|
@@ -346,54 +357,6 @@ Run a specific test suite:
|
|
|
346
357
|
uv run pytest tests/test_name.py
|
|
347
358
|
```
|
|
348
359
|
|
|
349
|
-
### Setting up your editor
|
|
350
|
-
|
|
351
|
-
This project uses strict [PEP 8](https://peps.python.org/pep-0008/) formatting via [Ruff](https://github.com/astral-sh/ruff).
|
|
352
|
-
|
|
353
|
-
#### Emacs
|
|
354
|
-
|
|
355
|
-
You can use [use-package](https://github.com/jwiegley/use-package) to install [emacs-lazy-ruff](https://github.com/christophermadsen/emacs-lazy-ruff) package and configure `ruff` arguments:
|
|
356
|
-
|
|
357
|
-
```elisp
|
|
358
|
-
(use-package lazy-ruff
|
|
359
|
-
:ensure t
|
|
360
|
-
:hook ((python-mode . lazy-ruff-mode))
|
|
361
|
-
:config
|
|
362
|
-
(setq lazy-ruff-format-command "ruff format")
|
|
363
|
-
(setq lazy-ruff-check-command "ruff check --select I"))
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
`ruff` was installed in the `venv` environment described before, so you should be able to use [pyvenv-auto](https://github.com/ryotaro612/pyvenv-auto) to automatically load that environment inside Emacs.
|
|
367
|
-
|
|
368
|
-
```elisp
|
|
369
|
-
(use-package pyvenv-auto
|
|
370
|
-
:ensure t
|
|
371
|
-
:defer t
|
|
372
|
-
:hook ((python-mode . pyvenv-auto-run)))
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
#### Visual Studio Code
|
|
376
|
-
|
|
377
|
-
Install the
|
|
378
|
-
[Ruff](https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff) extension. Then edit the user settings (_Ctrl-Shift-P_ `Open User Settings (JSON)`) and set it as the default Python formatter, and enable formatting on save:
|
|
379
|
-
|
|
380
|
-
```json
|
|
381
|
-
"[python]": {
|
|
382
|
-
"editor.defaultFormatter": "charliermarsh.ruff",
|
|
383
|
-
"editor.formatOnSave": true
|
|
384
|
-
}
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
#### PyCharm
|
|
388
|
-
|
|
389
|
-
`ruff` was installed in the `venv` environment described before, now to enable autoformatting on save, go to `File` -> `Settings` -> `Tools` -> `File Watchers` and add a new watcher with the following settings:
|
|
390
|
-
|
|
391
|
-
1. **Name**: `Ruff formatter`
|
|
392
|
-
2. **File type**: `Python`
|
|
393
|
-
3. **Working directory**: `$ContentRoot$`
|
|
394
|
-
4. **Arguments**: `format $FilePath$`
|
|
395
|
-
5. **Program**: `$PyInterpreterDirectory$/ruff`
|
|
396
|
-
|
|
397
360
|
## 🤝 Contributing
|
|
398
361
|
|
|
399
362
|
We welcome contributions from the community! Whether you're fixing bugs, improving documentation, or adding new features, here's how you can help:
|
|
@@ -414,5 +377,3 @@ We aim to review all contributions promptly and provide constructive feedback to
|
|
|
414
377
|
➡️ [Read the docs](https://docs.pipecat.ai)
|
|
415
378
|
|
|
416
379
|
➡️ [Reach us on X](https://x.com/pipecat_ai)
|
|
417
|
-
|
|
418
|
-
|