Paul Kompfner
df57202a05
Since the openai package is used by pretty much everything in pipecat (due to OpenAILLMContext being the standard context representation), let's make it a non-optional dependency.
...
This change solves an issue faced by users who aren't intending to use OpenAI getting scary error messages saying that they need the `openai` optional dependency "in order to use OpenAI", along with an instruction to set the OPENAI_API_KEY environment variable.
Note that with this change we could theoretically remove from pyproject.toml a number of defined optional dependencies that list only the `openai` package as a dependency (like `deepseek`, for example), but I didn't want to "break the API" in terms of how users install/consume pipecat and its set of built-in services.
Finally, I removed the `python-deepcompare` dependency from the `openai` optional dependency, since it appears to me like it was added by mistake (my guess is it was used for debugging during development and then never removed).
2025-02-20 15:21:35 -05:00
Aleix Conchillo Flaqué
81093d3bed
Merge pull request #1252 from pipecat-ai/aleix/remove-vad-extra-logging
...
BaseInputTransport: remove VAD logging
2025-02-20 07:32:20 -08:00
Aleix Conchillo Flaqué
d0f67fc189
BaseInputTransport: remove VAD logging
...
These logs are very verbose. They were added to try to find an issue that
resulted in being because of low CPU/memory resources, but these logs were not
helpful to determine that.
2025-02-19 21:55:11 -08:00
Aleix Conchillo Flaqué
6e3f96aa83
fish: automatically send TTSStoppedFrame after timeout
2025-02-19 21:41:18 -08:00
Aleix Conchillo Flaqué
293677588d
tts: make push_stop_frames default to 2.0s
2025-02-19 21:39:00 -08:00
Filipi Fuchter
7e7926059c
Fixed an issue that start_callback was not invoked for some LLM services.
2025-02-19 18:04:20 -03:00
Aleix Conchillo Flaqué
c948754eff
Merge pull request #1248 from pipecat-ai/aleix/daily-transport-room-url
...
daily: add room_url property
2025-02-19 09:46:46 -08:00
Aleix Conchillo Flaqué
83f1a8830d
daily: add room_url property
2025-02-19 09:29:53 -08:00
Aleix Conchillo Flaqué
84ac88cad7
STTMuteFilter: change suppressed logging to trace
2025-02-18 18:03:37 -08:00
Aleix Conchillo Flaqué
1b0bcebef6
deepgram: use the new nova-3 model as default
2025-02-18 17:51:54 -08:00
Aleix Conchillo Flaqué
4edda718ed
deepgram: add ability to provide custom addons
2025-02-18 17:45:41 -08:00
Aleix Conchillo Flaqué
50b6cc8135
network: added exponential_backoff_time() function
2025-02-18 17:42:43 -08:00
Aleix Conchillo Flaqué
c926063d74
deepgram: handle error event and reconnect
2025-02-18 09:52:18 -08:00
Aleix Conchillo Flaqué
90b9dce710
STTMuteFilter: ignore audio frames so no transcriptions are generated
2025-02-17 19:59:05 -08:00
Aleix Conchillo Flaqué
329e89c1d9
TTSService: push BotStoppedSpeakingFrame
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
883410d8ac
FrameProcessor: no need to create an input event every time
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
1f5b790dd0
TTSService: reset processing text during interruptions
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
a107b1cb4b
examples(06a): use CartesiaTTSService
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
63950912f0
LLMAssistantContextAggregator: add missing variable initialization
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
2ce9402571
LLMAssistantResponseAggregator: initialize messages
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
f6912c0f9a
utils: don't consider colon an end of sentence
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
633a4d4c58
FalImageGenService: load image async to not block the event loop
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
67da745bb3
tts: make frame pausing/resuming optional
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
5126d4de92
tts: handle incoming frames pausing/resuming from base TTSService class
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
426d7ac213
transports: some local audio and tk updates
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
b3a575c7c7
Merge pull request #1212 from Vaibhav159/vl_fix_incorrect_has_regular_messages_check
...
fixing google llm service error
2025-02-14 13:16:37 -08:00
Aleix Conchillo Flaqué
790d0c1256
Merge pull request #1224 from M1ngXU/patch-1
...
Update openai.py
2025-02-14 13:13:00 -08:00
Aleix Conchillo Flaqué
f53ee79ddb
RimeTTSService: use AudioContextWordTTSService
2025-02-14 11:55:54 -08:00
Aleix Conchillo Flaqué
aeadb40c3f
CartesiaTTSService: use AudioContextWordTTSService
...
By supporting multiple audio requests we fix an issue that was causing audio
overlapping.
2025-02-14 11:55:54 -08:00
Aleix Conchillo Flaqué
cacb07f4c2
introduce AudioContextWordTTSService
2025-02-14 11:55:54 -08:00
M1ngXU
0b91d821fb
Update openai.py
...
d
2025-02-14 20:27:08 +01:00
Aleix Conchillo Flaqué
e006dcf172
WebsocketService: handle clean server disconnection
...
The websocket async iterator doesn't raise an exception when the server
disconnects cleanly. We should handle that and raise an exception so we can
reconnect.
2025-02-14 10:11:56 -08:00
Mark Backman
ac5ebc587e
Add tests for UserIdleProcessor
2025-02-13 18:47:29 -05:00
Aleix Conchillo Flaqué
c744409651
SegmentedSTTService: fix process_audio_frame() arguments
2025-02-13 15:25:22 -08:00
Aleix Conchillo Flaqué
5909dff423
LLMContextResponseAggregator: add VAD emulation support
2025-02-13 15:25:22 -08:00
Aleix Conchillo Flaqué
a6502df72c
services: forgot to pass context instead of user aggregator
2025-02-13 13:50:33 -08:00
Aleix Conchillo Flaqué
99779046a8
services: use push_context_frame()
2025-02-13 13:20:38 -08:00
Aleix Conchillo Flaqué
67cdc0063a
BaseTransportOutput: allow pushing frames upstream
2025-02-13 13:20:38 -08:00
Aleix Conchillo Flaqué
b28f752afa
tests: add anthropic and google aggregator tests
2025-02-13 13:20:38 -08:00
Aleix Conchillo Flaqué
463078e375
initialize assistant aggregators with context and push upstream instead
2025-02-13 13:20:38 -08:00
Aleix Conchillo Flaqué
84510fd521
LLMUserContextAggregator: add space between transcriptions
2025-02-13 13:20:38 -08:00
Aleix Conchillo Flaqué
9f6a1c093a
LLMUserContextAggregator: reset user speaking time after bot interruption
2025-02-13 13:20:38 -08:00
Aleix Conchillo Flaqué
7c815121ea
LLMContextResponseAggregator: add missing reset() implementation
2025-02-13 13:20:38 -08:00
Aleix Conchillo Flaqué
16a107948b
services: missing kwargs in anthropic/openai user context aggregator
2025-02-13 13:20:38 -08:00
Aleix Conchillo Flaqué
839aa7d935
llm_response: add some initial docstrings to LLM aggregators
2025-02-13 13:20:38 -08:00
Aleix Conchillo Flaqué
4cbcfe2b0b
LLMUserContextAggregator: interrupt the bot if VAD happened a while back
2025-02-13 13:20:38 -08:00
Aleix Conchillo Flaqué
91a628d1ba
UserResponseAggregator: implement on top of LLMUserResponseAggregator
2025-02-13 13:20:37 -08:00
Aleix Conchillo Flaqué
e1f2bbceb3
reimplement LLM response aggregators
2025-02-13 13:20:37 -08:00
Aleix Conchillo Flaqué
1b7dfe8126
tests: add a new SleepFrame
...
The new SleepFrame allow us to control when system frames are pushed to the
pipeline.
2025-02-13 13:20:37 -08:00
Filipi Fuchter
16fe1b10e9
- Added support for the RTVIProcessor to handle buffered audio in base64 format, converting it into InputAudioRawFrame for transport.
...
- Added support for the `RTVIProcessor` to trigger `start_audio_in_streaming` only after the `client-ready` message.
2025-02-13 18:08:55 -03:00