This release has been yanked due to resampling issues affecting audio output quality and critical bugs impacting ParallelPipelines functionality.
Please upgrade to version 0.0.76 or later.
Added
-
Added an
aggregate_sentencesarg inCartesiaTTSService,ElevenLabsTTSService,NeuphonicTTSServiceandRimeTTSService, where the default value is True. Whenaggregate_sentencesis True, theTTSServiceaggregates the LLM streamed tokens into sentences by default. Note: setting the value to False requires a custom processor before theTTSServiceto aggregate LLM tokens. -
Added
kwargsto theOLLamaLLMServiceto allow for configuration args to be passed to Ollama. -
Added call hang-up error handling in
TwilioFrameSerializer, which handles the case where the user has hung up before theTwilioFrameSerializerhangs up the call.
Changed
-
Updated
RTVIObserverandRTVIProcessorto match the new RTVI 1.0.0 protocol.
This includes:- Deprecating support for all messages related to service configuaration and actions.
- Adding support for obtaining and logging data about client, including its RTVI version and optionally included system information (OS/browser/etc.)
- Adding support for handling the new
client-messageRTVI message through either aon_client_messageevent handler or listening for a newRTVIClientMessageFrame - Adding support for responding to a
client-messagewith aserver-responsevia either a direct call on theRTVIProcessoror via pushing a newRTVIServerResponseFrame - Adding built-in support for handling the new
append-to-contextRTVI message which allows a client to add to the user or assistant llm context. No extra code is required for supporting this behavior. - Updating all JavaScript and React client RTVI examples to use versions 1.0.0 of the clients.
Get started migrating to RTVI protocol 1.0.0 by following the migration guide:
https://docs.pipecat.ai/client/migration-guide -
Refactored
AWSBedrockLLMServiceandAWSPollyTTSServiceto work asynchronously usingaioboto3instead of theboto3library. -
The
UserIdleProcessornow handles the scenario where function calls take longer than the idle timeout duration. This allows you to use theUserIdleProcessorin conjunction with function calls that take a while to return a result.
Fixed
-
Updated the
NeuphonicTTSServiceto work with the updated websocket API. -
Fixed an issue with
RivaSTTServicewhere the watchdog feature was causing an error on initialization.
Performance
- Remove unncessary push task in each
FrameProcessor.