All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
tools
parameter: Introduced in theclient.run()
function to enable custom tool functionality.ToolFunctionParam
class: Added for enhanced type-checking when building client functions.- New message types:
ToolInvoke
andToolResult
messages are now supported for handling function calling.
- StartConversation message: Updated to include the
tools
parameter.
- Added the option to change the assistant from CLI
- Added the option to load conversation_config from a config file
- Added client handling of unexpected messages from the server
- Allow versions of websockets from
10.0
up to and including13.1
to mitigate extra_headers compatibility issue with websockets14.0
- Improved documentation for Interaction class
ResponseStarted
: Indicates the start of TTS audio streaming from the server. The message contains the textual content of the utterance to be spoken.ResponseInterrupted
: Indicates an interruption in the TTS audio stream from the server. The message contains the textual content up to the point where the utterance was stopped.ResponseCompleted
: Indicates the completion of TTS audio transmission from the server. The message includes the textual content of the utterance just spoken.ConversationEnding
: Indicates the session will continue in one-sided mode during TTS playback of the final words.AddAudio
: Implicit name for all inbound binary messages. The client confirms receipt by sending anServerMessageType.AudioReceived
message.AudioReceived
: Response toServerMessageType.AddAudio
, indicating that audio has been added successfully.- Deprecation warning for
audio
(replaced by AddAudio) andprompt
(replaced by Response*) messages
- Unused
EndOfTranscript
server message
- PyAudio class is instantiated only when the client is started directly from the CLI.
- Simplified microphone example
- Choppy audio playback on some systems using Python 3.12+
- Latency issues on some systems using Python 3.12+
- Improved handling of the AudioEnded which caused the client to abruptly close the connection. The client now waits up to 5 seconds for a ConversationEnded message from the server before closing the connection.
- Do not generate JWT when connecting to a local Flow server.
TranscriptionError
is nowConversationError
- CLI usage example from README using
-
which caused anunrecognized arguments
error. - Stream from microphone example using ssl_context=None
EndOfTranscriptException
from exceptions
- Add speechmatics-flow client