diff --git a/examples/foundational/54-context-summarization-openai.py b/examples/foundational/54-context-summarization-openai.py
index 45f27854f..ff6701bec 100644
--- a/examples/foundational/54-context-summarization-openai.py
+++ b/examples/foundational/54-context-summarization-openai.py
@@ -41,7 +41,10 @@ from pipecat.services.openai.llm import OpenAILLMService
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams
from pipecat.transports.websocket.fastapi import FastAPIWebsocketParams
-from pipecat.utils.context.llm_context_summarization import LLMContextSummarizationConfig
+from pipecat.utils.context.llm_context_summarization import (
+ LLMAutoContextSummarizationConfig,
+ LLMContextSummaryConfig,
+)
load_dotenv(override=True)
@@ -120,14 +123,16 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
vad_analyzer=SileroVADAnalyzer(),
),
assistant_params=LLMAssistantAggregatorParams(
- enable_context_summarization=True,
+ enable_auto_context_summarization=True,
# Optional: customize context summarization behavior
# Using low limits to demonstrate the feature quickly
- context_summarization_config=LLMContextSummarizationConfig(
+ auto_context_summarization_config=LLMAutoContextSummarizationConfig(
max_context_tokens=1000, # Trigger summarization at 1000 tokens
- target_context_tokens=800, # Target context size for the summarization
max_unsummarized_messages=10, # Or when 10 new messages accumulate
- min_messages_after_summary=2, # Keep last 2 messages uncompressed
+ summary_config=LLMContextSummaryConfig(
+ target_context_tokens=800, # Target context size for the summarization
+ min_messages_after_summary=2, # Keep last 2 messages uncompressed
+ ),
),
),
)
diff --git a/examples/foundational/54a-context-summarization-google.py b/examples/foundational/54a-context-summarization-google.py
index 2ce29e959..7d2a91310 100644
--- a/examples/foundational/54a-context-summarization-google.py
+++ b/examples/foundational/54a-context-summarization-google.py
@@ -41,7 +41,10 @@ from pipecat.services.llm_service import FunctionCallParams
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams
from pipecat.transports.websocket.fastapi import FastAPIWebsocketParams
-from pipecat.utils.context.llm_context_summarization import LLMContextSummarizationConfig
+from pipecat.utils.context.llm_context_summarization import (
+ LLMAutoContextSummarizationConfig,
+ LLMContextSummaryConfig,
+)
load_dotenv(override=True)
@@ -120,14 +123,16 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
vad_analyzer=SileroVADAnalyzer(),
),
assistant_params=LLMAssistantAggregatorParams(
- enable_context_summarization=True,
+ enable_auto_context_summarization=True,
# Optional: customize context summarization behavior
# Using low limits to demonstrate the feature quickly
- context_summarization_config=LLMContextSummarizationConfig(
+ auto_context_summarization_config=LLMAutoContextSummarizationConfig(
max_context_tokens=1000, # Trigger summarization at 1000 tokens
- target_context_tokens=800, # Target context size for the summarization
max_unsummarized_messages=10, # Or when 10 new messages accumulate
- min_messages_after_summary=2, # Keep last 2 messages uncompressed
+ summary_config=LLMContextSummaryConfig(
+ target_context_tokens=800, # Target context size for the summarization
+ min_messages_after_summary=2, # Keep last 2 messages uncompressed
+ ),
),
),
)
diff --git a/examples/foundational/54c-context-summarization-dedicated-llm.py b/examples/foundational/54c-context-summarization-dedicated-llm.py
index 3b2195e80..1dce3890f 100644
--- a/examples/foundational/54c-context-summarization-dedicated-llm.py
+++ b/examples/foundational/54c-context-summarization-dedicated-llm.py
@@ -44,7 +44,10 @@ from pipecat.services.openai.llm import OpenAILLMService
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams
from pipecat.transports.websocket.fastapi import FastAPIWebsocketParams
-from pipecat.utils.context.llm_context_summarization import LLMContextSummarizationConfig
+from pipecat.utils.context.llm_context_summarization import (
+ LLMAutoContextSummarizationConfig,
+ LLMContextSummaryConfig,
+)
load_dotenv(override=True)
@@ -147,23 +150,25 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
vad_analyzer=SileroVADAnalyzer(),
),
assistant_params=LLMAssistantAggregatorParams(
- enable_context_summarization=True,
- context_summarization_config=LLMContextSummarizationConfig(
+ enable_auto_context_summarization=True,
+ auto_context_summarization_config=LLMAutoContextSummarizationConfig(
# Trigger thresholds (low values to demonstrate quickly)
max_context_tokens=1000,
max_unsummarized_messages=10,
- # Summary generation
- target_context_tokens=800,
- min_messages_after_summary=2,
- summarization_prompt=CUSTOM_SUMMARIZATION_PROMPT,
- # Custom summary format - wrap in XML tags so the system
- # prompt can identify summaries vs. live conversation
- summary_message_template="\n{summary}\n",
- # Use a dedicated cheap LLM for summarization instead of
- # the primary conversation model
- llm=summarization_llm,
- # Cancel summarization if it takes longer than 60 seconds
- summarization_timeout=60.0,
+ summary_config=LLMContextSummaryConfig(
+ # Summary generation
+ target_context_tokens=800,
+ min_messages_after_summary=2,
+ summarization_prompt=CUSTOM_SUMMARIZATION_PROMPT,
+ # Custom summary format - wrap in XML tags so the system
+ # prompt can identify summaries vs. live conversation
+ summary_message_template="\n{summary}\n",
+ # Use a dedicated cheap LLM for summarization instead of
+ # the primary conversation model
+ llm=summarization_llm,
+ # Cancel summarization if it takes longer than 60 seconds
+ summarization_timeout=60.0,
+ ),
),
),
)