From 144ea36c81e0698163493e945a33d5b5b4ebd406 Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Sun, 18 May 2025 07:41:16 -0400 Subject: [PATCH] Fix: Make LLMTokenUsage more robust --- .../services/gemini_multimodal_live/gemini.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/pipecat/services/gemini_multimodal_live/gemini.py b/src/pipecat/services/gemini_multimodal_live/gemini.py index 49fe5b593..b2614504b 100644 --- a/src/pipecat/services/gemini_multimodal_live/gemini.py +++ b/src/pipecat/services/gemini_multimodal_live/gemini.py @@ -960,11 +960,17 @@ class GeminiMultimodalLiveLLMService(LLMService): usage = evt.usageMetadata + # Ensure we have valid integers for all token counts + prompt_tokens = usage.promptTokenCount or 0 + completion_tokens = usage.responseTokenCount or 0 + total_tokens = usage.totalTokenCount or (prompt_tokens + completion_tokens) + tokens = LLMTokenUsage( - prompt_tokens=usage.promptTokenCount, - completion_tokens=usage.responseTokenCount, - total_tokens=usage.totalTokenCount, + prompt_tokens=prompt_tokens, + completion_tokens=completion_tokens, + total_tokens=total_tokens, ) + await self.start_llm_usage_metrics(tokens) def create_context_aggregator(