getStreamingResponse method

  1. @override
Stream<ChatResponseUpdate> getStreamingResponse({
  1. required Iterable<ChatMessage> messages,
  2. ChatOptions? options,
  3. CancellationToken? cancellationToken,
})
override

Sends a chat request and returns a stream of response updates.

Implementation

@override
Stream<ChatResponseUpdate> getStreamingResponse({
  required Iterable<ChatMessage> messages,
  ChatOptions? options,
  CancellationToken? cancellationToken,
}) async* {
  developer.Timeline.startSync(
    '${OpenTelemetryConsts.chatSpanName}.streaming',
    arguments: _buildArguments(options),
  );
  try {
    yield* super.getStreamingResponse(
      messages: messages,
      options: options,
      cancellationToken: cancellationToken,
    );
    developer.Timeline.finishSync();
  } catch (e) {
    developer.Timeline.finishSync();
    rethrow;
  }
}