getStreamingChatResponse method
Stream<ChatResponseUpdate>
getStreamingChatResponse({
- required Iterable<
ChatMessage> messages, - ChatOptions? options,
- CancellationToken? cancellationToken,
override
Sends a chat request and returns a stream of response updates.
Implementation
@override
Stream<ChatResponseUpdate> getStreamingChatResponse({
required Iterable<ChatMessage> messages,
ChatOptions? options,
CancellationToken? cancellationToken,
}) {
Stream<ChatResponseUpdate> stream() async* {
_logInvoked('getStreamingChatResponse');
_logInvokedSensitive('getStreamingChatResponse', messages, options);
try {
await for (final update in super.getStreamingChatResponse(
messages: messages,
options: options,
cancellationToken: cancellationToken,
)) {
_logStreamingUpdateSensitive(update);
yield update;
}
_logCompleted('getStreamingChatResponse');
} on OperationCanceledException {
_logInvocationCanceled('getStreamingChatResponse');
rethrow;
} catch (e) {
_logInvocationFailed('getStreamingChatResponse', e);
rethrow;
}
}
return stream();
}