Filipi da Silva Fuchter
36edef489e
Merge pull request #3863 from pipecat-ai/filipi/manual_summarization
...
Manual context summarization
2026-02-27 16:46:37 -05:00
filipi87
d077a810ae
Fixing context summarization tests
2026-02-27 18:42:50 -03:00
filipi87
0839e3813f
Refactoring the examples to use the new context summarization classes.
2026-02-27 18:42:39 -03:00
filipi87
69414e8a5a
Added example 54b-context-summarization-manual-openai.py demonstrating on-demand summarization triggered via a function call tool.
2026-02-27 18:42:23 -03:00
filipi87
dfd0a515f3
Changelog entries for the context summarization improvements.
2026-02-27 18:42:13 -03:00
filipi87
ed7f0a2c08
Adding support for on-demand summarization
2026-02-27 18:41:55 -03:00
filipi87
08d93ce9b6
Renamed LLMAssistantAggregatorParams fields for clarity.
2026-02-27 18:41:17 -03:00
filipi87
f11d4b6944
Refactored LLMContextSummarizationConfig into two focused classes, LLMContextSummaryConfig and LLMAutoContextSummarizationConfig.
2026-02-27 18:40:41 -03:00
filipi87
51a3310e78
Added LLMSummarizeContextFrame: push this frame anywhere in the pipeline to trigger on-demand context summarization (e.g. from a function call tool).
2026-02-27 18:39:57 -03:00
Mark Backman
4eb993c980
Merge pull request #3868 from wollerman/wollerman/numba-version-pin-update
...
fix: Update numba version pin from == to >=0.61.2
2026-02-27 16:04:20 -05:00
Mark Backman
83e29eb478
Merge pull request #3855 from pipecat-ai/mb/context-summarization-improvements
...
Improve context summarization with dedicated LLM, timeout, and observability
2026-02-27 15:24:38 -05:00
Matt
acff172bf2
create changelog entry
2026-02-27 14:52:37 -05:00
Mark Backman
9747e8da4a
Merge pull request #3866 from pipecat-ai/mb/fix-docs-workflow-version
...
Fix docs workflow to add auto-docs label
2026-02-27 13:09:36 -05:00
Mark Backman
8fc63352d9
Merge pull request #3865 from pipecat-ai/mb/elevenlabs-realtime-stt-finalized
...
Set finalized flag on ElevenLabs Realtime STT for manual commit strategy
2026-02-27 13:09:17 -05:00
Matt
6ebfea4746
update numba version pin to >=
2026-02-27 12:44:31 -05:00
Mark Backman
f74af9b9c7
Always apply a timeout to summarization LLM calls
...
Even when summarization_timeout is explicitly set to None, use a
DEFAULT_SUMMARIZATION_TIMEOUT (120s) fallback so the LLM call can
never hang indefinitely. Applied in both LLMService and the dedicated
LLM path in LLMContextSummarizer.
2026-02-27 12:09:00 -05:00
Mark Backman
82c249608f
Move dedicated LLM summarization into LLMContextSummarizer
...
The dedicated LLM logic lived in LLMAssistantAggregator, creating two
code paths and requiring the aggregator to call a private LLMService
method. Move it into the summarizer which already owns the config and
summarization lifecycle, keeping the aggregator handler as a single-line
upstream push.
2026-02-27 12:09:00 -05:00
Mark Backman
98e737b4e9
Add tests for context summarization improvements
...
Cover summary message role, template, on_summary_applied event,
summarization timeout, and dedicated LLM routing/error handling.
2026-02-27 12:08:43 -05:00
Mark Backman
ec9ddb3199
Add changelog entries for context summarization improvements ( #3855 )
2026-02-27 12:07:34 -05:00
Mark Backman
712305c5b1
Add example 54c showing custom context summarization
2026-02-27 12:07:34 -05:00
Mark Backman
be8ea818c8
Add on_summary_applied event for observability
...
Emits a SummaryAppliedEvent after context summarization completes,
providing message counts so applications can track compression
metrics.
2026-02-27 12:07:34 -05:00
Mark Backman
50710e9c3f
Add summarization timeout to prevent hung LLM calls
...
Adds a configurable summarization_timeout (default 120s) that cancels
summary generation if the LLM hangs. On timeout, an error result is
returned so _summarization_in_progress resets and future
summarizations are unblocked.
2026-02-27 12:07:34 -05:00
Mark Backman
a489bfaf00
Add optional dedicated LLM for context summarization
...
Adds an field to LLMContextSummarizationConfig that allows
routing summarization to a separate LLM service (e.g., Gemini Flash)
instead of the pipeline's primary model. This avoids paying for
expensive inference when compressing context in long-running sessions.
2026-02-27 12:07:34 -05:00
Mark Backman
945a523eed
Add configurable summary_message_template to LLMContextSummarizationConfig
...
Allows applications to customize how the summary is wrapped when
injected into context (e.g., XML tags, custom delimiters) so system
prompts can distinguish summaries from live conversation.
2026-02-27 12:07:34 -05:00
Mark Backman
790c434a08
Update summary message role: use user instead of assistant
...
The context summary is information provided to the assistant, not
something the assistant said.
2026-02-27 12:07:34 -05:00
Filipi da Silva Fuchter
db40a354be
Merge pull request #3794 from omChauhanDev/fix/context-summarization-llm-specific-message
...
skipping provider-specific messages during summarization
2026-02-27 10:57:34 -05:00
filipi87
aa6d3b38b3
Add explanatory comments for LLMSpecificMessage guards in context summarization, amd fixed the missing guard in LLMContextSummarizer._apply_summary when searching for the first system message.
2026-02-27 12:53:25 -03:00
Mark Backman
41d6470e4a
Fix docs workflow: add auto-docs label, remove version info
2026-02-27 10:39:37 -05:00
Mark Backman
601822e3e5
Add changelog for PR #3865
2026-02-27 10:25:48 -05:00
Mark Backman
3a32d91c66
Set finalized flag on ElevenLabs Realtime STT transcriptions for manual commit strategy
2026-02-27 10:21:10 -05:00
Filipi da Silva Fuchter
35b3803ebc
Merge pull request #3845 from pipecat-ai/filipi/fix_tts_speak_frame
...
Add TTSSpeakFrame.push_assistant_aggregation to force context flush after TTS.
2026-02-27 09:59:33 -05:00
filipi87
3b427a47b6
Fixing Piper test.
2026-02-27 11:57:11 -03:00
filipi87
d701c3427c
Changelog entry for the TTSSpeakFrame fix.
2026-02-27 11:57:03 -03:00
filipi87
1f45e80f9d
Updated the 52-live-translation.py example to demonstrate the fix
2026-02-27 11:56:52 -03:00
filipi87
bc6f8e51de
Fixed TTSSpeakFrame not automatically committing spoken text to the conversation context when used outside of an LLM response (e.g., for bot greeting messages or injected speech)
2026-02-27 11:56:44 -03:00
filipi87
deba2515f9
Added a new LLMAssistantPushAggregationFrame control frame that signals LLMAssistantAggregator to immediately flush its text buffer to the conversation context
2026-02-27 11:56:36 -03:00
Mark Backman
127b52bad5
Merge pull request #3852 from pipecat-ai/mb/deprecate-processing-metrics
...
Deprecate processing metrics (ProcessingMetricsData)
2026-02-27 09:50:29 -05:00
Mark Backman
0697f72dae
Merge pull request #3864 from pipecat-ai/mb/auto-docs-update
...
Add automated docs update workflow
2026-02-27 09:36:27 -05:00
Mark Backman
c259a6a73b
Deprecate processing metrics (ProcessingMetricsData)
...
Add deprecation warnings to start_processing_metrics() and
stop_processing_metrics() on FrameProcessorMetrics and FrameProcessor.
Mark ProcessingMetricsData as deprecated in docstring. All existing
behavior is preserved — the warnings inform users that these will be
removed in a future version.
2026-02-27 09:22:29 -05:00
Mark Backman
3e04f5d05f
Add GitHub Actions workflow to auto-update docs on PR merge
...
Runs Claude Code Action after PRs merge to main when source files
in services/transports/serializers/processors/audio/turns/observers/pipeline
are changed. Creates a docs PR on pipecat-ai/docs with targeted edits
following the existing update-docs skill instructions.
2026-02-27 09:18:15 -05:00
Mark Backman
2a6a993869
Merge pull request #3850 from rupesh-svg/fix/genesys-remove-audio-chunk-logging
...
Remove verbose audio chunk logging from GenesysAudioHookSerializer
2026-02-26 21:52:54 -05:00
Rupesh
bbaa79fef0
Add changelog for PR #3850
2026-02-26 14:00:34 -08:00
Rupesh
fff9db0d8f
Remove verbose audio chunk logging from GenesysAudioHookSerializer
...
Fixes #3777
2026-02-26 13:51:05 -08:00
kompfner
7fe458fe59
Merge pull request #3817 from pipecat-ai/pk/service-settings-fix-back-compat-for-nested-external-sdk-types
...
Flatten `LiveOptions` into individual fields on `DeepgramSTTSettings`…
2026-02-26 11:08:27 -05:00
Paul Kompfner
faed775d90
Extract _DeepgramSTTSettingsBase with shared _merge_live_options_delta to deduplicate LiveOptions merge logic between __init__ and apply_update, and between the Deepgram STT and SageMaker variants; make top-level model/language take precedence over conflicting live_options values in updates; remove unnecessary Language enum-to-string conversion (Language is a StrEnum)
2026-02-26 11:02:44 -05:00
Mark Backman
b63ca524f5
Merge pull request #3806 from pipecat-ai/mb/ultravox-updates
...
Align Ultravox Realtime service with OpenAI/Gemini patterns
2026-02-26 10:49:21 -05:00
Mark Backman
907ff58d41
Align Ultravox Realtime service with OpenAI/Gemini patterns
...
- Add InterruptionFrame handling with stop_all_metrics()
- Add processing metrics (start/stop) at response boundaries
- Fix agent transcript handling for voice and text modalities:
- Voice mode: push LLMTextFrame (append_to_context=False) and
TTSTextFrame for deltas, skip duplicated final text
- Text mode: push LLMTextFrame with proper response lifecycle,
no TTSTextFrame (downstream TTS handles audio)
- Add output_medium parameter to AgentInputParams and OneShotInputParams
- Improve TTFB measurement using VAD speech end time
- Update example with user turn strategies and transcript events
- Add text-only output example (50a-ultravox-realtime-text.py)
2026-02-26 10:44:36 -05:00
Mark Backman
97b93ebe57
Merge pull request #3696 from pipecat-ai/mb/streaming-tts-input
...
Improve streaming TTS input support, add TextAggregationMetricsData
2026-02-26 10:26:53 -05:00
Mark Backman
3ae173520e
Code review feedback
2026-02-26 10:23:35 -05:00
Paul Kompfner
c184ac09b8
Inline _build_live_options into _connect in DeepgramSTTService and DeepgramSageMakerSTTService since it's trivial and only called from one place
2026-02-26 09:42:15 -05:00