From ed52a3e0a1e2fde88843b848e91a2d54c8f00089 Mon Sep 17 00:00:00 2001 From: Christian Tzolov Date: Sun, 11 Feb 2024 15:32:33 +0100 Subject: [PATCH] Add Bedrock Titan Chat Options + Docs --- README.md | 2 + models/spring-ai-bedrock/README_TITAN_CHAT.md | 84 +------ .../bedrock/titan/BedrockTitanChatClient.java | 97 +++++--- .../titan/BedrockTitanChatOptions.java | 133 ++++++++++ .../BedrockTitanChatCreateRequestTests.java | 76 ++++++ .../bedrock-titan-chat-low-level-api.jpg | Bin 0 -> 243012 bytes .../src/main/antora/modules/ROOT/nav.adoc | 1 + .../modules/ROOT/pages/api/bedrock.adoc | 2 + .../api/clients/bedrock/bedrock-titan.adoc | 228 ++++++++++++++++++ .../BedrockTitanChatAutoConfiguration.java | 7 +- .../titan/BedrockTitanChatProperties.java | 64 +---- .../BedrockTitanChatAutoConfigurationIT.java | 18 +- 12 files changed, 522 insertions(+), 190 deletions(-) create mode 100644 models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatOptions.java create mode 100644 models/spring-ai-bedrock/src/test/java/org/springframework/ai/bedrock/titan/BedrockTitanChatCreateRequestTests.java create mode 100644 spring-ai-docs/src/main/antora/modules/ROOT/images/bedrock/bedrock-titan-chat-low-level-api.jpg create mode 100644 spring-ai-docs/src/main/antora/modules/ROOT/pages/api/clients/bedrock/bedrock-titan.adoc diff --git a/README.md b/README.md index 69c0a1973..f45f3106c 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ The Spring AI project provides a Spring-friendly API and abstractions for develo Let's make your `@Beans` intelligent! +For further information go to our [Spring AI documentation](https://docs.spring.io/spring-ai/reference/). + ## Project Update :partying_face: The Spring AI project has graduated out of the repository! diff --git a/models/spring-ai-bedrock/README_TITAN_CHAT.md b/models/spring-ai-bedrock/README_TITAN_CHAT.md index 9f93f101c..a01ae8deb 100644 --- a/models/spring-ai-bedrock/README_TITAN_CHAT.md +++ b/models/spring-ai-bedrock/README_TITAN_CHAT.md @@ -1,83 +1,3 @@ -# 1. Bedrock Titan Chat +# Bedrock Titan Chat -## 1.1 TitanChatBedrockApi - -[TitanChatBedrockApi](./src/main/java/org/springframework/ai/bedrock/titan/api/TitanChatBedrockApi.java) provides is lightweight Java client on top of AWS Bedrock [Titan text models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-titan-text.html). - -Following class diagram illustrates the Llama2ChatBedrockApi interface and building blocks: - -![TitanChatBedrockApi Class Diagram](./src/test/resources/doc/Bedrock%20Titan%20Chat%20API.jpg) - -The TitanChatBedrockApi supports the `amazon.titan-text-lite-v1` and `amazon.titan-text-express-v1` models for bot synchronous (e.g. `chatCompletion()`) and streaming (e.g. `chatCompletionStream()`) responses. - -Here is a simple snippet how to use the api programmatically: - -```java -TitanChatBedrockApi titanBedrockApi = new TitanChatBedrockApi(TitanChatCompletionModel.TITAN_TEXT_EXPRESS_V1.id(), - Region.EU_CENTRAL_1.id()); - -TitanChatRequest titanChatRequest = TitanChatRequest.builder("Give me the names of 3 famous pirates?") - .withTemperature(0.5f) - .withTopP(0.9f) - .withMaxTokenCount(100) - .withStopSequences(List.of("|")) - .build(); - -TitanChatResponse response = titanBedrockApi.chatCompletion(titanChatRequest); - -assertThat(response.results()).hasSize(1); -assertThat(response.results().get(0).outputText()).contains("Blackbeard"); - -Flux response = titanBedrockApi.chatCompletionStream(titanChatRequest); - -List results = response.collectList().block(); -assertThat(results.stream().map(TitanChatResponseChunk::outputText).collect(Collectors.joining("\n"))) - .contains("Blackbeard"); -``` - -## 1.2 BedrockTitanChatClient - -[BedrockTitanChatClient](./src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatClient.java) implements the Spring-Ai `ChatClient` and `StreamingChatClient` on top of the `TitanChatBedrockApi`. - -You can use like this: - -```java -@Bean -public TitanChatBedrockApi titanApi() { - return new TitanChatBedrockApi(TitanChatModel.TITAN_TEXT_EXPRESS_V1.id(), - EnvironmentVariableCredentialsProvider.create(), Region.US_EAST_1.id(), new ObjectMapper()); -} - -@Bean -public BedrockTitanChatClient titanChatClient(TitanChatBedrockApi titanApi) { - return new BedrockTitanChatClient(titanApi); -} - -``` - -or you can leverage the `spring-ai-bedrock-ai-spring-boot-starter` Boot starter. For this add the following dependency: - -```xml - - spring-ai-bedrock-ai-spring-boot-starter - org.springframework.ai - 0.8.0-SNAPSHOT - -``` - -**NOTE:** You have to enable the Bedrock Titan chat client with `spring.ai.bedrock.titan.chat.enabled=true`. -By default the client is disabled. - -Use the `BedrockTitanChatProperties` to configure the Bedrock Titan Chat client: - -| Property | Description | Default | -| ------------- | ------------- | ------------- | -| spring.ai.bedrock.aws.region | AWS region to use. | us-east-1 | -| spring.ai.bedrock.aws.accessKey | AWS credentials access key. | | -| spring.ai.bedrock.aws.secretKey | AWS credentials secret key. | | -| spring.ai.bedrock.titan.chat.enable | Enable Bedrock Titan chat client. Disabled by default | false | -| spring.ai.bedrock.titan.chat.model | The model id to use. See the `TitanChatModel` for the supported models. | amazon.titan-text-express-v1 | -| spring.ai.bedrock.titan.chat.temperature | Controls the randomness of the output. Values can range over [0.0,1.0] | 0.7 | -| spring.ai.bedrock.titan.chat.topP | The maximum cumulative probability of tokens to consider when sampling. | AWS Bedrock default | -| spring.ai.bedrock.titan.chat.maxTokenCount | Specify the maximum number of tokens to use in the generated response. | AWS Bedrock default | -| spring.ai.bedrock.titan.chat.stopSequences | Configure up to four sequences that the model recognizes. | AWS Bedrock default | +Visit the Spring AI [Bedrock Titan Chat Documentation](https://docs.spring.io/spring-ai/reference/api/clients/bedrock/bedrock-titan.html). \ No newline at end of file diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatClient.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatClient.java index c1a781049..93ea54105 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatClient.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatClient.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2023 the original author or authors. + * Copyright 2023-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,8 +18,6 @@ package org.springframework.ai.bedrock.titan; import java.util.List; -import org.springframework.ai.chat.ChatClient; -import org.springframework.ai.chat.metadata.ChatGenerationMetadata; import reactor.core.publisher.Flux; import org.springframework.ai.bedrock.MessageToPromptConverter; @@ -27,11 +25,16 @@ import org.springframework.ai.bedrock.titan.api.TitanChatBedrockApi; import org.springframework.ai.bedrock.titan.api.TitanChatBedrockApi.TitanChatRequest; import org.springframework.ai.bedrock.titan.api.TitanChatBedrockApi.TitanChatResponse; import org.springframework.ai.bedrock.titan.api.TitanChatBedrockApi.TitanChatResponseChunk; +import org.springframework.ai.chat.ChatClient; +import org.springframework.ai.chat.ChatOptions; import org.springframework.ai.chat.ChatResponse; -import org.springframework.ai.chat.StreamingChatClient; import org.springframework.ai.chat.Generation; +import org.springframework.ai.chat.StreamingChatClient; +import org.springframework.ai.chat.metadata.ChatGenerationMetadata; import org.springframework.ai.chat.metadata.Usage; import org.springframework.ai.chat.prompt.Prompt; +import org.springframework.ai.model.ModelOptionsUtils; +import org.springframework.util.Assert; /** * @author Christian Tzolov @@ -41,41 +44,22 @@ public class BedrockTitanChatClient implements ChatClient, StreamingChatClient { private final TitanChatBedrockApi chatApi; - private Float temperature; - - private Float topP; - - private Integer maxTokenCount; - - private List stopSequences; + private final BedrockTitanChatOptions defaultOptions; public BedrockTitanChatClient(TitanChatBedrockApi chatApi) { + this(chatApi, BedrockTitanChatOptions.builder().withTemperature(0.8f).build()); + } + + public BedrockTitanChatClient(TitanChatBedrockApi chatApi, BedrockTitanChatOptions defaultOptions) { + Assert.notNull(chatApi, "ChatApi must not be null"); + Assert.notNull(defaultOptions, "DefaultOptions must not be null"); this.chatApi = chatApi; - } - - public BedrockTitanChatClient withTemperature(Float temperature) { - this.temperature = temperature; - return this; - } - - public BedrockTitanChatClient withTopP(Float topP) { - this.topP = topP; - return this; - } - - public BedrockTitanChatClient withMaxTokenCount(Integer maxTokens) { - this.maxTokenCount = maxTokens; - return this; - } - - public BedrockTitanChatClient withStopSequences(List stopSequences) { - this.stopSequences = stopSequences; - return this; + this.defaultOptions = defaultOptions; } @Override public ChatResponse call(Prompt prompt) { - TitanChatResponse response = this.chatApi.chatCompletion(this.createRequest(prompt, false)); + TitanChatResponse response = this.chatApi.chatCompletion(this.createRequest(prompt)); List generations = response.results().stream().map(result -> { return new Generation(result.outputText()); }).toList(); @@ -85,7 +69,7 @@ public class BedrockTitanChatClient implements ChatClient, StreamingChatClient { @Override public Flux stream(Prompt prompt) { - return this.chatApi.chatCompletionStream(this.createRequest(prompt, true)).map(chunk -> { + return this.chatApi.chatCompletionStream(this.createRequest(prompt)).map(chunk -> { Generation generation = new Generation(chunk.outputText()); @@ -104,15 +88,48 @@ public class BedrockTitanChatClient implements ChatClient, StreamingChatClient { }); } - private TitanChatRequest createRequest(Prompt prompt, boolean stream) { + /** + * Test access. + */ + TitanChatRequest createRequest(Prompt prompt) { final String promptValue = MessageToPromptConverter.create().toPrompt(prompt.getInstructions()); - return TitanChatRequest.builder(promptValue) - .withTemperature(this.temperature) - .withTopP(this.topP) - .withMaxTokenCount(this.maxTokenCount) - .withStopSequences(this.stopSequences) - .build(); + var requestBuilder = TitanChatRequest.builder(promptValue); + + if (this.defaultOptions != null) { + requestBuilder = update(requestBuilder, this.defaultOptions); + } + + if (prompt.getOptions() != null) { + if (prompt.getOptions() instanceof ChatOptions runtimeOptions) { + BedrockTitanChatOptions updatedRuntimeOptions = ModelOptionsUtils.copyToTarget(runtimeOptions, + ChatOptions.class, BedrockTitanChatOptions.class); + + requestBuilder = update(requestBuilder, updatedRuntimeOptions); + } + else { + throw new IllegalArgumentException("Prompt options are not of type ChatOptions: " + + prompt.getOptions().getClass().getSimpleName()); + } + } + + return requestBuilder.build(); + } + + private TitanChatRequest.Builder update(TitanChatRequest.Builder builder, BedrockTitanChatOptions options) { + if (options.getTemperature() != null) { + builder.withTemperature(options.getTemperature()); + } + if (options.getTopP() != null) { + builder.withTopP(options.getTopP()); + } + if (options.getMaxTokenCount() != null) { + builder.withMaxTokenCount(options.getMaxTokenCount()); + } + if (options.getStopSequences() != null) { + builder.withStopSequences(options.getStopSequences()); + } + return builder; } private Usage extractUsage(TitanChatResponseChunk response) { diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatOptions.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatOptions.java new file mode 100644 index 000000000..8c834705f --- /dev/null +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatOptions.java @@ -0,0 +1,133 @@ +/* + * Copyright 2024-2024 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.ai.bedrock.titan; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +import org.springframework.ai.chat.ChatOptions; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * @author Christian Tzolov + * @since 0.8.0 + */ +@JsonInclude(Include.NON_NULL) +public class BedrockTitanChatOptions implements ChatOptions { + + // @formatter:off + /** + * The temperature value controls the randomness of the generated text. + */ + private @JsonProperty("temperature") Float temperature; + + /** + * The topP value controls the diversity of the generated text. Use a lower value to ignore less probable options. + */ + private @JsonProperty("topP") Float topP; + + /** + * Maximum number of tokens to generate. + */ + private @JsonProperty("maxTokenCount") Integer maxTokenCount; + + /** + * A list of tokens that the model should stop generating after. + */ + private @JsonProperty("stopSequences") List stopSequences; + // @formatter:on + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + + private BedrockTitanChatOptions options = new BedrockTitanChatOptions(); + + public Builder withTemperature(Float temperature) { + this.options.temperature = temperature; + return this; + } + + public Builder withTopP(Float topP) { + this.options.topP = topP; + return this; + } + + public Builder withMaxTokenCount(Integer maxTokenCount) { + this.options.maxTokenCount = maxTokenCount; + return this; + } + + public Builder withStopSequences(List stopSequences) { + this.options.stopSequences = stopSequences; + return this; + } + + public BedrockTitanChatOptions build() { + return this.options; + } + + } + + public Float getTemperature() { + return temperature; + } + + public void setTemperature(Float temperature) { + this.temperature = temperature; + } + + public Float getTopP() { + return topP; + } + + public void setTopP(Float topP) { + this.topP = topP; + } + + public Integer getMaxTokenCount() { + return maxTokenCount; + } + + public void setMaxTokenCount(Integer maxTokenCount) { + this.maxTokenCount = maxTokenCount; + } + + public List getStopSequences() { + return stopSequences; + } + + public void setStopSequences(List stopSequences) { + this.stopSequences = stopSequences; + } + + @Override + public Integer getTopK() { + throw new UnsupportedOperationException("Bedrock Titian Chat does not support the 'TopK' option."); + } + + @Override + public void setTopK(Integer topK) { + throw new UnsupportedOperationException("Bedrock Titian Chat does not support the 'TopK' option.'"); + } + +} diff --git a/models/spring-ai-bedrock/src/test/java/org/springframework/ai/bedrock/titan/BedrockTitanChatCreateRequestTests.java b/models/spring-ai-bedrock/src/test/java/org/springframework/ai/bedrock/titan/BedrockTitanChatCreateRequestTests.java new file mode 100644 index 000000000..b154f5b18 --- /dev/null +++ b/models/spring-ai-bedrock/src/test/java/org/springframework/ai/bedrock/titan/BedrockTitanChatCreateRequestTests.java @@ -0,0 +1,76 @@ +/* + * Copyright 2024-2024 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.ai.bedrock.titan; + +import java.util.List; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Test; +import software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider; +import software.amazon.awssdk.regions.Region; + +import org.springframework.ai.bedrock.titan.api.TitanChatBedrockApi; +import org.springframework.ai.bedrock.titan.api.TitanChatBedrockApi.TitanChatModel; +import org.springframework.ai.chat.prompt.Prompt; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * @author Christian Tzolov + */ +public class BedrockTitanChatCreateRequestTests { + + private TitanChatBedrockApi api = new TitanChatBedrockApi(TitanChatModel.TITAN_TEXT_EXPRESS_V1.id(), + EnvironmentVariableCredentialsProvider.create(), Region.US_EAST_1.id(), new ObjectMapper()); + + @Test + public void createRequestWithChatOptions() { + + var client = new BedrockTitanChatClient(api, + BedrockTitanChatOptions.builder() + .withTemperature(66.6f) + .withTopP(0.66f) + .withMaxTokenCount(666) + .withStopSequences(List.of("stop1", "stop2")) + .build()); + + var request = client.createRequest(new Prompt("Test message content")); + + assertThat(request.inputText()).isNotEmpty(); + assertThat(request.textGenerationConfig().temperature()).isEqualTo(66.6f); + assertThat(request.textGenerationConfig().topP()).isEqualTo(0.66f); + assertThat(request.textGenerationConfig().maxTokenCount()).isEqualTo(666); + assertThat(request.textGenerationConfig().stopSequences()).containsExactly("stop1", "stop2"); + + request = client.createRequest(new Prompt("Test message content", + BedrockTitanChatOptions.builder() + .withTemperature(99.9f) + .withTopP(0.99f) + .withMaxTokenCount(999) + .withStopSequences(List.of("stop3", "stop4")) + .build() + + )); + + assertThat(request.inputText()).isNotEmpty(); + assertThat(request.textGenerationConfig().temperature()).isEqualTo(99.9f); + assertThat(request.textGenerationConfig().topP()).isEqualTo(0.99f); + assertThat(request.textGenerationConfig().maxTokenCount()).isEqualTo(999); + assertThat(request.textGenerationConfig().stopSequences()).containsExactly("stop3", "stop4"); + } + +} diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/images/bedrock/bedrock-titan-chat-low-level-api.jpg b/spring-ai-docs/src/main/antora/modules/ROOT/images/bedrock/bedrock-titan-chat-low-level-api.jpg new file mode 100644 index 0000000000000000000000000000000000000000..20a111086e5d1b185da91338bc268ed20084bdc6 GIT binary patch literal 243012 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 z%0D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 + org.springframework.ai + spring-ai-bedrock-ai-spring-boot-starter + 0.8.0-SNAPSHOT + +---- + +or to your Gradle `build.gradle` build file. + +[source,gradle] +---- +dependencies { + implementation 'org.springframework.ai:spring-ai-bedrock-ai-spring-boot-starter:0.8.0-SNAPSHOT' +} +---- + +=== Enable Titan Chat + +By default the Titan model is disabled. +To enable it set the `spring.ai.bedrock.titan.chat.enabled` property to `true`. +Exporting environment variable is one way to set this configuration property: + +[source,shell] +---- +export SPRING_AI_BEDROCK_TITAN_CHAT_ENABLED=true +---- + +=== Chat Properties + +The prefix `spring.ai.bedrock.aws` is the property prefix to configure the connection to AWS Bedrock. + +[cols="3,4,1"] +|==== +| Property | Description | Default + +| spring.ai.bedrock.aws.region | AWS region to use. | us-east-1 +| spring.ai.bedrock.aws.access-key | AWS access key. | - +| spring.ai.bedrock.aws.secret-key | AWS secret key. | - +|==== + +The prefix `spring.ai.bedrock.titan.chat` is the property prefix that configures the chat client implementation for Titan. + +[cols="3,4,1"] +|==== +| Property | Description | Default + +| spring.ai.bedrock.titan.chat.enable | Enable Bedrock Titan chat client. Disabled by default | false +| spring.ai.bedrock.titan.chat.model | The model id to use. See the link:https://github.com/spring-projects/spring-ai/blob/4839a6175cd1ec89498b97d3efb6647022c3c7cb/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanChatBedrockApi.java#L220[TitanChatBedrockApi#TitanChatModel] for the supported models. | amazon.titan-text-lite-v1 +| spring.ai.bedrock.titan.chat.options.temperature | Controls the randomness of the output. Values can range over [0.0,1.0] | 0.7 +| spring.ai.bedrock.titan.chat.options.topP | The maximum cumulative probability of tokens to consider when sampling. | AWS Bedrock default +| spring.ai.bedrock.titan.chat.options.stopSequences | Configure up to four sequences that the generative recognizes. After a stop sequence, the generative stops generating further tokens. The returned text doesn't contain the stop sequence. | AWS Bedrock default +| spring.ai.bedrock.titan.chat.options.maxTokenCount | Specify the maximum number of tokens to use in the generated response. Note that the models may stop before reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate. We recommend a limit of 4,000 tokens for optimal performance. | AWS Bedrock default +|==== + +Look at the https://github.com/spring-projects/spring-ai/blob/4839a6175cd1ec89498b97d3efb6647022c3c7cb/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanChatBedrockApi.java#L220[TitanChatBedrockApi#TitanChatModel] for other model IDs. +Supported values are: `amazon.titan-text-lite-v1` and `amazon.titan-text-express-v1`. +Model ID values can also be found in the https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids-arns.html[AWS Bedrock documentation for base model IDs]. + +TIP: All properties prefixed with `spring.ai.bedrock.titan.chat.options` can be overridden at runtime by adding a request specific <> to the `Prompt` call. + +=== Chat Options [[chat-options]] + +The https://github.com/spring-projects/spring-ai/blob/main/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatOptions.java[BedrockTitanChatOptions.java] provides model configurations, such as temperature, topP, etc. + +On start-up, the default options can be configured with the `BedrockTitanChatClient(api, options)` constructor or the `spring.ai.bedrock.titan.chat.options.*` properties. + +At run-time you can override the default options by adding new, request specific, options to the `Prompt` call. +For example to override the default temperature for a specific request: + +[source,java] +---- +ChatResponse response = chatClient.call( + new Prompt( + "Generate the names of 5 famous pirates.", + BedrockTitanChatOptions.builder() + .withTemperature(0.4) + .build() + )); +---- + +TIP: In addition to the model specific https://github.com/spring-projects/spring-ai/blob/main/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatOptions.java[BedrockTitanChatOptions] you can use a portable https://github.com/spring-projects/spring-ai/blob/main/spring-ai-core/src/main/java/org/springframework/ai/chat/ChatOptions.java[ChatOptions] instance, created with the https://github.com/spring-projects/spring-ai/blob/main/spring-ai-core/src/main/java/org/springframework/ai/chat/ChatOptionsBuilder.java[ChatOptionsBuilder#builder()]. + +=== Sample Controller (Auto-configuration) + +https://start.spring.io/[Create] a new Spring Boot project and add the `spring-ai-bedrock-ai-spring-boot-starter` to your pom (or gradle) dependencies. + +Add a `application.properties` file, under the `src/main/resources` directory, to enable and configure the Titan Chat client: + +[source] +---- +spring.ai.bedrock.aws.region=eu-central-1 +spring.ai.bedrock.aws.access-key=${AWS_ACCESS_KEY_ID} +spring.ai.bedrock.aws.secret-key=${AWS_SECRET_ACCESS_KEY} + +spring.ai.bedrock.titan.chat.enabled=true +spring.ai.bedrock.titan.chat.options.temperature=0.8 +---- + +TIP: replace the `regions`, `access-key` and `secret-key` with your AWS credentials. + +This will create a `BedrockTitanChatClient` implementation that you can inject into your class. +Here is an example of a simple `@Controller` class that uses the chat client for text generations. + +[source,java] +---- +@RestController +public class ChatController { + + private final BedrockTitanChatClient chatClient; + + @Autowired + public ChatController(BedrockTitanChatClient chatClient) { + this.chatClient = chatClient; + } + + @GetMapping("/ai/generate") + public Map generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) { + return Map.of("generation", chatClient.call(message)); + } + + @GetMapping("/open-ai/generateStream") + public Flux generateStream(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) { + Prompt prompt = new Prompt(new UserMessage(message)); + return chatClient.stream(prompt); + } +} +---- + +== Manual Configuration + +The https://github.com/spring-projects/spring-ai/blob/main/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatClient.java[BedrockTitanChatClient] implements the `ChatClient` and `StreamingChatClient` and uses the <> to connect to the Bedrock Titanic service. + +Add the `spring-ai-bedrock` dependency to your project's Maven `pom.xml` file: + +[source,xml] +---- + + org.springframework.ai + spring-ai-bedrock + 0.8.0-SNAPSHOT + +---- + +or to your Gradle `build.gradle` build file. + +[source,gradle] +---- +dependencies { + implementation 'org.springframework.ai:spring-ai-bedrock:0.8.0-SNAPSHOT' +} +---- + +TIP: Refer to the xref:getting-started.adoc#_dependency_management[Dependency Management] section to add Milestone and/or Snapshot Repositories to your build file. + +Next, create an https://github.com/spring-projects/spring-ai/blob/main/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatClient.java[BedrockTitanChatClient] and use it for text generations: + +[source,java] +---- +TitanChatBedrockApi titanApi = new TitanChatBedrockApi( + TitanChatModel.TITAN_TEXT_EXPRESS_V1.id(), + EnvironmentVariableCredentialsProvider.create(), + Region.US_EAST_1.id(), new ObjectMapper()); + +BedrockTitanChatClient chatClient = new BedrockTitanChatClient(titanApi, + BedrockTitanChatOptions.builder() + .withTemperature(0.6f) + .withTopP(0.8f) + .withMaxTokenCount(100) + .build()); + +ChatResponse response = chatClient.call( + new Prompt("Generate the names of 5 famous pirates.")); + +// Or with streaming responses +Flux response = chatClient.stream( + new Prompt("Generate the names of 5 famous pirates.")); +---- + +=== Low-level TitanChatBedrockApi Client [[low-level-api]] + +The https://github.com/spring-projects/spring-ai/blob/main/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanChatBedrockApi.java[TitanChatBedrockApi] provides is lightweight Java client on top of AWS Bedrock link:https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-titan-text.html[Bedrock Titan models]. + +Following class diagram illustrates the TitanChatBedrockApi interface and building blocks: + +image::bedrock/bedrock-titan-chat-low-level-api.jpg[width=800,align="center"] + +Client supports the `amazon.titan-text-lite-v1` and `amazon.titan-text-express-v1` models for both synchronous (e.g. `chatCompletion()`) and streaming (e.g. `chatCompletionStream()`) responses. + +Here is a simple snippet how to use the api programmatically: + +[source,java] +---- +TitanChatBedrockApi titanBedrockApi = new TitanChatBedrockApi(TitanChatCompletionModel.TITAN_TEXT_EXPRESS_V1.id(), + Region.EU_CENTRAL_1.id()); + +TitanChatRequest titanChatRequest = TitanChatRequest.builder("Give me the names of 3 famous pirates?") + .withTemperature(0.5f) + .withTopP(0.9f) + .withMaxTokenCount(100) + .withStopSequences(List.of("|")) + .build(); + +TitanChatResponse response = titanBedrockApi.chatCompletion(titanChatRequest); + +Flux response = titanBedrockApi.chatCompletionStream(titanChatRequest); + +List results = response.collectList().block(); +---- + +Follow the https://github.com/spring-projects/spring-ai/blob/main/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanChatBedrockApi.java[TitanChatBedrockApi]'s JavaDoc for further information. diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatAutoConfiguration.java index 6a3f96157..539d87a88 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 the original author or authors. + * Copyright 2023-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,10 +59,7 @@ public class BedrockTitanChatAutoConfiguration { public BedrockTitanChatClient titanChatClient(TitanChatBedrockApi titanChatApi, BedrockTitanChatProperties properties) { - return new BedrockTitanChatClient(titanChatApi).withTemperature(properties.getTemperature()) - .withTopP(properties.getTopP()) - .withMaxTokenCount(properties.getMaxTokenCount()) - .withStopSequences(properties.getStopSequences()); + return new BedrockTitanChatClient(titanChatApi, properties.getOptions()); } } diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatProperties.java index 60d2ce712..61fb2d0a1 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 the original author or authors. + * Copyright 2023-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,10 +16,10 @@ package org.springframework.ai.autoconfigure.bedrock.titan; -import java.util.List; - +import org.springframework.ai.bedrock.titan.BedrockTitanChatOptions; import org.springframework.ai.bedrock.titan.api.TitanChatBedrockApi.TitanChatModel; import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; /** * Bedrock Titan Chat autoconfiguration properties. @@ -42,30 +42,8 @@ public class BedrockTitanChatProperties { */ private String model = TitanChatModel.TITAN_TEXT_EXPRESS_V1.id(); - /** - * (optional) Use a lower value to decrease randomness in the response. Defaults to - * 0.7. - */ - private Float temperature = 0.7f; - - /** - * (optional) The maximum cumulative probability of tokens to consider when sampling. - * The generative uses combined Top-k and nucleus sampling. Nucleus sampling considers - * the smallest set of tokens whose probability sum is at least topP. - */ - private Float topP; - - /** - * (optional) Specify the maximum number of tokens to use in the generated response. - */ - private Integer maxTokenCount; - - /** - * (optional) Configure up to four sequences that the generative recognizes. After a - * stop sequence, the generative stops generating further tokens. The returned text - * doesn't contain the stop sequence. - */ - private List stopSequences; + @NestedConfigurationProperty + private BedrockTitanChatOptions options = BedrockTitanChatOptions.builder().withTemperature(0.7f).build(); public boolean isEnabled() { return enabled; @@ -83,36 +61,12 @@ public class BedrockTitanChatProperties { this.model = model; } - public Float getTemperature() { - return temperature; + public BedrockTitanChatOptions getOptions() { + return options; } - public void setTemperature(Float temperature) { - this.temperature = temperature; - } - - public Float getTopP() { - return topP; - } - - public void setTopP(Float topP) { - this.topP = topP; - } - - public Integer getMaxTokenCount() { - return maxTokenCount; - } - - public void setMaxTokenCount(Integer maxTokens) { - this.maxTokenCount = maxTokens; - } - - public List getStopSequences() { - return stopSequences; - } - - public void setStopSequences(List stopSequences) { - this.stopSequences = stopSequences; + public void setOptions(BedrockTitanChatOptions options) { + this.options = options; } } diff --git a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatAutoConfigurationIT.java b/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatAutoConfigurationIT.java index 20ac6cdfb..85a71ec5c 100644 --- a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatAutoConfigurationIT.java +++ b/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/bedrock/titan/BedrockTitanChatAutoConfigurationIT.java @@ -54,7 +54,8 @@ public class BedrockTitanChatAutoConfigurationIT { "spring.ai.bedrock.aws.secret-key=" + System.getenv("AWS_SECRET_ACCESS_KEY"), "spring.ai.bedrock.aws.region=" + Region.US_EAST_1.id(), "spring.ai.bedrock.titan.chat.model=" + TitanChatModel.TITAN_TEXT_EXPRESS_V1.id(), - "spring.ai.bedrock.titan.chat.temperature=0.5", "spring.ai.bedrock.titan.chat.maxTokens=500") + "spring.ai.bedrock.titan.chat.options.temperature=0.5", + "spring.ai.bedrock.titan.chat.options.maxTokenCount=500") .withConfiguration(AutoConfigurations.of(BedrockTitanChatAutoConfiguration.class)); private final Message systemMessage = new SystemPromptTemplate(""" @@ -106,9 +107,10 @@ public class BedrockTitanChatAutoConfigurationIT { "spring.ai.bedrock.aws.access-key=ACCESS_KEY", "spring.ai.bedrock.aws.secret-key=SECRET_KEY", "spring.ai.bedrock.titan.chat.model=MODEL_XYZ", "spring.ai.bedrock.aws.region=" + Region.EU_CENTRAL_1.id(), - "spring.ai.bedrock.titan.chat.temperature=0.55", "spring.ai.bedrock.titan.chat.topP=0.55", - "spring.ai.bedrock.titan.chat.stopSequences=END1,END2", - "spring.ai.bedrock.titan.chat.maxTokenCount=123") + "spring.ai.bedrock.titan.chat.options.temperature=0.55", + "spring.ai.bedrock.titan.chat.options.topP=0.55", + "spring.ai.bedrock.titan.chat.options.stopSequences=END1,END2", + "spring.ai.bedrock.titan.chat.options.maxTokenCount=123") .withConfiguration(AutoConfigurations.of(BedrockTitanChatAutoConfiguration.class)) .run(context -> { var chatProperties = context.getBean(BedrockTitanChatProperties.class); @@ -118,11 +120,11 @@ public class BedrockTitanChatAutoConfigurationIT { assertThat(aswProperties.getRegion()).isEqualTo(Region.EU_CENTRAL_1.id()); assertThat(chatProperties.getModel()).isEqualTo("MODEL_XYZ"); - assertThat(chatProperties.getTemperature()).isEqualTo(0.55f); - assertThat(chatProperties.getTopP()).isEqualTo(0.55f); + assertThat(chatProperties.getOptions().getTemperature()).isEqualTo(0.55f); + assertThat(chatProperties.getOptions().getTopP()).isEqualTo(0.55f); - assertThat(chatProperties.getStopSequences()).isEqualTo(List.of("END1", "END2")); - assertThat(chatProperties.getMaxTokenCount()).isEqualTo(123); + assertThat(chatProperties.getOptions().getStopSequences()).isEqualTo(List.of("END1", "END2")); + assertThat(chatProperties.getOptions().getMaxTokenCount()).isEqualTo(123); assertThat(aswProperties.getAccessKey()).isEqualTo("ACCESS_KEY"); assertThat(aswProperties.getSecretKey()).isEqualTo("SECRET_KEY");