Aleix Conchillo Flaqué
a5c5e069ba
move pipecat.frames.frames.KeypadEntry to pipecat.audio.dtmf.types.KeypadEntry
2025-08-28 17:43:29 -07:00
Aleix Conchillo Flaqué
8ab81d289a
PipelineTask: warn if CancelFrame doesn't reach the end
2025-08-26 10:36:33 -07:00
Aleix Conchillo Flaqué
8044c4170d
PipelineRunner/PipelineTask: fix asyncio task cancellation
2025-08-21 23:50:00 -07:00
Aleix Conchillo Flaqué
24a628c85e
remove watchdog timers and specific asyncio implementations
...
Watchdog timers have been removed. They were introduced in 0.0.72 to help
diagnose pipeline freezes. Unfortunately, they proved ineffective since they
required developers to use Pipecat-specific queues, iterators, and events to
correctly reset the timer, which limited their usefulness and added friction.
2025-08-21 18:09:56 -07:00
Aleix Conchillo Flaqué
28c729cc36
replace asyncio.wait_for for wait_for2.wait_for
2025-08-20 15:26:57 -07:00
Aleix Conchillo Flaqué
f387776985
add custom asyncio.wait_for()
...
This patch uses `wait_for2` package to implement `asyncio.wait_for()` for
Python < 3.12.
In Python 3.12, `asyncio.wait_for()` is implemented in terms of
`asyncio.timeout()` which fixed a bunch of issues. However, this was never
backported (because of the lack of `async.timeout()`) and there are still many
remainig issues, specially in Python 3.10, in `async.wait_for()`.
See https://github.com/python/cpython/pull/98518
2025-08-20 14:09:05 -07:00
Aleix Conchillo Flaqué
4e3af00b6d
tests: try to use default SleepFrame time
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
4015aedb86
tests: fix unit tests
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
0508ddddfb
WatchdogPriorityQueue: fix watchdog sentinel insertion
...
We now force each inserted item in the priority queue to be a tuple and the
actual value to be last in the tuple. All the previous values in the tuple also
need to be numeric.
2025-08-12 17:40:58 -07:00
Aleix Conchillo Flaqué
3f3d757581
tests: added WatchdogQueue and WatchdogPriorityQueue unit tests
2025-08-12 11:48:22 -07:00
Captain Caius
3fae00e067
Add VADUserStartSpeakingFrame VADUserStopSpeakingFrame to STTMuteFilter
2025-08-10 19:35:04 -07:00
Paul Kompfner
07eb00722b
Fix langchain unit test
2025-08-07 14:45:35 -04:00
Mark Backman
26c937af87
Update match_endofsentence to use NLTK sentence tokenizer
2025-07-22 20:19:29 -04:00
Mark Backman
06c1255abe
fix: use a different aggregation timeout for emulated user speech ( #2185 )
...
* fix: use a different aggregation timeout for emulated user speech
* Add SpeechControlParamsFrame
* Update test_context_aggregator tests
2025-07-11 16:33:44 -04:00
Aleix Conchillo Flaqué
af8b4901d4
DtmfAggregator: cancel interruption task to avoid a dangling task
2025-07-03 08:18:48 -07:00
Paul Kompfner
ce3ca418c2
Unit tests for "direct" functions
2025-06-30 10:36:47 -04:00
Paul Kompfner
15b9a5faf6
Implement "direct functions", which allow you to bypass specifying a function configuration (as a FunctionSchema or in a provider-specific format) and use the Python function directly. Metadata is gathered automatically from the function signature and docstring.
2025-06-30 10:36:42 -04:00
Aleix Conchillo Flaqué
5a3457ba33
introduce task watchdog timers
2025-06-24 11:56:20 -07:00
Mark Backman
16c0e2460b
TurnTrackingObserver ends turn upon seeing EndFrame, CancelFrame
2025-06-23 11:08:51 -04:00
Aleix Conchillo Flaqué
028f7b2d65
PipelineTask: fix repeated on_idle_timeout
2025-06-19 09:14:10 -07:00
kompfner
16048956c3
Merge pull request #1956 from pipecat-ai/pk/make-add-observer-sync
...
Make `PipelineTask.add_observer()` synchronous. This allows callers t…
2025-06-09 13:19:34 -04:00
Paul Kompfner
513ce26200
Add unit test exercising synchronous usage of PipelineTask.add_observer() right after initializing the PipelineTask (before anything else is done with it)
2025-06-09 11:30:24 -04:00
Paul Kompfner
1cd96f94ff
Make PipelineTask.add_observer() synchronous. This allows callers to call it before run()ning the PipelineTask first. Without this change, if they tried to do that, they would get an error because the TaskManager's event loop hadn't been set yet.
2025-06-09 11:30:24 -04:00
Aleix Conchillo Flaqué
901dd041f0
buffer audio from TTS service before pushing frames
2025-06-09 07:29:09 -07:00
Aleix Conchillo Flaqué
5512de3221
allow custom interruption strategies
2025-06-02 12:01:26 -07:00
Mark Backman
4d2a02f318
Refactor to create task on StartFrame, also cleanup
2025-05-29 17:10:54 -04:00
Mark Backman
0bec7db03b
Emit a BotInterruptionFrame when the first keypress of a sequence is received
2025-05-29 17:07:18 -04:00
Mark Backman
74827f983f
Add tests, improve frame timing
2025-05-29 17:07:18 -04:00
marc.torsoc
ca35299dcd
add link cleaning and a test for it
2025-05-21 12:08:53 +02:00
Aleix Conchillo Flaqué
d333094149
PipelineTask: add add_observer() and remove_observer()
2025-05-20 13:16:06 -07:00
Aleix Conchillo Flaqué
cbccbcd9e7
BaseTextFilter: make functions async
2025-05-20 13:11:44 -07:00
Aleix Conchillo Flaqué
54b1d7fcc1
BaseTextAggregator: make functions async
2025-05-20 13:11:42 -07:00
Aleix Conchillo Flaqué
25dd651757
TranscriptionMessage: add user_id field
2025-05-19 15:47:54 -07:00
Aleix Conchillo Flaqué
d5ebc883b3
PipelineTask: add new started/stopped/ended/cancelled events
2025-05-17 22:46:22 -07:00
Mark Backman
50f6235edb
Add support for OpenTelemetry tracing ( #1729 )
...
* Also added TurnTrackingObserver, TurnTraceObserver, foundational 29, open-telemetry-example
2025-05-13 17:18:11 -04:00
Aleix Conchillo Flaqué
f31efa42c9
GoogleLLMService: deprecate google-generativeai
2025-05-09 09:14:43 -07:00
Aleix Conchillo Flaqué
458549f7df
AWSBedrockLLMService: fix function calling
2025-05-07 09:26:26 -07:00
Aleix Conchillo Flaqué
a8405649d0
aws: use AWS prefix for all services
2025-05-07 09:26:26 -07:00
Aleix Conchillo Flaqué
ce1a72850b
tests: add bedrock context aggregator tests
2025-05-07 09:26:26 -07:00
Mark Backman
20a59e8c56
Add InterimTranscriptionFrame and TranscriptionFrame to STTMuteFilter frame processing
2025-04-30 10:50:56 -04:00
Aleix Conchillo Flaqué
e97de43de2
add LLMUserAggregatorParams and LLMAssistantAggregatorParams
2025-04-16 15:19:19 -07:00
Mark Backman
5f3bbf9828
Rely on default OpenAI model for examples and tests
2025-04-16 08:33:34 -04:00
Mark Backman
6d10732889
Update OpenAILLMService examples to use gpt-4.1
2025-04-15 14:59:55 -04:00
Aleix Conchillo Flaqué
79f29e14dd
processors: add ProducerProcessor and ConsumerProcessor
2025-04-03 09:44:56 -07:00
Aleix Conchillo Flaqué
31311d8ac5
tests: fix test_user_idle_processor for python 3.10
2025-04-01 13:54:59 -07:00
Aleix Conchillo Flaqué
3a37b11e56
TranscriptProcessor: send TranscriptionUpdateFrame after interruption
2025-04-01 10:21:21 -07:00
Aleix Conchillo Flaqué
648bdea64c
fix formatting
2025-03-31 15:04:45 -07:00
milo157
ed387e876a
Merge pull request #1486 from CerebriumAI/feature/ultravox
...
Feature/ultravox - bug fixes
2025-03-31 15:03:26 -07:00
Aleix Conchillo Flaqué
9eba8f1637
services: restructure base AI services into modules
2025-03-31 13:53:36 -07:00
Aleix Conchillo Flaqué
7203ef6885
examples: use new services packages
2025-03-30 16:21:00 -07:00