addOrUpdateChatMetadata method
Records model ID and token counts from a ChatResponse as metadata.
Implementation
void addOrUpdateChatMetadata(ChatResponse response, {Duration? duration}) {
if (response.modelId != null && response.modelId!.isNotEmpty) {
addOrUpdateMetadata('evaluation.model', response.modelId!);
}
final usage = response.usage;
if (usage != null) {
if (usage.inputTokenCount != null) {
addOrUpdateMetadata(
'evaluation.input_tokens', usage.inputTokenCount.toString());
}
if (usage.outputTokenCount != null) {
addOrUpdateMetadata(
'evaluation.output_tokens', usage.outputTokenCount.toString());
}
if (usage.totalTokenCount != null) {
addOrUpdateMetadata(
'evaluation.total_tokens', usage.totalTokenCount.toString());
}
}
if (duration != null) {
addOrUpdateDurationMetadata(duration);
}
}