parseReasoningMetrics static method

Map<String, dynamic> parseReasoningMetrics({
  1. required DateTime startTime,
  2. DateTime? firstTokenTime,
  3. DateTime? firstContentTime,
  4. int? completionTokens,
})

Parse reasoning metrics from response

Implementation

static Map<String, dynamic> parseReasoningMetrics({
  required DateTime startTime,
  DateTime? firstTokenTime,
  DateTime? firstContentTime,
  int? completionTokens,
}) {
  final now = DateTime.now();
  final timeCompletionMs = now.difference(startTime).inMilliseconds;
  final timeFirstTokenMs =
      firstTokenTime?.difference(startTime).inMilliseconds ?? 0;
  final timeThinkingMs =
      firstContentTime?.difference(startTime).inMilliseconds ?? 0;

  return {
    'completion_tokens': completionTokens,
    'time_completion_millsec': timeCompletionMs,
    'time_first_token_millsec': timeFirstTokenMs,
    'time_thinking_millsec': timeThinkingMs,
  };
}