Paul Kompfner
0fb45c6114
Guard _drain_cancelled_response against None websocket
2026-03-31 10:32:47 -04:00
Paul Kompfner
657a5def57
Use consistent 'inference' terminology in error messages
2026-03-31 10:17:29 -04:00
Paul Kompfner
30903042e5
Work around OpenAI Python SDK temperature bug in example
2026-03-31 10:16:30 -04:00
Mark Backman
9936ec16cb
Add changelog for #4213
2026-03-31 09:28:31 -04:00
Mark Backman
212aff15c9
Update default Google Imagen model to imagen-4.0-generate-001
2026-03-31 09:16:24 -04:00
Paul Kompfner
f2b3f87661
Clarify discrete vs continuous contrast in WebsocketLLMService docstring
2026-03-30 23:46:23 -04:00
Paul Kompfner
77cfb181f6
Clarify per-inference helper usage in WebsocketLLMService docstring
2026-03-30 23:25:56 -04:00
Paul Kompfner
0b256936c6
Add ConnectionClosed to _receive_response_events raises docstring
2026-03-30 23:14:45 -04:00
Paul Kompfner
3922963c7a
Extract helpers in _process_context to reduce repeated code
2026-03-30 23:10:38 -04:00
Paul Kompfner
ab9f2a35b6
Clean up TTFB metrics and previous_response state on inference failure
2026-03-30 23:04:06 -04:00
Paul Kompfner
f19d1183d8
Clean up TTFB metrics and previous_response state on retry failure
2026-03-30 23:00:22 -04:00
Paul Kompfner
9ad4fe6344
Use concrete inference language instead of abstract transaction terminology
2026-03-30 22:42:40 -04:00
Paul Kompfner
04882f6f2a
Simplify _connect_websocket guard and remove unused State import
2026-03-30 22:32:08 -04:00
Paul Kompfner
712e42533d
Introduce WebsocketLLMService and refactor OpenAIResponsesLLMService to use it
...
Add WebsocketLLMService as a base class for WebSocket-based LLM services,
parallel to WebsocketTTSService/WebsocketSTTService but codifying a
transactional request-response model rather than a continuous background
receive loop.
WebsocketLLMService provides:
- Connection lifecycle (start/stop/cancel → connect/disconnect)
- _ws_send/_ws_recv with transparent ConnectionClosed handling
(auto-reconnect via exponential backoff → WebsocketReconnectedError)
- _ensure_connected with retry via _try_reconnect
OpenAIResponsesLLMService now inherits from WebsocketLLMService, removing
duplicated connection management code (_connect, _disconnect, _reconnect,
_ensure_connected, _ws_send, start, stop, cancel) and simplifying
_process_context from a loop with attempt tracking to a flat try/except
with a single retry.
2026-03-30 22:26:31 -04:00
Mark Backman
7d8b436018
Add changelog for #4209
2026-03-30 21:40:17 -04:00
Mark Backman
bf1856f610
Change GrokLLMService default model from grok-3-beta to grok-3
...
The grok-3 model is now generally available, so update the default
from the beta variant.
2026-03-30 21:39:33 -04:00
Mark Backman
248e0a4c90
Merge pull request #4207 from pipecat-ai/mb/remove-krisp
...
Remove docs uses of krisp optional dependency
2026-03-30 19:54:14 -04:00
Mark Backman
89dcd57577
Remove docs uses of krisp optional dependency
2026-03-30 19:50:40 -04:00
Mark Backman
32022a952e
Merge pull request #4205 from pipecat-ai/mb/remove-quickstart
...
Remove quickstart example from repo
2026-03-30 18:58:49 -04:00
Aleix Conchillo Flaqué
65d9fcc315
Merge pull request #4204 from pipecat-ai/aleix/remove-some-deprecations
...
Remove deprecated APIs and modules
2026-03-30 15:32:53 -07:00
Mark Backman
b78ae40d3c
Remove quickstart example from repo
2026-03-30 18:20:41 -04:00
Aleix Conchillo Flaqué
ece4d0661e
update uv.lock
2026-03-30 15:06:05 -07:00
Aleix Conchillo Flaqué
82a852c1ff
Add changelog for #4204
2026-03-30 15:06:05 -07:00
Aleix Conchillo Flaqué
5be1b9c8cb
LLMService: remove deprecated request_image_frame()
2026-03-30 15:06:05 -07:00
Aleix Conchillo Flaqué
7913d4e188
FrameProcessor: remove deprecated wait_for_task()
2026-03-30 14:45:42 -07:00
Aleix Conchillo Flaqué
c8dd7c2b57
rtvi: remove old deprecations
2026-03-30 14:44:32 -07:00
Aleix Conchillo Flaqué
77e5f4acc1
runner(daily): remove deprecated configure_with_args()
2026-03-30 14:31:39 -07:00
Aleix Conchillo Flaqué
be8d4dfd87
TTSService: remove deprecated say() function
2026-03-30 14:29:30 -07:00
Aleix Conchillo Flaqué
bb2c60a998
transports: remove deprecated vad_enabled and vad_audio_passthrough
2026-03-30 14:28:34 -07:00
Aleix Conchillo Flaqué
7c644ed810
RTVIObserver: remove deprecated errors_enabled
2026-03-30 14:26:53 -07:00
Aleix Conchillo Flaqué
96ceec2a43
transports: remove deprecated camera_in_* and camera_out_* params
2026-03-30 14:24:40 -07:00
Aleix Conchillo Flaqué
d249473f0b
AudioBufferProcessor: remove deprecated user_continuous_stream
2026-03-30 14:22:21 -07:00
Aleix Conchillo Flaqué
1da2018c85
PipelineTask: remove deprecated on_pipeline_ended/cancelled/stopped
2026-03-30 14:20:45 -07:00
Aleix Conchillo Flaqué
af126ec7cf
PipelineParams: remove deprecated observers field
2026-03-30 14:18:07 -07:00
Aleix Conchillo Flaqué
340e58bf5c
LLMService: remove old function call single argument
2026-03-30 14:16:18 -07:00
Aleix Conchillo Flaqué
7873159d0f
LLMService: remove start_callback
2026-03-30 14:13:23 -07:00
Aleix Conchillo Flaqué
c783101741
frames: remove deprecated interruption frames
2026-03-30 14:08:42 -07:00
Aleix Conchillo Flaqué
73b8bbf963
frames: remove deprecated transport frames
2026-03-30 14:08:24 -07:00
Aleix Conchillo Flaqué
ebbe5acc8f
frames: remove deprecated KeypadEntryFrame
2026-03-30 14:07:54 -07:00
Aleix Conchillo Flaqué
dd1bea2a5f
audio(turn): remove FalSmartTurnAnalyzer and LocalSmartTurnAnalyzer
2026-03-30 14:04:29 -07:00
Aleix Conchillo Flaqué
136e6a58be
audio(utils): remove create_default_resampler
2026-03-30 14:02:13 -07:00
Aleix Conchillo Flaqué
f0d04dde1c
audio(filters): remove KrispFilter
2026-03-30 14:01:06 -07:00
Aleix Conchillo Flaqué
742a278c05
audio(filters): remove NoisereduceFilter
2026-03-30 13:58:35 -07:00
Aleix Conchillo Flaqué
b16befc9e9
transports(daily): remove deprecated frames
2026-03-30 13:56:25 -07:00
kompfner
0c11eb6fd0
Merge pull request #4141 from pipecat-ai/pk/openai-responses-websocket-service
...
feat: add WebSocket-based OpenAI Responses LLM service
2026-03-30 15:25:32 -04:00
Mark Backman
ea39389e03
Add changelog for #4203
2026-03-30 14:24:49 -04:00
Mark Backman
4adf0fd585
Handle incomplete function call arguments from interrupted LLM streams
...
When a user interruption causes the LLM chunk stream to exit early,
function call arguments may be incomplete JSON. Wrap json.loads() in
try/except JSONDecodeError to skip malformed function calls with a
warning instead of crashing. Fixes #2461 .
2026-03-30 14:24:04 -04:00
Mark Backman
465b9bcbc6
Add changelog for #4202
2026-03-30 14:16:21 -04:00
Mark Backman
3f4814cf84
Fix UTF-8 decode error in Inworld TTS streaming response
...
Buffer raw bytes and only decode after splitting on newline boundaries,
preventing multi-byte UTF-8 characters from being split at chunk edges.
Fixes #3538
2026-03-30 14:15:06 -04:00
Mark Backman
f6a3678f93
Improve tests
2026-03-30 12:46:30 -04:00