Paul Kompfner
fe6063fdbe
Introduce an affordance to LLMService for generating a summary of a conversation directly (i.e. without going through the pipeline).
...
This abstraction will allow us to update Pipecat Flows to avoid reaching into LLM service internals to generate summaries.
In addition to being a helpful refactor to remove a fragile part of Pipecat Flows, this change helps set the stage for supporting the upcoming `LLMSwitcher`, where the “active” LLM will only be determined at runtime—today, Pipecat Flows needs to know ahead of time what type of LLM it’s working with, to load an LLM-specific “adapter” that does the work of generating summaries, among other things.
2025-08-26 09:44:15 -04:00
Paul Kompfner
195146adb2
Bump deprecation warning version, as this commit is not expected to ship until version 0.0.82.
2025-08-26 09:44:15 -04:00
Paul Kompfner
cab9e18cc9
Port recent change to LLMAssistantContextAggregator to universal LLMAssistantAggregator
2025-08-26 09:44:15 -04:00
Paul Kompfner
baef688e4e
Port recent changes to LLMUserContextAggregator to universal LLMUserAggregator
2025-08-26 09:44:15 -04:00
Paul Kompfner
f1f43fe500
After a rebase, rename foundational examples showing usage of universal context to avoid naming conflict with a recently-added example.
2025-08-26 09:44:15 -04:00
Paul Kompfner
73b63f8d35
Remove unnecessary import
2025-08-26 09:44:15 -04:00
Paul Kompfner
0c14b33e92
Deprecate GoogleLLMOpenAIBetaService
2025-08-26 09:44:15 -04:00
Paul Kompfner
09beaccaf0
Assorted minor improvements after code review
2025-08-26 09:44:15 -04:00
Paul Kompfner
40557a1aae
Remove TODO comment
2025-08-26 09:44:15 -04:00
Paul Kompfner
ecc4cc4a79
Add support for universal LLMContext to RTVIObserver
2025-08-26 09:44:15 -04:00
Paul Kompfner
37be8805f4
ruff
2025-08-26 09:44:15 -04:00
Paul Kompfner
93c7e64995
Add missing PERPLEXITY_API_KEY in env.example
2025-08-26 09:44:15 -04:00
Paul Kompfner
9de2bd61a9
Add supports_universal_context for OpenAILLMService subclasses so that we can gradually roll out support for universal LLMContext in a controlled manner.
...
Also update `get_chat_completions()` implementations with the new argument type.
2025-08-26 09:44:15 -04:00
Paul Kompfner
566af71862
Add CHANGELOG entry for the universal LLMContext machinery
2025-08-26 09:44:15 -04:00
Paul Kompfner
12064bd6e6
Add a bit of helpful info in an error message
2025-08-26 09:44:15 -04:00
Paul Kompfner
a962459151
Change LLMContextAggregatorPair.create(context) to LLMContextAggregatorPair(context)
2025-08-26 09:44:15 -04:00
Paul Kompfner
8fc76a29bc
Raise errors when trying to use universal LLMContext with LLM services that don't yet support it
2025-08-26 09:44:15 -04:00
Paul Kompfner
e3019261a5
Fix classes that subclass BaseLLMAdapter by adding placeholder stuff until support for universal LLMContext machinery comes to all LLM services
2025-08-26 09:44:15 -04:00
Paul Kompfner
fa1f6f1c51
In LLMContext, normalize an empty provided ToolsSchema to NOT_GIVEN
2025-08-26 09:44:15 -04:00
Paul Kompfner
337f00c16c
Minor fix: add a type annotation
2025-08-26 09:44:15 -04:00
Paul Kompfner
d50922cdcd
Update Google adapter to handle possibility of system message in standard format being provided as a list of text parts rather than just a string.
2025-08-26 09:44:15 -04:00
Paul Kompfner
47f5ca6265
Update Gemini adapter to be able to handle LLMSpecificMessages containing Google-formatted messages
2025-08-26 09:44:15 -04:00
Paul Kompfner
2eddb6ffda
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Remove outdated comment
2025-08-26 09:44:15 -04:00
Paul Kompfner
560a6f2247
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Make `LLMContext.add_audio_frames_message()` respect the OpenAI standard format
2025-08-26 09:44:15 -04:00
Paul Kompfner
59ecb19000
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Add support for LLM-specific messages in the universal `LLMContext`, to enable using LLM-specific functionality while still using the universal LLM context
2025-08-26 09:44:15 -04:00
Paul Kompfner
cfb094b3c8
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Make it so that tools in `LLMContext` are guaranteed to be either a `ToolsSchema` or `NOT_GIVEN`
2025-08-26 09:44:15 -04:00
Paul Kompfner
1f7e8e001b
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Update some types to also allow for universal `LLMContext`
2025-08-26 09:44:15 -04:00
Paul Kompfner
688b136141
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Add to Google LLM service support for universal LLM context
2025-08-26 09:44:15 -04:00
Paul Kompfner
809c4c1bc5
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Add to OpenAI LLM service support for universal LLM context
2025-08-26 09:44:15 -04:00
Paul Kompfner
81ca5e6601
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Formatting fix + dead import cleanup
2025-08-26 09:44:15 -04:00
Paul Kompfner
ebc49d2252
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Add a "universal" alias for `OpenAILLMContextAssistantTimestampFrame`: `LLMContextAssistantTimestampFrame`
2025-08-26 09:44:15 -04:00
Paul Kompfner
ff8d158e18
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Added universal `LLMContext` and associated context aggregators.
2025-08-26 09:44:15 -04:00
Aleix Conchillo Flaqué
37980b0854
Merge pull request #2504 from pipecat-ai/aleix/cartesia-fix-timeout-reconnection
...
CartesiaTTSService: reconnect on Cartesia's timeout
2025-08-25 15:24:31 -07:00
Aleix Conchillo Flaqué
39ebc2c9c1
CartesiaTTSService: reconnect on Cartesia's timeout
2025-08-25 14:09:03 -07:00
Aleix Conchillo Flaqué
ab61d09ec1
Merge pull request #2502 from pipecat-ai/aleix/pipecat-0.0.81
...
update CHANGELOG for 0.0.81
v0.0.81
2025-08-25 09:28:21 -07:00
Aleix Conchillo Flaqué
e4afc0a13c
update CHANGELOG for 0.0.81
2025-08-25 08:22:28 -07:00
Mark Backman
dde3d2395b
Merge pull request #2491 from pipecat-ai/mb/update-quickstart
2025-08-23 06:34:37 -07:00
Aleix Conchillo Flaqué
30b36c3d6e
Merge pull request #2497 from pipecat-ai/aleix/pipeline-task-fix-cancellation
...
PipelineTask: handle cancellations gracefully
2025-08-22 22:37:12 -07:00
Mark Backman
de4dfc3ed4
Update deployment steps
2025-08-23 00:19:26 -04:00
Aleix Conchillo Flaqué
a0128516ff
PipelineTask: handle cancellations gracefully
2025-08-22 19:04:31 -07:00
Aleix Conchillo Flaqué
db3b8c7325
Merge pull request #2496 from pipecat-ai/aleix/release-evals-always-provide-eval-prompt
...
scripts(evals): always require an eval prompt
2025-08-22 18:11:33 -07:00
Aleix Conchillo Flaqué
9273ec0f25
scripts(evals): always require an eval prompt
2025-08-22 16:57:47 -07:00
Mark Backman
8dfa1187be
Merge pull request #2402 from pipecat-ai/mb/voicemail-detection
...
Add voicemail detection
2025-08-22 14:51:13 -07:00
Mark Backman
e17fd580c6
Update README
2025-08-22 15:56:56 -04:00
mattie ruth backman
3e3d50a855
Fix issue with request images from the camera introduced in smallwebrtctransport
2025-08-22 15:02:33 -04:00
Mark Backman
402661ae03
Prevent user speaking frames from entering the classifier branch after a conversation is detected
2025-08-22 14:09:45 -04:00
Mark Backman
69c6a95b8a
Simplify frames in the NotifierGate
2025-08-22 14:09:45 -04:00
Mark Backman
4d49210a73
Rename system_prompt to custom_system_prompt; improve dev ex for classification prompt requirements
2025-08-22 14:09:45 -04:00
Aleix Conchillo Flaqué
5f8a22ef2f
Merge pull request #2493 from pipecat-ai/aleix/runner-task-asyncio-cancellation
...
PipelineRunner/PipelineTask: fix asyncio task cancellation
2025-08-22 09:13:58 -07:00
Aleix Conchillo Flaqué
606ad0826a
Merge pull request #2492 from pipecat-ai/aleix/wait-for-task-deprecated
...
FrameProcessor: wait_for_task is now deprecated
2025-08-22 09:13:34 -07:00