Expose cached content and thoughts token counts in Gemini token usage (#4930)

This commit is contained in:
Dmytro Liubarskyi 2026-04-17 09:24:53 +02:00
parent b6972e95c4
commit 99c0d7e804
1 changed files with 11 additions and 3 deletions

View File

@ -1,12 +1,15 @@
package dev.langchain4j.model.googleai.common;
import static dev.langchain4j.model.googleai.common.GoogleAiGeminiChatModelIT.GOOGLE_AI_GEMINI_CHAT_MODEL;
import dev.langchain4j.model.chat.ChatModel;
import dev.langchain4j.model.googleai.GoogleAiGeminiTokenUsage;
import dev.langchain4j.model.output.TokenUsage;
import dev.langchain4j.service.common.AbstractAiServiceIT;
import java.util.List;
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
import java.util.List;
import static dev.langchain4j.model.googleai.common.GoogleAiGeminiChatModelIT.GOOGLE_AI_GEMINI_CHAT_MODEL;
@EnabledIfEnvironmentVariable(named = "GOOGLE_AI_GEMINI_API_KEY", matches = ".+")
class GoogleAiGeminiAiServiceIT extends AbstractAiServiceIT {
@ -15,6 +18,11 @@ class GoogleAiGeminiAiServiceIT extends AbstractAiServiceIT {
return List.of(GOOGLE_AI_GEMINI_CHAT_MODEL);
}
@Override
protected Class<? extends TokenUsage> tokenUsageType(ChatModel chatModel) {
return GoogleAiGeminiTokenUsage.class;
}
@Override
protected boolean supportsToolsAndJsonResponseFormatWithSchema() {
return false; // Gemini does not support tools and response format simultaneously