feat: use Gemini response metadata for token counting (#11743)

This commit is contained in:
Shota Totsuka 2024-12-17 18:42:05 +09:00 committed by GitHub
parent 900e93f758
commit 7d5a385811
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -292,6 +292,10 @@ class GoogleLargeLanguageModel(LargeLanguageModel):
) )
else: else:
# calculate num tokens # calculate num tokens
if hasattr(response, "usage_metadata") and response.usage_metadata:
prompt_tokens = response.usage_metadata.prompt_token_count
completion_tokens = response.usage_metadata.candidates_token_count
else:
prompt_tokens = self.get_num_tokens(model, credentials, prompt_messages) prompt_tokens = self.get_num_tokens(model, credentials, prompt_messages)
completion_tokens = self.get_num_tokens(model, credentials, [assistant_prompt_message]) completion_tokens = self.get_num_tokens(model, credentials, [assistant_prompt_message])