enabled response caching for Anthropic ITs

This commit is contained in:
Dmytro Liubarskyi 2026-04-10 15:41:27 +02:00
parent fd1b9a6fbb
commit 02b5cc8d70
15 changed files with 52 additions and 52 deletions

View File

@ -110,7 +110,7 @@ jobs:
env:
LC4J_GLOBAL_TEST_RETRY_ENABLED: true
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
ANTHROPIC_BASE_URL: ${{ secrets.ANTHROPIC_BASE_URL }}
ANTHROPIC_CACHING_BASE_URL: ${{ secrets.ANTHROPIC_CACHING_BASE_URL }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AZURE_OPENAI_AUDIO_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_AUDIO_DEPLOYMENT_NAME }}

View File

@ -99,7 +99,7 @@ jobs:
env:
LC4J_GLOBAL_TEST_RETRY_ENABLED: true
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
ANTHROPIC_BASE_URL: ${{ secrets.ANTHROPIC_BASE_URL }}
ANTHROPIC_CACHING_BASE_URL: ${{ secrets.ANTHROPIC_CACHING_BASE_URL }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AZURE_OPENAI_AUDIO_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_AUDIO_DEPLOYMENT_NAME }}

View File

@ -99,7 +99,7 @@ jobs:
env:
LC4J_GLOBAL_TEST_RETRY_ENABLED: true
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
ANTHROPIC_BASE_URL: ${{ secrets.ANTHROPIC_BASE_URL }}
ANTHROPIC_CACHING_BASE_URL: ${{ secrets.ANTHROPIC_CACHING_BASE_URL }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AZURE_OPENAI_AUDIO_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_AUDIO_DEPLOYMENT_NAME }}

View File

@ -95,7 +95,7 @@ jobs:
env:
LC4J_GLOBAL_TEST_RETRY_ENABLED: true
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
ANTHROPIC_BASE_URL: ${{ secrets.ANTHROPIC_BASE_URL }}
ANTHROPIC_CACHING_BASE_URL: ${{ secrets.ANTHROPIC_CACHING_BASE_URL }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AZURE_OPENAI_AUDIO_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_AUDIO_DEPLOYMENT_NAME }}

View File

@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat;
class ShellSkillsIT {
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_6)
.listeners(new LoggingChatModelListener())

View File

@ -45,7 +45,7 @@ class AnthropicChatModelIT {
// given
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.logRequests(false) // base64-encoded PDFs are huge
@ -72,7 +72,7 @@ class AnthropicChatModelIT {
List<String> stopSequences = List.of("World", " World");
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.stopSequences(stopSequences)
@ -97,7 +97,7 @@ class AnthropicChatModelIT {
// given
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.cacheSystemMessages(true)
@ -132,7 +132,7 @@ class AnthropicChatModelIT {
// given
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.cacheSystemMessages(true)
@ -169,7 +169,7 @@ class AnthropicChatModelIT {
// given
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.cacheSystemMessages(true)
@ -195,7 +195,7 @@ class AnthropicChatModelIT {
// given
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.version("2023-06-01")
.modelName(CLAUDE_HAIKU_4_5_20251001)
@ -224,7 +224,7 @@ class AnthropicChatModelIT {
// given
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(modelName)
.maxTokens(1)
@ -253,7 +253,7 @@ class AnthropicChatModelIT {
String modelNameString = modelName.toString();
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(modelNameString)
.maxTokens(1)
@ -283,7 +283,7 @@ class AnthropicChatModelIT {
// given
String expectedToolName = "get_weather";
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.temperature(0.0)
@ -333,7 +333,7 @@ class AnthropicChatModelIT {
void should_force_execution_without_tools_when_pass_tool_choice_none() {
// given
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.temperature(0.0)
@ -379,7 +379,7 @@ class AnthropicChatModelIT {
void should_execute_one_tool_and_ignore_another_tool_with_parallel_tool_disabled() {
// given
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.temperature(0.0)
@ -476,7 +476,7 @@ class AnthropicChatModelIT {
// given
AnthropicChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.cacheTools(true)
@ -526,7 +526,7 @@ class AnthropicChatModelIT {
// given
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.logRequests(true)
@ -562,7 +562,7 @@ class AnthropicChatModelIT {
ChatModel model = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)
.beta("context-management-2025-06-27")
@ -603,7 +603,7 @@ class AnthropicChatModelIT {
ChatModel model = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.beta("code-execution-2025-08-25")
.modelName(CLAUDE_SONNET_4_5_20250929)
@ -642,7 +642,7 @@ class AnthropicChatModelIT {
ChatModel model = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)
.serverTools(webSearchTool)
@ -697,7 +697,7 @@ class AnthropicChatModelIT {
ChatModel model = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)
.beta("advanced-tool-use-2025-11-20")
@ -734,7 +734,7 @@ class AnthropicChatModelIT {
ChatModel model = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)
.temperature(0.0)
@ -794,7 +794,7 @@ class AnthropicChatModelIT {
.build();
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)
.serverTools(webSearchTool)

View File

@ -14,7 +14,7 @@ class AnthropicChatModelListenerIT extends AbstractChatModelListenerIT {
@Override
protected ChatModel createModel(ChatModelListener listener) {
return AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(modelName())
.temperature(temperature())

View File

@ -45,7 +45,7 @@ class AnthropicChatModelThinkingIT {
ChatModel model = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(modelName)
@ -105,7 +105,7 @@ class AnthropicChatModelThinkingIT {
ChatModel model = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(modelName)
@ -174,7 +174,7 @@ class AnthropicChatModelThinkingIT {
ChatModel model = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(modelName)
@ -280,7 +280,7 @@ class AnthropicChatModelThinkingIT {
ChatModel model = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.beta(beta)
@ -391,7 +391,7 @@ class AnthropicChatModelThinkingIT {
// given
ChatModel model = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)

View File

@ -68,7 +68,7 @@ class AnthropicStreamingChatModelIT {
// given
StreamingChatModel model = AnthropicStreamingChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.version("2023-06-01")
.modelName(CLAUDE_HAIKU_4_5_20251001)
@ -119,7 +119,7 @@ class AnthropicStreamingChatModelIT {
// given
AnthropicStreamingChatModel model = AnthropicStreamingChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.cacheSystemMessages(true)
@ -148,7 +148,7 @@ class AnthropicStreamingChatModelIT {
// given
AnthropicStreamingChatModel model = AnthropicStreamingChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.cacheTools(true)
@ -201,7 +201,7 @@ class AnthropicStreamingChatModelIT {
Duration timeout = Duration.ofMillis(millis);
StreamingChatModel model = AnthropicStreamingChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.logRequests(true)
@ -268,7 +268,7 @@ class AnthropicStreamingChatModelIT {
StreamingChatModel model = AnthropicStreamingChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)
.beta("context-management-2025-06-27")
@ -304,7 +304,7 @@ class AnthropicStreamingChatModelIT {
AnthropicStreamingChatModel model = AnthropicStreamingChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)
.temperature(0.0)
@ -363,7 +363,7 @@ class AnthropicStreamingChatModelIT {
.build();
StreamingChatModel model = AnthropicStreamingChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)
.serverTools(webSearchTool)

View File

@ -14,7 +14,7 @@ class AnthropicStreamingChatModelListenerIT extends AbstractStreamingChatModelLi
@Override
protected StreamingChatModel createModel(ChatModelListener listener) {
return AnthropicStreamingChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(modelName())
.temperature(temperature())

View File

@ -53,7 +53,7 @@ class AnthropicStreamingChatModelThinkingIT {
StreamingChatModel model = AnthropicStreamingChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(modelName)
@ -135,7 +135,7 @@ class AnthropicStreamingChatModelThinkingIT {
StreamingChatModel model = AnthropicStreamingChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(modelName)
@ -222,7 +222,7 @@ class AnthropicStreamingChatModelThinkingIT {
StreamingChatModel model = AnthropicStreamingChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(modelName)
@ -370,7 +370,7 @@ class AnthropicStreamingChatModelThinkingIT {
StreamingChatModel model = AnthropicStreamingChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.beta(beta)
@ -525,7 +525,7 @@ class AnthropicStreamingChatModelThinkingIT {
// given
StreamingChatModel model = AnthropicStreamingChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)

View File

@ -19,7 +19,7 @@ public class AnthropicAiServiceWithJsonSchemaIT extends AbstractAiServiceWithJso
protected List<ChatModel> models() {
return List.of(
AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(AnthropicChatModelName.CLAUDE_HAIKU_4_5_20251001)
.supportedCapabilities(RESPONSE_FORMAT_JSON_SCHEMA)
@ -27,7 +27,7 @@ public class AnthropicAiServiceWithJsonSchemaIT extends AbstractAiServiceWithJso
.logRequests(true)
.build(),
AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.beta("structured-outputs-2025-11-13") // testing backward compatibility
.modelName(AnthropicChatModelName.CLAUDE_HAIKU_4_5_20251001)

View File

@ -32,7 +32,7 @@ class AnthropicAiServiceWithToolsIT extends AbstractAiServiceWithToolsIT {
@Override
protected List<ChatModel> models() {
return singletonList(AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.temperature(0.0)
@ -69,7 +69,7 @@ class AnthropicAiServiceWithToolsIT extends AbstractAiServiceWithToolsIT {
ChatModel chatModel = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)
.beta("advanced-tool-use-2025-11-20")
@ -142,7 +142,7 @@ class AnthropicAiServiceWithToolsIT extends AbstractAiServiceWithToolsIT {
ChatModel chatModel = AnthropicChatModel.builder()
.httpClientBuilder(new MockHttpClientBuilder(spyingHttpClient))
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_SONNET_4_5_20250929)
.beta("advanced-tool-use-2025-11-20")

View File

@ -24,7 +24,7 @@ import org.junit.jupiter.params.provider.MethodSource;
class AnthropicChatModelIT extends AbstractChatModelIT {
static final ChatModel ANTHROPIC_CHAT_MODEL = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.temperature(0.0)
@ -33,7 +33,7 @@ class AnthropicChatModelIT extends AbstractChatModelIT {
.build();
static final ChatModel ANTHROPIC_SCHEMA_MODEL = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.modelName(CLAUDE_HAIKU_4_5_20251001)
.temperature(0.0)
@ -50,7 +50,7 @@ class AnthropicChatModelIT extends AbstractChatModelIT {
@Override
protected ChatModel createModelWith(ChatRequestParameters parameters) {
var anthropicChatModelBuilder = AnthropicChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.defaultRequestParameters(parameters)
.logRequests(true)

View File

@ -55,7 +55,7 @@ class AnthropicStreamingChatModelIT extends AbstractStreamingChatModelIT {
@Override
protected StreamingChatModel createModelWith(ChatRequestParameters parameters) {
var anthropicChatModelBuilder = AnthropicStreamingChatModel.builder()
.baseUrl(System.getenv("ANTHROPIC_BASE_URL"))
.baseUrl(System.getenv("ANTHROPIC_CACHING_BASE_URL"))
.apiKey(System.getenv("ANTHROPIC_API_KEY"))
.maxTokens(parameters.maxOutputTokens())
.logRequests(true)