From df68665ec11a8d1ba11f038cfe6487af168c8be2 Mon Sep 17 00:00:00 2001 From: Paul Kompfner Date: Wed, 1 Apr 2026 14:03:08 -0400 Subject: [PATCH] Add changelog entries for OpenAILLMContext removal --- changelog/4215.changed.md | 1 + changelog/4215.removed.2.md | 22 ++++++++++++++++++++++ changelog/4215.removed.3.md | 1 + changelog/4215.removed.4.md | 1 + changelog/4215.removed.5.md | 1 + changelog/4215.removed.6.md | 1 + changelog/4215.removed.md | 18 ++++++++++++++++++ 7 files changed, 45 insertions(+) create mode 100644 changelog/4215.changed.md create mode 100644 changelog/4215.removed.2.md create mode 100644 changelog/4215.removed.3.md create mode 100644 changelog/4215.removed.4.md create mode 100644 changelog/4215.removed.5.md create mode 100644 changelog/4215.removed.6.md create mode 100644 changelog/4215.removed.md diff --git a/changelog/4215.changed.md b/changelog/4215.changed.md new file mode 100644 index 000000000..b84a343dd --- /dev/null +++ b/changelog/4215.changed.md @@ -0,0 +1 @@ +- ⚠️ `BaseOpenAILLMService.get_chat_completions()` now accepts an `LLMContext` instead of `OpenAILLMInvocationParams`. If you override this method, update your signature accordingly. diff --git a/changelog/4215.removed.2.md b/changelog/4215.removed.2.md new file mode 100644 index 000000000..4d5f6c630 --- /dev/null +++ b/changelog/4215.removed.2.md @@ -0,0 +1,22 @@ +- ⚠️ Removed deprecated service-specific context and aggregator machinery, which was superseded by the universal `LLMContext` system. + + Service-specific classes removed: `AnthropicLLMContext`, `AnthropicContextAggregatorPair`, `AWSBedrockLLMContext`, `AWSBedrockContextAggregatorPair`, `OpenAIContextAggregatorPair`, and their user/assistant aggregators. Also removed `create_context_aggregator()` from `LLMService`, `OpenAILLMService`, `AnthropicLLMService`, and `AWSBedrockLLMService`. + + Base aggregator classes removed (from `pipecat.processors.aggregators.llm_response`): `BaseLLMResponseAggregator`, `LLMContextResponseAggregator`, `LLMUserContextAggregator`, `LLMAssistantContextAggregator`, `LLMUserResponseAggregator`, `LLMAssistantResponseAggregator`. + + From the developer's point of view, migrating will usually be a matter of going from this: + + ```python + context = OpenAILLMContext(messages, tools) + context_aggregator = llm.create_context_aggregator(context) + ``` + + To this: + + ```python + from pipecat.processors.aggregators.llm_context import LLMContext + from pipecat.processors.aggregators.llm_response_universal import LLMContextAggregatorPair + + context = LLMContext(messages, tools) + context_aggregator = LLMContextAggregatorPair(context) + ``` diff --git a/changelog/4215.removed.3.md b/changelog/4215.removed.3.md new file mode 100644 index 000000000..4ef02fa89 --- /dev/null +++ b/changelog/4215.removed.3.md @@ -0,0 +1 @@ +- ⚠️ Removed deprecated frame types `LLMMessagesFrame` and `OpenAILLMContextAssistantTimestampFrame` from `pipecat.frames.frames`. Instead of `LLMMessagesFrame`, use `LLMContextFrame` with the new messages, or `LLMMessagesUpdateFrame` with `run_llm=True`. diff --git a/changelog/4215.removed.4.md b/changelog/4215.removed.4.md new file mode 100644 index 000000000..20bde1ce9 --- /dev/null +++ b/changelog/4215.removed.4.md @@ -0,0 +1 @@ +- ⚠️ Removed `GatedOpenAILLMContextAggregator` (from `pipecat.processors.aggregators.gated_open_ai_llm_context`). Use `GatedLLMContextAggregator` (from `pipecat.processors.aggregators.gated_llm_context`) instead. diff --git a/changelog/4215.removed.5.md b/changelog/4215.removed.5.md new file mode 100644 index 000000000..cbd84018d --- /dev/null +++ b/changelog/4215.removed.5.md @@ -0,0 +1 @@ +- ⚠️ Removed `VisionImageFrameAggregator` (from `pipecat.processors.aggregators.vision_image_frame`). Vision/image handling is now built into `LLMContext` (from `pipecat.processors.aggregators.llm_context`). See the `12*` examples for the recommended replacement pattern. diff --git a/changelog/4215.removed.6.md b/changelog/4215.removed.6.md new file mode 100644 index 000000000..28062359a --- /dev/null +++ b/changelog/4215.removed.6.md @@ -0,0 +1 @@ +- ⚠️ Removed deprecated compatibility modules: `pipecat.services.openai_realtime_beta` (use `pipecat.services.openai.realtime`), `pipecat.services.openai_realtime.context`, `pipecat.services.openai_realtime.frames`, `pipecat.services.openai.realtime.context`, `pipecat.services.openai.realtime.frames`, `pipecat.services.gemini_multimodal_live` (use `pipecat.services.google.gemini_live`), `pipecat.services.aws_nova_sonic.context` (use `pipecat.services.aws.nova_sonic`), `pipecat.services.google.openai` and `pipecat.services.google.llm_openai` (use `pipecat.services.google.llm`). diff --git a/changelog/4215.removed.md b/changelog/4215.removed.md new file mode 100644 index 000000000..96cb03c71 --- /dev/null +++ b/changelog/4215.removed.md @@ -0,0 +1,18 @@ +- ⚠️ Removed `OpenAILLMContext`, `OpenAILLMContextFrame`, and `OpenAILLMContext.from_messages()`. Use `LLMContext` (from `pipecat.processors.aggregators.llm_context`) and `LLMContextFrame` (from `pipecat.frames.frames`) instead. All services now exclusively use the universal `LLMContext`. + + From the developer's point of view, migrating will usually be a matter of going from this: + + ```python + context = OpenAILLMContext(messages, tools) + context_aggregator = llm.create_context_aggregator(context) + ``` + + To this: + + ```python + from pipecat.processors.aggregators.llm_context import LLMContext + from pipecat.processors.aggregators.llm_response_universal import LLMContextAggregatorPair + + context = LLMContext(messages, tools) + context_aggregator = LLMContextAggregatorPair(context) + ```