From 566af718623e855f8a9ca667fc16cfb39fc477d6 Mon Sep 17 00:00:00 2001 From: Paul Kompfner Date: Tue, 19 Aug 2025 11:14:15 -0400 Subject: [PATCH] Add CHANGELOG entry for the universal `LLMContext` machinery --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f6f8754ee..187131261 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- Added a new "universal" (LLM-agnostic) `LLMContext` and accompanying + `LLMContextAggregatorPair`, which will eventually replace `OpenAILLMContext` + (and the other under-the-hood contexts) and the other context aggregators. + The new universal `LLMContext` machinery allows a single context to be shared + between different LLMs, enabling scenarios like LLM failover. + + From the developer's point of view, switching to using the new universal + context machinery will usually be a matter of going from this: + + ```python + context = OpenAILLMContext(messages, tools) + context_aggregator = llm.create_context_aggregator(context) + ``` + + To this: + + ```python + context = LLMContext(messages, tools) + context_aggregator = LLMContextAggregatorPair(context) + ``` + + To start, the universal `LLMContext` is supported with the following LLM + services: + + - `OpenAILLMService` + - `GoogleLLMService` + - Added `pipecat.extensions.voicemail`, a module for detecting voicemail vs. live conversation, primarily intended for use in outbound calling scenarios. The voicemail module is optimized for text LLMs only.