dv-pipecat-ai 0.0.85.dev859__py3-none-any.whl → 0.0.85.dev861__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.
- {dv_pipecat_ai-0.0.85.dev859.dist-info → dv_pipecat_ai-0.0.85.dev861.dist-info}/METADATA +1 -1
- {dv_pipecat_ai-0.0.85.dev859.dist-info → dv_pipecat_ai-0.0.85.dev861.dist-info}/RECORD +9 -9
- pipecat/frames/frames.py +12 -0
- pipecat/processors/aggregators/llm_response.py +4 -0
- pipecat/services/cartesia/tts.py +3 -3
- pipecat/services/openai/base_llm.py +3 -7
- {dv_pipecat_ai-0.0.85.dev859.dist-info → dv_pipecat_ai-0.0.85.dev861.dist-info}/WHEEL +0 -0
- {dv_pipecat_ai-0.0.85.dev859.dist-info → dv_pipecat_ai-0.0.85.dev861.dist-info}/licenses/LICENSE +0 -0
- {dv_pipecat_ai-0.0.85.dev859.dist-info → dv_pipecat_ai-0.0.85.dev861.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
dv_pipecat_ai-0.0.85.
|
|
1
|
+
dv_pipecat_ai-0.0.85.dev861.dist-info/licenses/LICENSE,sha256=DWY2QGf2eMCFhuu2ChairtT6CB7BEFffNVhXWc4Od08,1301
|
|
2
2
|
pipecat/__init__.py,sha256=j0Xm6adxHhd7D06dIyyPV_GlBYLlBnTAERVvD_jAARQ,861
|
|
3
3
|
pipecat/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
pipecat/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -79,7 +79,7 @@ pipecat/extensions/voicemail/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
|
79
79
|
pipecat/extensions/voicemail/voicemail_detector.py,sha256=JxmU2752iWP_1_GmzZReNESUTFAeyEa4XBPL20_C208,30004
|
|
80
80
|
pipecat/frames/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
81
81
|
pipecat/frames/frames.proto,sha256=JXZm3VXLR8zMOUcOuhVoe2mhM3MQIQGMJXLopdJO_5Y,839
|
|
82
|
-
pipecat/frames/frames.py,sha256=
|
|
82
|
+
pipecat/frames/frames.py,sha256=kHHqbvIuEY5uwTfEqps4PoEsTO0P-JQCWCM3VOTy6FI,50740
|
|
83
83
|
pipecat/frames/protobufs/frames_pb2.py,sha256=VHgGV_W7qQ4sfQK6RHb5_DggLm3PiSYMr6aBZ8_p1cQ,2590
|
|
84
84
|
pipecat/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
85
|
pipecat/metrics/connection_metrics.py,sha256=8rBsEeufL3meWyJHcUbe35TS963W9B0wSnz0dQkv12A,1734
|
|
@@ -123,7 +123,7 @@ pipecat/processors/aggregators/gated.py,sha256=tii0sRrBkRW6y9Xq5iTWPnqlOEejU4VqP
|
|
|
123
123
|
pipecat/processors/aggregators/gated_llm_context.py,sha256=CPv6sMA8irD1zZ3fU1gSv6D7qcPvCA0MdpFhBtJ_ekI,3007
|
|
124
124
|
pipecat/processors/aggregators/gated_open_ai_llm_context.py,sha256=DgqmdPj1u3fP_SVmxtfP7NjHqnyhN_RVVTDfmjbkxAs,361
|
|
125
125
|
pipecat/processors/aggregators/llm_context.py,sha256=wNbZA0Vt0FzNc5cu06xiv1z7DIClIlfqR1ZD8EusbVw,11085
|
|
126
|
-
pipecat/processors/aggregators/llm_response.py,sha256
|
|
126
|
+
pipecat/processors/aggregators/llm_response.py,sha256=Ddl6inB4MRNwO6HScMv5KGcdR8mjkOQpi48RhKWXS5I,48809
|
|
127
127
|
pipecat/processors/aggregators/llm_response_universal.py,sha256=5PqmpATpekD8BVWyBExZgatKHsNbZem8M-A7_VwTbiQ,34334
|
|
128
128
|
pipecat/processors/aggregators/openai_llm_context.py,sha256=cC8DXdVPERRN04i0i-1Ys6kusvnbMALeH-Z8Pu5K684,12999
|
|
129
129
|
pipecat/processors/aggregators/sentence.py,sha256=E7e3knfQl6HEGpYMKPklF1aO_gOn-rr7SnynErwfkQk,2235
|
|
@@ -207,7 +207,7 @@ pipecat/services/azure/realtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
|
|
|
207
207
|
pipecat/services/azure/realtime/llm.py,sha256=MnDiw-YJP3kll1gbkta4z4vsWfWZ5oBprZCinMP9O0M,2385
|
|
208
208
|
pipecat/services/cartesia/__init__.py,sha256=vzh0jBnfPwWdxFfV-tu0x1HFoOTgr9s91GYmD-CJUtY,284
|
|
209
209
|
pipecat/services/cartesia/stt.py,sha256=00k9gQYo_xPKb-RRJ-RNV4LPFw-7xXiFU7ACFLYttWY,12388
|
|
210
|
-
pipecat/services/cartesia/tts.py,sha256=
|
|
210
|
+
pipecat/services/cartesia/tts.py,sha256=2lqbu1bMFQzoPgdIJ-7E8DWNQENSW_eB-Ljcrhuw1NQ,27029
|
|
211
211
|
pipecat/services/cerebras/__init__.py,sha256=5zBmqq9Zfcl-HC7ylekVS5qrRedbl1mAeEwUT-T-c_o,259
|
|
212
212
|
pipecat/services/cerebras/llm.py,sha256=-yzSe_6YDGigwzES-LZS4vNXMPugmvsIYEpTySyr5nA,3047
|
|
213
213
|
pipecat/services/deepgram/__init__.py,sha256=IjRtMI7WytRDdmYVpk2qDWClXUiNgdl7ZkvEAWg1eYE,304
|
|
@@ -281,7 +281,7 @@ pipecat/services/nim/llm.py,sha256=o4WPGI6kOmSiMV7WwOZ0cNEAoq9hW4Aqs2R8X7c9i94,4
|
|
|
281
281
|
pipecat/services/ollama/__init__.py,sha256=aw-25zYsR8LR74OFFlMKMTnJjaKwOzdPWVsClueNRkI,255
|
|
282
282
|
pipecat/services/ollama/llm.py,sha256=rfpG92LRHGJlpENKhF6ld8CLVS9DxlKW-WRVNldOIGs,1605
|
|
283
283
|
pipecat/services/openai/__init__.py,sha256=V0ZVa8PzEm3hmcStYICbAsYwfgk4ytZ6kiQoq9UZPmI,354
|
|
284
|
-
pipecat/services/openai/base_llm.py,sha256=
|
|
284
|
+
pipecat/services/openai/base_llm.py,sha256=q98gvk50dEfv-n8GIrRVJKOdYIGPmeAZfssZth-wYBI,21893
|
|
285
285
|
pipecat/services/openai/image.py,sha256=3e3h-dVQ6DQuQE7fp8akXwRMd-oYOdGuZg7RCOjHu9A,2994
|
|
286
286
|
pipecat/services/openai/llm.py,sha256=_aKtz1VebSFUUenT3tH6mBW9pSCm65_u45cDu_dkTzs,7396
|
|
287
287
|
pipecat/services/openai/stt.py,sha256=Idf0k73kxFyDgNRBt62MFpoKKNsBV9bwvJteJ6MGWzQ,2419
|
|
@@ -417,7 +417,7 @@ pipecat/utils/tracing/service_decorators.py,sha256=fwzxFpi8DJl6BJbK74G0UEB4ccMJg
|
|
|
417
417
|
pipecat/utils/tracing/setup.py,sha256=7TEgPNpq6M8lww8OQvf0P9FzYc5A30xICGklVA-fua0,2892
|
|
418
418
|
pipecat/utils/tracing/turn_context_provider.py,sha256=ikon3plFOx0XbMrH6DdeHttNpb-U0gzMZIm3bWLc9eI,2485
|
|
419
419
|
pipecat/utils/tracing/turn_trace_observer.py,sha256=dma16SBJpYSOE58YDWy89QzHyQFc_9gQZszKeWixuwc,9725
|
|
420
|
-
dv_pipecat_ai-0.0.85.
|
|
421
|
-
dv_pipecat_ai-0.0.85.
|
|
422
|
-
dv_pipecat_ai-0.0.85.
|
|
423
|
-
dv_pipecat_ai-0.0.85.
|
|
420
|
+
dv_pipecat_ai-0.0.85.dev861.dist-info/METADATA,sha256=rALqzYJiu7HAFx8_HwbDR6s2g0XZtj3m7jy9PLAu5vo,32955
|
|
421
|
+
dv_pipecat_ai-0.0.85.dev861.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
422
|
+
dv_pipecat_ai-0.0.85.dev861.dist-info/top_level.txt,sha256=kQzG20CxGf-nSsHmtXHx3hY2-8zHA3jYg8jk0TajqXc,8
|
|
423
|
+
dv_pipecat_ai-0.0.85.dev861.dist-info/RECORD,,
|
pipecat/frames/frames.py
CHANGED
|
@@ -586,6 +586,18 @@ class LLMRunFrame(DataFrame):
|
|
|
586
586
|
pass
|
|
587
587
|
|
|
588
588
|
|
|
589
|
+
@dataclass
|
|
590
|
+
class LLMProcessingInitiatedFrame(SystemFrame):
|
|
591
|
+
"""Frame indicating that LLM processing has been initiated.
|
|
592
|
+
|
|
593
|
+
Emitted by context aggregators when they push a context frame to the LLM,
|
|
594
|
+
signaling that LLM processing is about to begin. This frame flows downstream
|
|
595
|
+
through the pipeline, allowing processors to react to the LLM being triggered.
|
|
596
|
+
"""
|
|
597
|
+
|
|
598
|
+
pass
|
|
599
|
+
|
|
600
|
+
|
|
589
601
|
@dataclass
|
|
590
602
|
class WarmupLLMFrame(DataFrame):
|
|
591
603
|
"""Frame to trigger prompt caching/warmup in supported LLM providers.
|
|
@@ -42,6 +42,7 @@ from pipecat.frames.frames import (
|
|
|
42
42
|
LLMMessagesAppendFrame,
|
|
43
43
|
LLMMessagesFrame,
|
|
44
44
|
LLMMessagesUpdateFrame,
|
|
45
|
+
LLMProcessingInitiatedFrame,
|
|
45
46
|
LLMRunFrame,
|
|
46
47
|
LLMSetToolChoiceFrame,
|
|
47
48
|
LLMSetToolsFrame,
|
|
@@ -346,6 +347,7 @@ class LLMContextResponseAggregator(BaseLLMResponseAggregator):
|
|
|
346
347
|
Args:
|
|
347
348
|
direction: The direction to push the frame (upstream or downstream).
|
|
348
349
|
"""
|
|
350
|
+
await self.push_frame(LLMProcessingInitiatedFrame(), direction)
|
|
349
351
|
frame = self._get_context_frame()
|
|
350
352
|
await self.push_frame(frame, direction)
|
|
351
353
|
|
|
@@ -529,6 +531,8 @@ class LLMUserContextAggregator(LLMContextResponseAggregator):
|
|
|
529
531
|
"""Process the current aggregation and push it downstream."""
|
|
530
532
|
aggregation = self._aggregation
|
|
531
533
|
await self.reset()
|
|
534
|
+
# Notify the BotSpeakingFrameMonitor to update the vad params
|
|
535
|
+
await self.push_frame(LLMProcessingInitiatedFrame())
|
|
532
536
|
await self.handle_aggregation(aggregation)
|
|
533
537
|
frame = OpenAILLMContextFrame(self._context)
|
|
534
538
|
self.logger.debug("Pushing aggregation frame:")
|
pipecat/services/cartesia/tts.py
CHANGED
|
@@ -419,7 +419,7 @@ class CartesiaTTSService(AudioContextWordTTSService):
|
|
|
419
419
|
logger.debug("Disconnecting from Cartesia")
|
|
420
420
|
await self._websocket.close()
|
|
421
421
|
except Exception as e:
|
|
422
|
-
logger.error(f"{self} error closing websocket: {e}")
|
|
422
|
+
self.logger.error(f"{self} error closing websocket: {e}")
|
|
423
423
|
finally:
|
|
424
424
|
self._context_id = None
|
|
425
425
|
self._websocket = None
|
|
@@ -472,13 +472,13 @@ class CartesiaTTSService(AudioContextWordTTSService):
|
|
|
472
472
|
)
|
|
473
473
|
await self.append_to_audio_context(msg["context_id"], frame)
|
|
474
474
|
elif msg["type"] == "error":
|
|
475
|
-
logger.error(
|
|
475
|
+
self.logger.error("{} error: {}", self, msg)
|
|
476
476
|
await self.push_frame(TTSStoppedFrame())
|
|
477
477
|
await self.stop_all_metrics()
|
|
478
478
|
await self.push_error(ErrorFrame(f"{self} error: {msg['error']}"))
|
|
479
479
|
self._context_id = None
|
|
480
480
|
else:
|
|
481
|
-
logger.error(
|
|
481
|
+
self.logger.error("{} error, unknown message type: {}", self, msg)
|
|
482
482
|
|
|
483
483
|
async def _receive_messages(self):
|
|
484
484
|
while True:
|
|
@@ -206,12 +206,13 @@ class BaseOpenAILLMService(LLMService):
|
|
|
206
206
|
params = self.build_chat_completion_params(params_from_context)
|
|
207
207
|
|
|
208
208
|
await self.start_connection_metrics()
|
|
209
|
-
|
|
209
|
+
|
|
210
210
|
try:
|
|
211
211
|
if self._retry_on_timeout:
|
|
212
212
|
try:
|
|
213
213
|
chunks = await asyncio.wait_for(
|
|
214
|
-
self._client.chat.completions.create(**params),
|
|
214
|
+
self._client.chat.completions.create(**params),
|
|
215
|
+
timeout=self._retry_timeout_secs,
|
|
215
216
|
)
|
|
216
217
|
await self.stop_connection_metrics(success=True, connection_type="http")
|
|
217
218
|
return chunks
|
|
@@ -444,13 +445,8 @@ class BaseOpenAILLMService(LLMService):
|
|
|
444
445
|
"""Process frames for LLM completion requests.
|
|
445
446
|
|
|
446
447
|
Handles OpenAILLMContextFrame, LLMContextFrame, LLMMessagesFrame,
|
|
447
|
-
<<<<<<< HEAD
|
|
448
448
|
and LLMUpdateSettingsFrame to trigger LLM completions and manage
|
|
449
449
|
settings.
|
|
450
|
-
=======
|
|
451
|
-
VisionImageRawFrame, and LLMUpdateSettingsFrame to trigger LLM
|
|
452
|
-
completions and manage settings.
|
|
453
|
-
>>>>>>> dv-stage
|
|
454
450
|
|
|
455
451
|
Args:
|
|
456
452
|
frame: The frame to process.
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev859.dist-info → dv_pipecat_ai-0.0.85.dev861.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev859.dist-info → dv_pipecat_ai-0.0.85.dev861.dist-info}/top_level.txt
RENAMED
|
File without changes
|