getResponse method

  1. @override
Future<ChatResponse> getResponse({
  1. required Iterable<ChatMessage> messages,
  2. ChatOptions? options,
  3. CancellationToken? cancellationToken,
})
override

Sends a chat request and returns the complete response.

Implementation

@override
Future<ChatResponse> getResponse({
  required Iterable<ChatMessage> messages,
  ChatOptions? options,
  CancellationToken? cancellationToken,
}) async {
  developer.Timeline.startSync(
    OpenTelemetryConsts.chatSpanName,
    arguments: _buildArguments(options),
  );
  try {
    final response = await super.getResponse(
      messages: messages,
      options: options,
      cancellationToken: cancellationToken,
    );
    developer.Timeline.finishSync();
    return response;
  } catch (e) {
    developer.Timeline.finishSync();
    rethrow;
  }
}