From 0ca91b2ed999e3db361f8291a363626a9ef8c915 Mon Sep 17 00:00:00 2001 From: Christian Tzolov Date: Sat, 16 Nov 2024 11:06:14 +0100 Subject: [PATCH] fix: Resolve various javadoc and checkstyle issues --- .../reader/pdf/aot/PdfReaderRuntimeHints.java | 3 +- .../reader/pdf/config/ParagraphManager.java | 1 + .../pdf/layout/ForkPDFLayoutTextStripper.java | 1 - .../ai/anthropic/api/AnthropicApi.java | 221 +++++++++++++++++- .../AzureOpenAiAudioTranscriptionOptions.java | 4 + .../openai/aot/AzureOpenAiRuntimeHints.java | 2 + .../anthropic/AnthropicChatOptions.java | 2 + .../api/AnthropicChatBedrockApi.java | 3 + .../anthropic3/Anthropic3ChatOptions.java | 119 ++++++++++ .../api/Anthropic3ChatBedrockApi.java | 72 +++++- .../ai/bedrock/api/AbstractBedrockApi.java | 5 + .../cohere/BedrockCohereChatModel.java | 2 + .../cohere/BedrockCohereChatOptions.java | 2 + .../cohere/BedrockCohereEmbeddingOptions.java | 2 + .../cohere/api/CohereChatBedrockApi.java | 4 +- .../cohere/api/CohereEmbeddingBedrockApi.java | 1 + .../BedrockAi21Jurassic2ChatOptions.java | 7 + .../api/Ai21Jurassic2ChatBedrockApi.java | 63 ++++- .../llama/BedrockLlamaChatOptions.java | 2 + .../llama/api/LlamaChatBedrockApi.java | 1 + .../bedrock/titan/BedrockTitanChatModel.java | 3 + .../titan/BedrockTitanChatOptions.java | 2 + .../titan/BedrockTitanEmbeddingOptions.java | 2 + .../titan/api/TitanChatBedrockApi.java | 1 + .../titan/api/TitanEmbeddingBedrockApi.java | 1 + .../ai/minimax/api/MiniMaxApi.java | 4 + .../ai/mistralai/MistralAiChatOptions.java | 2 + .../mistralai/MistralAiEmbeddingOptions.java | 2 + .../ai/mistralai/api/MistralAiApi.java | 18 +- .../ai/moonshot/MoonshotChatModel.java | 2 + .../ai/moonshot/MoonshotChatOptions.java | 2 + .../ai/moonshot/api/MoonshotApi.java | 4 + .../ai/moonshot/api/MoonshotConstants.java | 2 + .../ai/moonshot/metadata/MoonshotUsage.java | 2 + .../ai/ollama/api/OllamaApi.java | 4 + .../management/ModelManagementOptions.java | 4 + .../ai/ollama/management/package-info.java | 3 + .../OpenAiAudioTranscriptionOptions.java | 2 + .../ai/openai/OpenAiChatOptions.java | 2 + .../ai/openai/OpenAiEmbeddingOptions.java | 2 + .../ai/openai/api/OpenAiApi.java | 10 + .../PostgresMlEmbeddingOptions.java | 2 + .../ai/qianfan/api/QianFanApi.java | 11 + .../qianfan/api/auth/AccessTokenResponse.java | 8 + .../text/VertexAiTextEmbeddingOptions.java | 2 + .../gemini/VertexAiGeminiChatModel.java | 2 + .../gemini/VertexAiGeminiChatOptions.java | 2 + .../common/VertexAiGeminiConstants.java | 2 + .../gemini/metadata/VertexAiUsage.java | 2 + .../ai/watsonx/api/WatsonxAiChatResponse.java | 4 + .../ai/watsonx/api/WatsonxAiChatResults.java | 4 + .../api/WatsonxAiEmbeddingResponse.java | 4 + .../api/WatsonxAiEmbeddingResults.java | 1 + .../ai/zhipuai/api/ZhiPuAiApi.java | 9 +- .../AudioTranscriptionMetadata.java | 2 + .../AudioTranscriptionOptions.java | 2 + .../AudioTranscriptionResponse.java | 2 + .../AudioTranscriptionResponseMetadata.java | 2 + .../advisor/AbstractChatMemoryAdvisor.java | 116 ++++++++- .../client/advisor/api/AdvisedRequest.java | 77 ++++++ .../client/advisor/api/AdvisedResponse.java | 38 +++ .../ai/chat/client/advisor/api/Advisor.java | 1 + .../client/advisor/api/CallAroundAdvisor.java | 2 + .../advisor/api/StreamAroundAdvisor.java | 2 + .../chat/client/advisor/api/package-info.java | 4 +- .../AdvisorObservationContext.java | 110 ++++++++- .../AdvisorObservationDocumentation.java | 8 + .../DefaultAdvisorObservationConvention.java | 2 + .../advisor/observation/package-info.java | 4 +- .../ai/chat/client/advisor/package-info.java | 3 + .../chat/client/observation/package-info.java | 4 +- .../ai/chat/client/package-info.java | 4 +- .../ai/chat/messages/AbstractMessage.java | 34 +++ .../ai/chat/messages/Message.java | 4 + .../ai/chat/observation/package-info.java | 3 + .../ai/chat/prompt/ChatOptions.java | 36 +++ ...tractConversionServiceOutputConverter.java | 9 + .../AbstractMessageOutputConverter.java | 8 + .../ai/converter/FormatProvider.java | 1 + .../ai/document/DefaultContentFormatter.java | 2 + .../ai/document/DocumentWriter.java | 2 + .../ai/embedding/AbstractEmbeddingModel.java | 9 + .../ai/embedding/EmbeddingModel.java | 7 +- .../ai/embedding/EmbeddingOptions.java | 2 + .../ai/embedding/EmbeddingOptionsBuilder.java | 2 + .../ai/embedding/EmbeddingRequest.java | 2 + .../ai/embedding/EmbeddingResultMetadata.java | 2 + .../embedding/observation/package-info.java | 4 +- .../ai/image/observation/package-info.java | 3 + .../org/springframework/ai/model/Content.java | 4 +- .../ai/model/EmbeddingModelDescription.java | 2 + .../ai/model/EmbeddingUtils.java | 2 + .../ai/model/ModelDescription.java | 12 + .../DefaultFunctionCallbackBuilder.java | 2 + .../ai/model/function/FunctionCallback.java | 7 +- .../function/FunctionCallbackWrapper.java | 7 + .../model/function/FunctionCallingHelper.java | 4 + .../function/FunctionCallingOptions.java | 3 + .../FunctionInvokingFunctionCallback.java | 4 +- .../ErrorLoggingObservationHandler.java | 2 + .../ai/model/observation/package-info.java | 3 + .../ai/observation/AiOperationMetadata.java | 26 +++ .../conventions/AiObservationAttributes.java | 4 + .../conventions/AiObservationEventNames.java | 11 + .../AiObservationMetricAttributes.java | 4 + .../conventions/AiObservationMetricNames.java | 13 +- .../conventions/AiOperationType.java | 23 ++ .../observation/conventions/AiProvider.java | 79 ++++++- .../observation/conventions/AiTokenType.java | 13 ++ .../observation/conventions/SpringAiKind.java | 15 ++ .../VectorStoreObservationAttributes.java | 4 + .../VectorStoreObservationEventNames.java | 7 + .../conventions/VectorStoreProvider.java | 79 +++++++ .../observation/conventions/package-info.java | 3 + .../ai/observation/package-info.java | 4 +- .../org/springframework/ai/rag/Query.java | 1 + .../springframework/ai/reader/TextReader.java | 2 + .../splitter/TokenTextSplitter.java | 2 + .../filter/FilterExpressionConverter.java | 5 + .../AbstractFilterExpressionConverter.java | 75 ++++++ .../AbstractObservationVectorStore.java | 11 + .../VectorStoreObservationConvention.java | 2 + .../vectorstore/observation/package-info.java | 3 + .../anthropic/AnthropicAutoConfiguration.java | 2 + ...ureOpenAiAudioTranscriptionProperties.java | 2 + .../openai/AzureOpenAiAutoConfiguration.java | 2 + .../BedrockAwsConnectionConfiguration.java | 2 + .../memory/CommonChatMemoryProperties.java | 2 + .../CassandraChatMemoryAutoConfiguration.java | 2 + .../CassandraChatMemoryProperties.java | 2 + .../chat/observation/package-info.java | 3 + .../embedding/observation/package-info.java | 3 + .../HuggingfaceChatProperties.java | 2 + .../image/observation/package-info.java | 3 + .../minimax/MiniMaxAutoConfiguration.java | 2 + .../minimax/MiniMaxChatProperties.java | 2 + .../minimax/MiniMaxEmbeddingProperties.java | 2 + .../mistralai/MistralAiAutoConfiguration.java | 2 + .../mistralai/MistralAiChatProperties.java | 2 + .../mistralai/MistralAiCommonProperties.java | 2 + .../MistralAiEmbeddingProperties.java | 2 + .../mistralai/MistralAiParentProperties.java | 2 + .../moonshot/MoonshotAutoConfiguration.java | 2 + .../moonshot/MoonshotChatProperties.java | 2 + .../moonshot/MoonshotCommonProperties.java | 2 + .../moonshot/MoonshotParentProperties.java | 2 + .../genai/OCICohereChatModelProperties.java | 2 + .../oci/genai/OCIConnectionProperties.java | 2 + .../genai/OCIEmbeddingModelProperties.java | 2 + .../oci/genai/OCIGenAiAutoConfiguration.java | 3 + .../autoconfigure/oci/genai/ServingMode.java | 2 + .../ollama/OllamaConnectionDetails.java | 2 + .../openai/OpenAiAutoConfiguration.java | 2 + .../qianfan/QianFanAutoConfiguration.java | 3 + .../qianfan/QianFanChatProperties.java | 2 + .../qianfan/QianFanEmbeddingProperties.java | 2 + .../retry/SpringAiRetryAutoConfiguration.java | 2 + .../retry/SpringAiRetryProperties.java | 2 + .../StabilityAiImageAutoConfiguration.java | 2 + .../StabilityAiImageProperties.java | 2 + ...ormersEmbeddingModelAutoConfiguration.java | 2 + .../TransformersEmbeddingModelProperties.java | 2 + .../CommonVectorStoreProperties.java | 2 + .../AzureVectorStoreAutoConfiguration.java | 2 + .../azure/AzureVectorStoreProperties.java | 2 + ...CassandraVectorStoreAutoConfiguration.java | 2 + .../CassandraVectorStoreProperties.java | 2 + .../chroma/ChromaApiProperties.java | 2 + .../chroma/ChromaConnectionDetails.java | 2 + .../ChromaVectorStoreAutoConfiguration.java | 2 + .../chroma/ChromaVectorStoreProperties.java | 2 + .../CosmosDBVectorStoreAutoConfiguration.java | 2 + .../CosmosDBVectorStoreProperties.java | 2 + ...ticsearchVectorStoreAutoConfiguration.java | 2 + .../ElasticsearchVectorStoreProperties.java | 2 + .../gemfire/GemFireConnectionDetails.java | 2 + .../GemFireVectorStoreAutoConfiguration.java | 2 + .../gemfire/GemFireVectorStoreProperties.java | 2 + ...HanaCloudVectorStoreAutoConfiguration.java | 2 + .../HanaCloudVectorStoreProperties.java | 2 + .../MilvusServiceClientConnectionDetails.java | 2 + .../MilvusVectorStoreAutoConfiguration.java | 2 + .../milvus/MilvusVectorStoreProperties.java | 2 + ...goDBAtlasVectorStoreAutoConfiguration.java | 2 + .../MongoDBAtlasVectorStoreProperties.java | 2 + .../Neo4jVectorStoreAutoConfiguration.java | 2 + .../neo4j/Neo4jVectorStoreProperties.java | 2 + .../vectorstore/observation/package-info.java | 3 + .../OracleVectorStoreAutoConfiguration.java | 2 + .../oracle/OracleVectorStoreProperties.java | 2 + .../PgVectorStoreAutoConfiguration.java | 2 + .../pgvector/PgVectorStoreProperties.java | 2 + .../PineconeVectorStoreAutoConfiguration.java | 2 + .../PineconeVectorStoreProperties.java | 2 + .../qdrant/QdrantConnectionDetails.java | 2 + .../QdrantVectorStoreAutoConfiguration.java | 2 + .../qdrant/QdrantVectorStoreProperties.java | 2 + .../RedisVectorStoreAutoConfiguration.java | 2 + .../redis/RedisVectorStoreProperties.java | 2 + .../typesense/TypesenseConnectionDetails.java | 2 + .../TypesenseServiceClientProperties.java | 2 + ...TypesenseVectorStoreAutoConfiguration.java | 2 + .../TypesenseVectorStoreProperties.java | 2 + .../WeaviateVectorStoreAutoConfiguration.java | 2 + .../WeaviateVectorStoreProperties.java | 2 + .../zhipuai/ZhiPuAiAutoConfiguration.java | 2 + .../zhipuai/ZhiPuAiChatProperties.java | 2 + .../zhipuai/ZhiPuAiEmbeddingProperties.java | 2 + .../zhipuai/ZhiPuAiImageProperties.java | 2 + ...DockerComposeConnectionDetailsFactory.java | 2 + .../ai/vectorstore/CosmosDBVectorStore.java | 2 + .../CosmosDBVectorStoreConfig.java | 2 + .../ai/cassandra/SchemaUtil.java | 2 + .../memory/CassandraChatMemoryConfig.java | 2 + .../springframework/ai/chroma/ChromaApi.java | 6 + .../ai/vectorstore/MilvusVectorStore.java | 3 + .../vectorstore/MongoDBAtlasVectorStore.java | 2 + .../ai/vectorstore/Neo4jVectorStore.java | 2 + ...archAiSearchFilterExpressionConverter.java | 2 + .../ai/vectorstore/OpenSearchVectorStore.java | 2 + .../SqlJsonPathFilterExpressionConverter.java | 2 + .../vectorstore/PgVectorSchemaValidator.java | 2 + .../ai/vectorstore/TypesenseVectorStore.java | 2 + 223 files changed, 1750 insertions(+), 56 deletions(-) diff --git a/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/aot/PdfReaderRuntimeHints.java b/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/aot/PdfReaderRuntimeHints.java index 4409a8af1..0b0bb2832 100644 --- a/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/aot/PdfReaderRuntimeHints.java +++ b/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/aot/PdfReaderRuntimeHints.java @@ -22,6 +22,7 @@ import java.util.Set; import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.RuntimeHintsRegistrar; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.lang.NonNull; /** * The PdfReaderRuntimeHints class is responsible for registering runtime hints for PDFBox @@ -34,7 +35,7 @@ import org.springframework.core.io.support.PathMatchingResourcePatternResolver; public class PdfReaderRuntimeHints implements RuntimeHintsRegistrar { @Override - public void registerHints(RuntimeHints hints, ClassLoader classLoader) { + public void registerHints(@NonNull RuntimeHints hints, ClassLoader classLoader) { try { var resolver = new PathMatchingResourcePatternResolver(); diff --git a/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/config/ParagraphManager.java b/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/config/ParagraphManager.java index 555b23fa0..b5065afa0 100644 --- a/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/config/ParagraphManager.java +++ b/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/config/ParagraphManager.java @@ -184,6 +184,7 @@ public class ParagraphManager { * @param level The TOC deepness level for this paragraph. The root is at level 0. * @param startPageNumber The page number in the PDF where this paragraph begins. * @param endPageNumber The page number in the PDF where this paragraph ends. + * @param position The vertical position of the paragraph on the page. * @param children Sub-paragraphs for this paragraph. */ public record Paragraph(Paragraph parent, String title, int level, int startPageNumber, int endPageNumber, diff --git a/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/ForkPDFLayoutTextStripper.java b/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/ForkPDFLayoutTextStripper.java index abb32e140..25903d880 100644 --- a/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/ForkPDFLayoutTextStripper.java +++ b/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/ForkPDFLayoutTextStripper.java @@ -100,7 +100,6 @@ public class ForkPDFLayoutTextStripper extends PDFTextStripper { * In order to get rid of the warning: TextPositionComparator class should implement * Comparator instead of Comparator */ - @SuppressWarnings("unchecked") private void sortTextPositionList(final List textList) { TextPositionComparator comparator = new TextPositionComparator(); Collections.sort(textList, comparator); diff --git a/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/api/AnthropicApi.java b/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/api/AnthropicApi.java index fb51c348e..665e0879f 100644 --- a/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/api/AnthropicApi.java +++ b/models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/api/AnthropicApi.java @@ -48,6 +48,8 @@ import org.springframework.web.client.RestClient; import org.springframework.web.reactive.function.client.WebClient; /** + * The Anthropic API client. + * * @author Christian Tzolov * @author Mariusz Bernacki * @author Thomas Vitale @@ -102,6 +104,7 @@ public class AnthropicApi { * @param baseUrl api base URL. * @param anthropicApiKey Anthropic api Key. * @param restClientBuilder RestClient builder. + * @param webClientBuilder WebClient builder. * @param responseErrorHandler Response error handler. */ public AnthropicApi(String baseUrl, String anthropicApiKey, String anthropicVersion, @@ -115,7 +118,9 @@ public class AnthropicApi { * Create a new client api. * @param baseUrl api base URL. * @param anthropicApiKey Anthropic api Key. + * @param anthropicVersion Anthropic version. * @param restClientBuilder RestClient builder. + * @param webClientBuilder WebClient builder. * @param responseErrorHandler Response error handler. * @param anthropicBetaFeatures Anthropic beta features. */ @@ -220,29 +225,61 @@ public class AnthropicApi { public enum ChatModel implements ChatModelDescription { // @formatter:off + /** + * The claude-3-5-sonnet-20241022 model. + */ CLAUDE_3_5_SONNET("claude-3-5-sonnet-20241022"), + /** + * The CLAUDE_3_OPUS + */ CLAUDE_3_OPUS("claude-3-opus-20240229"), + + /** + * The CLAUDE_3_SONNET + */ CLAUDE_3_SONNET("claude-3-sonnet-20240229"), + + /** + * The CLAUDE_3_HAIKU + */ CLAUDE_3_HAIKU("claude-3-haiku-20240307"), // Legacy models + /** + * The CLAUDE_2_1 + */ CLAUDE_2_1("claude-2.1"), + + /** + * The CLAUDE_2_0 + */ CLAUDE_2("claude-2.0"), + /** + * The CLAUDE_INSTANT_1_2 + */ CLAUDE_INSTANT_1_2("claude-instant-1.2"); // @formatter:on - public final String value; + private final String value; ChatModel(String value) { this.value = value; } + /** + * Get the value of the model. + * @return The value of the model. + */ public String getValue() { return this.value; } + /** + * Get the name of the model. + * @return The name of the model. + */ @Override public String getName() { return this.value; @@ -256,16 +293,21 @@ public class AnthropicApi { public enum Role { // @formatter:off - @JsonProperty("user") - USER, - @JsonProperty("assistant") - ASSISTANT + /** + * The user role. + */ + @JsonProperty("user") USER, + + /** + * The assistant role. + */ + @JsonProperty("assistant") ASSISTANT // @formatter:on } /** - * The evnt type of the streamed chunk. + * The event type of the streamed chunk. */ public enum EventType { @@ -288,37 +330,37 @@ public class AnthropicApi { MESSAGE_STOP, /** - * + * Content block start event. */ @JsonProperty("content_block_start") CONTENT_BLOCK_START, /** - * + * Content block delta event. */ @JsonProperty("content_block_delta") CONTENT_BLOCK_DELTA, /** - * + * A final content block stop event. */ @JsonProperty("content_block_stop") CONTENT_BLOCK_STOP, /** - * + * Error event. */ @JsonProperty("error") ERROR, /** - * + * Ping event. */ @JsonProperty("ping") PING, /** - * Artifically created event to aggregate tool use events. + * Artificially created event to aggregate tool use events. */ TOOL_USE_AGGREATE @@ -345,6 +387,8 @@ public class AnthropicApi { } /** + * Chat completion request object. + * * @param model The model that will complete your prompt. See the list of * models for * additional details and options. @@ -419,6 +463,8 @@ public class AnthropicApi { } /** + * Metadata about the request. + * * @param userId An external identifier for the user who is associated with the * request. This should be a uuid, hash value, or other opaque identifier. * Anthropic may use this id to help detect abuse. Do not include any identifying @@ -570,12 +616,20 @@ public class AnthropicApi { } /** + * The content block of the message. + * * @param type the content type can be "text", "image", "tool_use", "tool_result" or * "text_delta". * @param source The source of the media content. Applicable for "image" types only. * @param text The text of the message. Applicable for "text" types only. * @param index The index of the content block. Applicable only for streaming * responses. + * @param id The id of the tool use. Applicable only for tool_use response. + * @param name The name of the tool use. Applicable only for tool_use response. + * @param input The input of the tool use. Applicable only for tool_use response. + * @param toolUseId The id of the tool use. Applicable only for tool_result response. + * @param content The content of the tool result. Applicable only for tool_result + * response. */ @JsonInclude(Include.NON_NULL) public record ContentBlock( @@ -598,28 +652,61 @@ public class AnthropicApi { ) { // @formatter:on + /** + * Create content block + * @param mediaType The media type of the content. + * @param data The content data. + */ public ContentBlock(String mediaType, String data) { this(new Source(mediaType, data)); } + /** + * Create content block + * @param source The source of the content. + */ public ContentBlock(Source source) { this(Type.IMAGE, source, null, null, null, null, null, null, null); } + /** + * Create content block + * @param text The text of the content. + */ public ContentBlock(String text) { this(Type.TEXT, null, text, null, null, null, null, null, null); } // Tool result + /** + * Create content block + * @param type The type of the content. + * @param toolUseId The id of the tool use. + * @param content The content of the tool result. + */ public ContentBlock(Type type, String toolUseId, String content) { this(type, null, null, null, null, null, null, toolUseId, content); } + /** + * Create content block + * @param type The type of the content. + * @param source The source of the content. + * @param text The text of the content. + * @param index The index of the content block. + */ public ContentBlock(Type type, Source source, String text, Integer index) { this(type, source, text, index, null, null, null, null, null); } // Tool use input JSON delta streaming + /** + * Create content block + * @param type The type of the content. + * @param id The id of the tool use. + * @param name The name of the tool use. + * @param input The input of the tool use. + */ public ContentBlock(Type type, String id, String name, Map input) { this(type, null, null, null, id, name, input, null, null); } @@ -671,6 +758,10 @@ public class AnthropicApi { this.value = value; } + /** + * Get the value of the type. + * @return The value of the type. + */ public String getValue() { return this.value; } @@ -694,6 +785,11 @@ public class AnthropicApi { @JsonProperty("data") String data) { // @formatter:on + /** + * Create source + * @param mediaType The media type of the content. + * @param data The content data. + */ public Source(String mediaType, String data) { this("base64", mediaType, data); } @@ -706,6 +802,13 @@ public class AnthropicApi { /// CONTENT_BLOCK EVENTS /////////////////////////////////////// + /** + * Tool description. + * + * @param name The name of the tool. + * @param description A description of the tool. + * @param inputSchema The input schema of the tool. + */ @JsonInclude(Include.NON_NULL) public record Tool( // @formatter:off @@ -718,6 +821,8 @@ public class AnthropicApi { // CB START EVENT /** + * Chat completion response object. + * * @param id Unique object identifier. The format and length of IDs may change over * time. * @param type Object type. For Messages, this is always "message". @@ -783,10 +888,18 @@ public class AnthropicApi { return EventType.TOOL_USE_AGGREATE; } + /** + * Get tool content blocks. + * @return The tool content blocks. + */ public List getToolContentBlocks() { return this.toolContentBlocks; } + /** + * Check if the event is empty. + * @return True if the event is empty, false otherwise. + */ public boolean isEmpty() { return (this.index == null || this.id == null || this.name == null || !StringUtils.hasText(this.partialJson)); @@ -836,6 +949,12 @@ public class AnthropicApi { // MESSAGE START EVENT + /** + * Content block start event. + * @param type The event type. + * @param index The index of the content block. + * @param contentBlock The content block body. + */ @JsonInclude(Include.NON_NULL) public record ContentBlockStartEvent( // @formatter:off @@ -851,6 +970,13 @@ public class AnthropicApi { String type(); } + /** + * Tool use content block. + * @param type The content block type. + * @param id The tool use id. + * @param name The tool use name. + * @param input The tool use input. + */ @JsonInclude(Include.NON_NULL) public record ContentBlockToolUse( @JsonProperty("type") String type, @@ -859,6 +985,11 @@ public class AnthropicApi { @JsonProperty("input") Map input) implements ContentBlockBody { } + /** + * Text content block. + * @param type The content block type. + * @param text The text content. + */ @JsonInclude(Include.NON_NULL) public record ContentBlockText( @JsonProperty("type") String type, @@ -869,6 +1000,13 @@ public class AnthropicApi { // MESSAGE DELTA EVENT + /** + * Content block delta event. + * + * @param type The event type. + * @param index The index of the content block. + * @param delta The content block delta body. + */ @JsonInclude(Include.NON_NULL) public record ContentBlockDeltaEvent( // @formatter:off @@ -884,12 +1022,22 @@ public class AnthropicApi { String type(); } + /** + * Text content block delta. + * @param type The content block type. + * @param text The text content. + */ @JsonInclude(Include.NON_NULL) public record ContentBlockDeltaText( @JsonProperty("type") String type, @JsonProperty("text") String text) implements ContentBlockDeltaBody { } + /** + * JSON content block delta. + * @param type The content block type. + * @param partialJson The partial JSON content. + */ @JsonInclude(Include.NON_NULL) public record ContentBlockDeltaJson( @JsonProperty("type") String type, @@ -900,6 +1048,12 @@ public class AnthropicApi { // MESSAGE STOP EVENT + /** + * Content block stop event. + * + * @param type The event type. + * @param index The index of the content block. + */ @JsonInclude(Include.NON_NULL) public record ContentBlockStopEvent( // @formatter:off @@ -908,6 +1062,12 @@ public class AnthropicApi { } // @formatter:on + /** + * Message start event. + * + * @param type The event type. + * @param message The message body. + */ @JsonInclude(Include.NON_NULL) public record MessageStartEvent(// @formatter:off @JsonProperty("type") EventType type, @@ -915,6 +1075,13 @@ public class AnthropicApi { } // @formatter:on + /** + * Message delta event. + * + * @param type The event type. + * @param delta The message delta body. + * @param usage The message delta usage. + */ @JsonInclude(Include.NON_NULL) public record MessageDeltaEvent( // @formatter:off @@ -922,12 +1089,21 @@ public class AnthropicApi { @JsonProperty("delta") MessageDelta delta, @JsonProperty("usage") MessageDeltaUsage usage) implements StreamEvent { + /** + * Message delta. + * @param stopReason The stop reason. + * @param stopSequence The stop sequence. + */ @JsonInclude(Include.NON_NULL) public record MessageDelta( @JsonProperty("stop_reason") String stopReason, @JsonProperty("stop_sequence") String stopSequence) { } + /** + * Message delta usage. + * @param outputTokens The output tokens. + */ @JsonInclude(Include.NON_NULL) public record MessageDeltaUsage( @JsonProperty("output_tokens") Integer outputTokens) { @@ -935,6 +1111,11 @@ public class AnthropicApi { } // @formatter:on + /** + * Message stop event. + * + * @param type The event type. + */ @JsonInclude(Include.NON_NULL) public record MessageStopEvent( // @formatter:off @@ -945,12 +1126,23 @@ public class AnthropicApi { /////////////////////////////////////// /// ERROR EVENT /////////////////////////////////////// + /** + * Error event. + * + * @param type The event type. + * @param error The error body. + */ @JsonInclude(Include.NON_NULL) public record ErrorEvent( // @formatter:off @JsonProperty("type") EventType type, @JsonProperty("error") Error error) implements StreamEvent { + /** + * Error body. + * @param type The error type. + * @param message The error message. + */ @JsonInclude(Include.NON_NULL) public record Error( @JsonProperty("type") String type, @@ -962,6 +1154,11 @@ public class AnthropicApi { /////////////////////////////////////// /// PING EVENT /////////////////////////////////////// + /** + * Ping event. + * + * @param type The event type. + */ @JsonInclude(Include.NON_NULL) public record PingEvent( // @formatter:off diff --git a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiAudioTranscriptionOptions.java b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiAudioTranscriptionOptions.java index 2d5f481cf..74a1cf4d4 100644 --- a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiAudioTranscriptionOptions.java +++ b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiAudioTranscriptionOptions.java @@ -28,6 +28,8 @@ import org.springframework.ai.audio.transcription.AudioTranscriptionOptions; import org.springframework.util.Assert; /** + * Options for audio transcription using Azure Open AI. + * * @author Piotr Olaszewski */ @JsonInclude(Include.NON_NULL) @@ -309,6 +311,8 @@ public class AzureOpenAiAudioTranscriptionOptions implements AudioTranscriptionO } /** + * Structured response of the transcribed audio. + * * @param language The language of the transcribed text. * @param duration The duration of the audio in seconds. * @param text The transcribed text. diff --git a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/aot/AzureOpenAiRuntimeHints.java b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/aot/AzureOpenAiRuntimeHints.java index 79662592c..cf5c004af 100644 --- a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/aot/AzureOpenAiRuntimeHints.java +++ b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/aot/AzureOpenAiRuntimeHints.java @@ -29,6 +29,8 @@ import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; /** + * {@link RuntimeHintsRegistrar} for Azure OpenAI. + * * @author Christian Tzolov */ public class AzureOpenAiRuntimeHints implements RuntimeHintsRegistrar { diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic/AnthropicChatOptions.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic/AnthropicChatOptions.java index 5625a55a1..e40b05cdf 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic/AnthropicChatOptions.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic/AnthropicChatOptions.java @@ -26,6 +26,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.springframework.ai.chat.prompt.ChatOptions; /** + * Options for the Anthropic Chat API. + * * @author Christian Tzolov * @author Thomas Vitale */ diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic/api/AnthropicChatBedrockApi.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic/api/AnthropicChatBedrockApi.java index 8c9d33032..461ad457d 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic/api/AnthropicChatBedrockApi.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic/api/AnthropicChatBedrockApi.java @@ -34,6 +34,8 @@ import org.springframework.ai.model.ChatModelDescription; import org.springframework.util.Assert; /** + * Anthropic Chat API. + * * @author Christian Tzolov * @author Thomas Vitale * @author Wei Jiang @@ -260,6 +262,7 @@ public class AnthropicChatBedrockApi extends /** * AnthropicChatResponse encapsulates the response parameters for the Anthropic chat model. * + * @param type The type of the response. * @param completion The generated text. * @param stopReason The reason the model stopped generating text. * @param stop The stop sequence that caused the model to stop generating text. diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic3/Anthropic3ChatOptions.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic3/Anthropic3ChatOptions.java index 86d8ad67b..9df6fa5e2 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic3/Anthropic3ChatOptions.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic3/Anthropic3ChatOptions.java @@ -26,6 +26,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.springframework.ai.chat.prompt.ChatOptions; /** + * Options for the Anthropic 3 chat API. + * * @author Ben Middleton * @author Thomas Vitale * @since 1.0.0 @@ -72,10 +74,23 @@ public class Anthropic3ChatOptions implements ChatOptions { private @JsonProperty("anthropic_version") String anthropicVersion; // @formatter:on + Anthropic3ChatOptions() { + } + + /** + * Create a new {@link Anthropic3ChatOptions}. + * @return a new {@link Anthropic3ChatOptions} + */ public static Builder builder() { return new Builder(); } + /** + * Create a new {@link Anthropic3ChatOptions} from the provided + * {@link Anthropic3ChatOptions}. + * @param fromOptions the options to copy + * @return a new {@link Anthropic3ChatOptions} + */ public static Anthropic3ChatOptions fromOptions(Anthropic3ChatOptions fromOptions) { return builder().withTemperature(fromOptions.getTemperature()) .withMaxTokens(fromOptions.getMaxTokens()) @@ -86,116 +101,220 @@ public class Anthropic3ChatOptions implements ChatOptions { .build(); } + /** + * Get the temperature. + * @return the temperature + */ @Override public Double getTemperature() { return this.temperature; } + /** + * Set the temperature. + * @param temperature the temperature + */ public void setTemperature(Double temperature) { this.temperature = temperature; } + /** + * Get the maximum number of tokens. + * @return the maximum number of tokens + */ @Override public Integer getMaxTokens() { return this.maxTokens; } + /** + * Set the maximum number of tokens. + * @param maxTokens the maximum number of tokens + */ public void setMaxTokens(Integer maxTokens) { this.maxTokens = maxTokens; } + /** + * Get the top k. + * @return the top k + */ @Override public Integer getTopK() { return this.topK; } + /** + * Set the top k. + * @param topK the top k + */ public void setTopK(Integer topK) { this.topK = topK; } + /** + * Get the top p. + * @return the top p + */ @Override public Double getTopP() { return this.topP; } + /** + * Set the top p. + * @param topP the top p + */ public void setTopP(Double topP) { this.topP = topP; } + /** + * Get the stop sequences. + * @return the stop sequences + */ @Override public List getStopSequences() { return this.stopSequences; } + /** + * Set the stop sequences. + * @param stopSequences the stop sequences + */ public void setStopSequences(List stopSequences) { this.stopSequences = stopSequences; } + /** + * Get the version of the generative to use. + * @return the version of the generative to use + */ public String getAnthropicVersion() { return this.anthropicVersion; } + /** + * Set the version of the generative to use. + * @param anthropicVersion the version of the generative to use + */ public void setAnthropicVersion(String anthropicVersion) { this.anthropicVersion = anthropicVersion; } + /** + * Get the model. + * @return the model + */ @Override @JsonIgnore public String getModel() { return null; } + /** + * Get the frequency penalty. + * @return the frequency penalty + */ @Override @JsonIgnore public Double getFrequencyPenalty() { return null; } + /** + * Get the presence penalty. + * @return the presence penalty + */ @Override @JsonIgnore public Double getPresencePenalty() { return null; } + /** + * Get the embedding dimensions. + * @return the embedding dimensions + */ @Override public Anthropic3ChatOptions copy() { return fromOptions(this); } + /** + * Builder for {@link Anthropic3ChatOptions}. + */ public static class Builder { private final Anthropic3ChatOptions options = new Anthropic3ChatOptions(); + private Builder() { + } + + /** + * Set the temperature. + * @param temperature the temperature + * @return this {@link Builder} instance + */ public Builder withTemperature(Double temperature) { this.options.setTemperature(temperature); return this; } + /** + * Set the maximum number of tokens. + * @param maxTokens the maximum number of tokens + * @return this {@link Builder} instance + */ public Builder withMaxTokens(Integer maxTokens) { this.options.setMaxTokens(maxTokens); return this; } + /** + * Set the top k. + * @param topK the top k + * @return this {@link Builder} instance + */ public Builder withTopK(Integer topK) { this.options.setTopK(topK); return this; } + /** + * Set the top p. + * @param topP the top p + * @return this {@link Builder} instance + */ public Builder withTopP(Double topP) { this.options.setTopP(topP); return this; } + /** + * Set the stop sequences. + * @param stopSequences the stop sequences + * @return this {@link Builder} instance + */ public Builder withStopSequences(List stopSequences) { this.options.setStopSequences(stopSequences); return this; } + /** + * Set the version of the generative to use. + * @param anthropicVersion the version of the generative to use + * @return this {@link Builder} instance + */ public Builder withAnthropicVersion(String anthropicVersion) { this.options.setAnthropicVersion(anthropicVersion); return this; } + /** + * Build the {@link Anthropic3ChatOptions}. + * @return the {@link Anthropic3ChatOptions} + */ public Anthropic3ChatOptions build() { return this.options; } diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic3/api/Anthropic3ChatBedrockApi.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic3/api/Anthropic3ChatBedrockApi.java index 39bb8899f..e2ac9d34e 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic3/api/Anthropic3ChatBedrockApi.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic3/api/Anthropic3ChatBedrockApi.java @@ -181,6 +181,7 @@ public class Anthropic3ChatBedrockApi extends } /** + * Get the model id. * @return The model id. */ public String id() { @@ -226,10 +227,18 @@ public class Anthropic3ChatBedrockApi extends @JsonProperty("stop_sequences") List stopSequences, @JsonProperty("anthropic_version") String anthropicVersion) { + /** + * Create a new {@link AnthropicChatRequest} instance. + * @param messages A list of messages comprising the conversation so far. + * @return the {@link AnthropicChatRequest} + */ public static Builder builder(List messages) { return new Builder(messages); } + /** + * Builder for {@link AnthropicChatRequest}. + */ public static final class Builder { private final List messages; private String system; @@ -239,45 +248,85 @@ public class Anthropic3ChatBedrockApi extends private Double topP; private List stopSequences; private String anthropicVersion; - + private Builder(List messages) { this.messages = messages; } + /** + * Set the system prompt. + * @param system A system prompt + * @return this {@link Builder} instance + */ public Builder withSystem(String system) { this.system = system; return this; } + + /** + * Set the temperature. + * @param temperature The temperature + * @return this {@link Builder} instance + */ public Builder withTemperature(Double temperature) { this.temperature = temperature; return this; } + /** + * Set the max tokens. + * @param maxTokens The max tokens + * @return this {@link Builder} instance + */ public Builder withMaxTokens(Integer maxTokens) { this.maxTokens = maxTokens; return this; } + /** + * Set the top k. + * @param topK The top k + * @return this {@link Builder} instance + */ public Builder withTopK(Integer topK) { this.topK = topK; return this; } + /** + * Set the top p. + * @param tpoP The top p + * @return this {@link Builder} instance + */ public Builder withTopP(Double tpoP) { this.topP = tpoP; return this; } + /** + * Set the stop sequences. + * @param stopSequences The stop sequences + * @return this {@link Builder} instance + */ public Builder withStopSequences(List stopSequences) { this.stopSequences = stopSequences; return this; } + /** + * Set the anthropic version. + * @param anthropicVersion The anthropic version + * @return this {@link Builder} instance + */ public Builder withAnthropicVersion(String anthropicVersion) { this.anthropicVersion = anthropicVersion; return this; } + /** + * Build the {@link AnthropicChatRequest}. + * @return the {@link AnthropicChatRequest} + */ public AnthropicChatRequest build() { return new AnthropicChatRequest( this.messages, @@ -294,6 +343,7 @@ public class Anthropic3ChatBedrockApi extends } /** + * Encapsulates the Amazon Bedrock invocation metrics. * @param type the content type can be "text" or "image". * @param source The source of the media content. Applicable for "image" types only. * @param text The text of the message. Applicable for "text" types only. @@ -310,14 +360,27 @@ public class Anthropic3ChatBedrockApi extends ) { // @formatter:on + /** + * Create a new media content. + * @param mediaType The media type of the content. + * @param data The base64-encoded data of the content. + */ public MediaContent(String mediaType, String data) { this(new Source(mediaType, data)); } + /** + * Create a new media content. + * @param source The source of the media content. + */ public MediaContent(Source source) { this(Type.IMAGE, source, null, null); } + /** + * Create a new media content. + * @param text The text of the message. + */ public MediaContent(String text) { this(Type.TEXT, null, text, null); } @@ -357,6 +420,11 @@ public class Anthropic3ChatBedrockApi extends @JsonProperty("data") String data) { // @formatter:on + /** + * Create a new source. + * @param mediaType The media type of the content. + * @param data The base64-encoded data of the content. + */ public Source(String mediaType, String data) { this("base64", mediaType, data); } @@ -426,6 +494,7 @@ public class Anthropic3ChatBedrockApi extends * @param stopSequence The stop sequence that caused the model to stop generating * text. * @param usage Metrics about the model invocation. + * @param amazonBedrockInvocationMetrics The metrics about the model invocation. */ @JsonInclude(Include.NON_NULL) public record AnthropicChatResponse(// formatter:off @@ -448,6 +517,7 @@ public class Anthropic3ChatBedrockApi extends * @param contentBlock The generated text. * @param delta The delta. * @param usage The usage data. + * @param amazonBedrockInvocationMetrics The metrics about the model invocation. */ @JsonInclude(Include.NON_NULL) public record AnthropicChatStreamingResponse(// formatter:off diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/api/AbstractBedrockApi.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/api/AbstractBedrockApi.java index ac84df672..024f3f4f7 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/api/AbstractBedrockApi.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/api/AbstractBedrockApi.java @@ -69,6 +69,9 @@ public abstract class AbstractBedrockApi { private static final Logger logger = LoggerFactory.getLogger(AbstractBedrockApi.class); + /** + * Default emit failure handler. + */ public static final EmitFailureHandler DEFAULT_EMIT_FAILURE_HANDLER = EmitFailureHandler .busyLooping(Duration.ofSeconds(10)); @@ -167,6 +170,7 @@ public abstract class AbstractBedrockApi { } /** + * Get the model id. * @return The model id. */ public String getModelId() { @@ -174,6 +178,7 @@ public abstract class AbstractBedrockApi { } /** + * Get the AWS region. * @return The AWS region. */ public Region getRegion() { diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereChatModel.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereChatModel.java index 77856ae81..b925b3bd8 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereChatModel.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereChatModel.java @@ -38,6 +38,8 @@ import org.springframework.ai.model.ModelOptionsUtils; import org.springframework.util.Assert; /** + * A {@link ChatModel} implementation that uses the Cohere Chat API. + * * @author Christian Tzolov * @since 0.8.0 */ diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereChatOptions.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereChatOptions.java index 3349545e1..37c782799 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereChatOptions.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereChatOptions.java @@ -29,6 +29,8 @@ import org.springframework.ai.bedrock.cohere.api.CohereChatBedrockApi.CohereChat import org.springframework.ai.chat.prompt.ChatOptions; /** + * Options for the Bedrock Cohere chat API. + * * @author Christian Tzolov * @author Thomas Vitale * @since 0.8.0 diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereEmbeddingOptions.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereEmbeddingOptions.java index 57e0de302..e78783a49 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereEmbeddingOptions.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereEmbeddingOptions.java @@ -26,6 +26,8 @@ import org.springframework.ai.bedrock.cohere.api.CohereEmbeddingBedrockApi.Coher import org.springframework.ai.embedding.EmbeddingOptions; /** + * Options for the Bedrock Cohere embedding API. + * * @author Christian Tzolov * @author Thomas Vitale */ diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/api/CohereChatBedrockApi.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/api/CohereChatBedrockApi.java index 1d3fe8b53..444439053 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/api/CohereChatBedrockApi.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/api/CohereChatBedrockApi.java @@ -354,6 +354,7 @@ public class CohereChatBedrockApi extends * Generated result along with the likelihoods for tokens requested. * * @param id An identifier for the generation. (Always returned). + * @param eventType The type of event that occurred. (Always returned). * @param likelihood The likelihood of the output. The value is the average of the token likelihoods in * token_likelihoods. Returned if you specify the return_likelihoods input parameter. * @param tokenLikelihoods An array of per token likelihoods. Returned if you specify the return_likelihoods @@ -370,7 +371,7 @@ public class CohereChatBedrockApi extends @JsonInclude(Include.NON_NULL) public record Generation( @JsonProperty("id") String id, - @JsonProperty("event_type") String event_type, + @JsonProperty("event_type") String eventType, @JsonProperty("likelihood") Float likelihood, @JsonProperty("token_likelihoods") List tokenLikelihoods, @JsonProperty("finish_reason") FinishReason finishReason, @@ -403,6 +404,7 @@ public class CohereChatBedrockApi extends } /** + * Token likelihood. * @param token The token. * @param likelihood The likelihood of the token. */ diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/api/CohereEmbeddingBedrockApi.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/api/CohereEmbeddingBedrockApi.java index 8fdf3114b..2765dd4a8 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/api/CohereEmbeddingBedrockApi.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/api/CohereEmbeddingBedrockApi.java @@ -216,6 +216,7 @@ public class CohereEmbeddingBedrockApi extends * @param embeddings An array of embeddings, where each embedding is an array of floats with 1024 elements. The * length of the embeddings array will be the same as the length of the original texts array. * @param texts An array containing the text entries for which embeddings were returned. + * @param responseType The type of the response. The value is always embeddings. * @param amazonBedrockInvocationMetrics Bedrock invocation metrics. Currently bedrock doesn't return * invocationMetrics for the cohere embedding model. */ diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/jurassic2/BedrockAi21Jurassic2ChatOptions.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/jurassic2/BedrockAi21Jurassic2ChatOptions.java index aa292edfa..024577fad 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/jurassic2/BedrockAi21Jurassic2ChatOptions.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/jurassic2/BedrockAi21Jurassic2ChatOptions.java @@ -408,6 +408,13 @@ public class BedrockAi21Jurassic2ChatOptions implements ChatOptions { /** * Penalty object for frequency, presence, and count penalties. + * + * @param scale The scale of the penalty. + * @param applyToNumbers Whether to apply the penalty to numbers. + * @param applyToPunctuations Whether to apply the penalty to punctuations. + * @param applyToStopwords Whether to apply the penalty to stopwords. + * @param applyToWhitespaces Whether to apply the penalty to whitespaces. + * @param applyToEmojis Whether to apply the penalty to emojis. */ @JsonInclude(JsonInclude.Include.NON_NULL) public record Penalty(@JsonProperty("scale") Double scale, @JsonProperty("applyToNumbers") Boolean applyToNumbers, diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/jurassic2/api/Ai21Jurassic2ChatBedrockApi.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/jurassic2/api/Ai21Jurassic2ChatBedrockApi.java index e57a4ec53..8d093d890 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/jurassic2/api/Ai21Jurassic2ChatBedrockApi.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/jurassic2/api/Ai21Jurassic2ChatBedrockApi.java @@ -138,12 +138,17 @@ public class Ai21Jurassic2ChatBedrockApi extends } /** - * @return The model id. + * The model id. + * @return the model id. */ public String id() { return this.id; } + /** + * The model id. + * @return the model id. + */ @Override public String getName() { return this.id; @@ -181,6 +186,11 @@ public class Ai21Jurassic2ChatBedrockApi extends @JsonProperty("presencePenalty") FloatScalePenalty presencePenalty, @JsonProperty("frequencyPenalty") IntegerScalePenalty frequencyPenalty) { + /** + * Create a new {@link Ai21Jurassic2ChatRequest} instance. + * @param prompt The prompt to use for the chat. + * @return a new {@link Ai21Jurassic2ChatRequest} instance. + */ public static Builder builder(String prompt) { return new Builder(prompt); } @@ -236,6 +246,9 @@ public class Ai21Jurassic2ChatBedrockApi extends @JsonProperty("applyToEmojis") boolean applyToEmojis) { } + /** + * Builder for {@link Ai21Jurassic2ChatRequest}. + */ public static class Builder { private String prompt; private Double temperature; @@ -246,45 +259,84 @@ public class Ai21Jurassic2ChatBedrockApi extends private FloatScalePenalty presencePenalty; private IntegerScalePenalty frequencyPenalty; - public Builder(String prompt) { + private Builder(String prompt) { this.prompt = prompt; } + /** + * Set the temperature. + * @param temperature the temperature + * @return this {@link Builder} instance + */ public Builder withTemperature(Double temperature) { this.temperature = temperature; return this; } + /** + * Set the topP. + * @param topP the topP + * @return this {@link Builder} instance + */ public Builder withTopP(Double topP) { this.topP = topP; return this; } + /** + * Set the maxTokens. + * @param maxTokens the maxTokens + * @return this {@link Builder} instance + */ public Builder withMaxTokens(Integer maxTokens) { this.maxTokens = maxTokens; return this; } + /** + * Set the stopSequences. + * @param stopSequences the stopSequences + * @return this {@link Builder} instance + */ public Builder withStopSequences(List stopSequences) { this.stopSequences = stopSequences; return this; } + /** + * Set the countPenalty. + * @param countPenalty the countPenalty + * @return this {@link Builder} instance + */ public Builder withCountPenalty(IntegerScalePenalty countPenalty) { this.countPenalty = countPenalty; return this; } + /** + * Set the presencePenalty. + * @param presencePenalty the presencePenalty + * @return this {@link Builder} instance + */ public Builder withPresencePenalty(FloatScalePenalty presencePenalty) { this.presencePenalty = presencePenalty; return this; } + /** + * Set the frequencyPenalty. + * @param frequencyPenalty the frequencyPenalty + * @return this {@link Builder} instance + */ public Builder withFrequencyPenalty(IntegerScalePenalty frequencyPenalty) { this.frequencyPenalty = frequencyPenalty; return this; } + /** + * Build the {@link Ai21Jurassic2ChatRequest} instance. + * @return a new {@link Ai21Jurassic2ChatRequest} instance + */ public Ai21Jurassic2ChatRequest build() { return new Ai21Jurassic2ChatRequest( this.prompt, @@ -306,6 +358,7 @@ public class Ai21Jurassic2ChatBedrockApi extends * * @param id The unique identifier of the response. * @param prompt The prompt used for the chat. + * @param completions The completions generated by the model. * @param amazonBedrockInvocationMetrics The metrics about the model invocation. */ @JsonInclude(Include.NON_NULL) @@ -316,6 +369,9 @@ public class Ai21Jurassic2ChatBedrockApi extends @JsonProperty("amazon-bedrock-invocationMetrics") AmazonBedrockInvocationMetrics amazonBedrockInvocationMetrics) { /** + * The completions generated by the model. + * @param data The data field contains the prompt used for the completion. + * @param finishReason The finishReason field provides detailed information about why the completion was halted. */ @JsonInclude(Include.NON_NULL) public record Completion( @@ -399,7 +455,8 @@ public class Ai21Jurassic2ChatBedrockApi extends * Explains why the generation process was halted for a specific completion. * * @param reason The reason field indicates the reason for the completion to stop. - * + * @param length The length field indicates the number of tokens generated in the completion. + * @param sequence The sequence field indicates the stop sequence that caused the completion to stop. */ @JsonInclude(Include.NON_NULL) public record FinishReason( diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/llama/BedrockLlamaChatOptions.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/llama/BedrockLlamaChatOptions.java index bdeb7543a..3f2b4f555 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/llama/BedrockLlamaChatOptions.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/llama/BedrockLlamaChatOptions.java @@ -26,6 +26,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.springframework.ai.chat.prompt.ChatOptions; /** + * Options for the Bedrock Llama Chat API. + * * @author Christian Tzolov * @author Thomas Vitale */ diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/llama/api/LlamaChatBedrockApi.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/llama/api/LlamaChatBedrockApi.java index 0224defad..c800a768d 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/llama/api/LlamaChatBedrockApi.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/llama/api/LlamaChatBedrockApi.java @@ -271,6 +271,7 @@ public class LlamaChatBedrockApi extends * has finished generating text for the input prompt. (2) length – The length of the tokens for the generated text * exceeds the value of max_gen_len in the call. The response is truncated to max_gen_len tokens. Consider * increasing the value of max_gen_len and trying again. + * @param amazonBedrockInvocationMetrics The Amazon Bedrock invocation metrics. */ @JsonInclude(Include.NON_NULL) public record LlamaChatResponse( diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatModel.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatModel.java index ce220a4b2..57c832fd6 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatModel.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatModel.java @@ -38,6 +38,9 @@ import org.springframework.ai.model.ModelOptionsUtils; import org.springframework.util.Assert; /** + * Implementation of the {@link ChatModel} and {@link StreamingChatModel} interfaces that + * uses the Titan Chat API. + * * @author Christian Tzolov * @since 0.8.0 */ 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 index a5d06bdba..f7e947ee3 100644 --- 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 @@ -26,6 +26,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.springframework.ai.chat.prompt.ChatOptions; /** + * Options for the Titan Chat API. + * * @author Christian Tzolov * @author Thomas Vitale * @since 0.8.0 diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanEmbeddingOptions.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanEmbeddingOptions.java index 61b82dbdf..ef835979f 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanEmbeddingOptions.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanEmbeddingOptions.java @@ -25,6 +25,8 @@ import org.springframework.ai.embedding.EmbeddingOptions; import org.springframework.util.Assert; /** + * Options for the Titan Embedding API. + * * @author Wei Jiang * @author Thomas Vitale */ diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanChatBedrockApi.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanChatBedrockApi.java index b948a0666..73c4fbbad 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanChatBedrockApi.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanChatBedrockApi.java @@ -304,6 +304,7 @@ public class TitanChatBedrockApi extends * @param inputTextTokenCount The number of tokens in the prompt. * @param totalOutputTextTokenCount The number of tokens in the response. * @param completionReason The reason the response finished being generated. + * @param amazonBedrockInvocationMetrics The metrics for the invocation. */ @JsonInclude(Include.NON_NULL) public record TitanChatResponseChunk( diff --git a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanEmbeddingBedrockApi.java b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanEmbeddingBedrockApi.java index f322627a4..41833f56a 100644 --- a/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanEmbeddingBedrockApi.java +++ b/models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/api/TitanEmbeddingBedrockApi.java @@ -170,6 +170,7 @@ public class TitanEmbeddingBedrockApi extends * * @param embedding The embedding vector. * @param inputTextTokenCount The number of tokens in the input text. + * @param embeddingsByType The embeddings by type. * @param message No idea what this is. */ @JsonInclude(Include.NON_NULL) diff --git a/models/spring-ai-minimax/src/main/java/org/springframework/ai/minimax/api/MiniMaxApi.java b/models/spring-ai-minimax/src/main/java/org/springframework/ai/minimax/api/MiniMaxApi.java index 3ab53059c..bcc2a2e6c 100644 --- a/models/spring-ai-minimax/src/main/java/org/springframework/ai/minimax/api/MiniMaxApi.java +++ b/models/spring-ai-minimax/src/main/java/org/springframework/ai/minimax/api/MiniMaxApi.java @@ -739,6 +739,7 @@ public class MiniMaxApi { } /** + * The image content of the message. * @param url Either a URL of the image or the base64 encoded image data. * The base64 encoded image data must have a special prefix in the following format: * "data:{mimetype};base64,{base64-encoded-image-data}". @@ -793,6 +794,7 @@ public class MiniMaxApi { * used in conjunction with the seed request parameter to understand when backend changes have been made that might * impact determinism. * @param object The object type, which is always chat.completion. + * @param baseResponse Base response with status code and message. * @param usage Usage statistics for the completion request. */ @JsonInclude(Include.NON_NULL) @@ -813,6 +815,7 @@ public class MiniMaxApi { * @param finishReason The reason the model stopped generating tokens. * @param index The index of the choice in the list of choices. * @param message A chat completion message generated by the model. + * @param messages A list of chat completion messages generated by the model. * @param logprobs Log probability information for the choice. */ @JsonInclude(Include.NON_NULL) @@ -937,6 +940,7 @@ public class MiniMaxApi { * * @param texts Input text to embed, encoded as a string or array of tokens. * @param model ID of the model to use. + * @param type Embedding type. */ @JsonInclude(Include.NON_NULL) public record EmbeddingRequest( diff --git a/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiChatOptions.java b/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiChatOptions.java index f8f080a82..5d025d208 100644 --- a/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiChatOptions.java +++ b/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiChatOptions.java @@ -37,6 +37,8 @@ import org.springframework.ai.model.function.FunctionCallingOptions; import org.springframework.util.Assert; /** + * Options for the Mistral AI Chat API. + * * @author Ricken Bazolo * @author Christian Tzolov * @author Thomas Vitale diff --git a/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiEmbeddingOptions.java b/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiEmbeddingOptions.java index 6409b05ca..98412490f 100644 --- a/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiEmbeddingOptions.java +++ b/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/MistralAiEmbeddingOptions.java @@ -24,6 +24,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.springframework.ai.embedding.EmbeddingOptions; /** + * Options for the Mistral AI Embedding API. + * * @author Ricken Bazolo * @author Thomas Vitale * @since 0.8.1 diff --git a/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/api/MistralAiApi.java b/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/api/MistralAiApi.java index 2904eeaca..10a4a863b 100644 --- a/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/api/MistralAiApi.java +++ b/models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/api/MistralAiApi.java @@ -534,6 +534,7 @@ public class MistralAiApi { /** * Creates an embedding vector representing the input text. * + * @param Type of the input. * @param input Input text to embed, encoded as a string or array of tokens * @param model ID of the model to use. * @param encodingFormat The format to return the embeddings in. Can be either float @@ -617,6 +618,7 @@ public class MistralAiApi { * open until the timeout or until completion, with the response containing the full * result as JSON. * @param safePrompt Whether to inject a safety prompt before all conversations. + * @param stop A list of tokens that the model should stop generating after. If set, * @param randomSeed The seed to use for random sampling. If set, different calls will * generate deterministic results. * @param responseFormat An object specifying the format that the model must output. @@ -738,6 +740,7 @@ public class MistralAiApi { * @param content The contents of the message. * @param role The role of the messages author. Could be one of the {@link Role} * types. + * @param name The name of the author of the message. * @param toolCalls The tool calls generated by the model, such as function calls. * Applicable only for {@link Role#ASSISTANT} role and null otherwise. * @param toolCallId Tool call that this message is responding to. Only applicable for @@ -746,16 +749,11 @@ public class MistralAiApi { @JsonInclude(Include.NON_NULL) public record ChatCompletionMessage( // @formatter:off - @JsonProperty("content") - String content, - @JsonProperty("role") - Role role, - @JsonProperty("name") - String name, - @JsonProperty("tool_calls") - List toolCalls, - @JsonProperty("tool_call_id") - String toolCallId) { + @JsonProperty("content") String content, + @JsonProperty("role") Role role, + @JsonProperty("name") String name, + @JsonProperty("tool_calls") List toolCalls, + @JsonProperty("tool_call_id") String toolCallId) { // @formatter:on /** diff --git a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatModel.java b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatModel.java index aa76d5fa9..09c18bdd5 100644 --- a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatModel.java +++ b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatModel.java @@ -72,6 +72,8 @@ import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; /** + * MoonshotChatModel is a {@link ChatModel} implementation that uses the Moonshot + * * @author Geng Rong */ public class MoonshotChatModel extends AbstractToolCallSupport implements ChatModel, StreamingChatModel { diff --git a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatOptions.java b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatOptions.java index 9d4344b53..8b6eda05e 100644 --- a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatOptions.java +++ b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/MoonshotChatOptions.java @@ -33,6 +33,8 @@ import org.springframework.ai.moonshot.api.MoonshotApi; import org.springframework.util.Assert; /** + * Options for Moonshot chat completions. + * * @author Geng Rong * @author Thomas Vitale */ diff --git a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/api/MoonshotApi.java b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/api/MoonshotApi.java index 73a8acaa2..b4a2162e2 100644 --- a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/api/MoonshotApi.java +++ b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/api/MoonshotApi.java @@ -284,6 +284,9 @@ public class MoonshotApi { * @param stream If set, partial message deltas will be sent.Tokens will be sent as * data-only server-sent events as they become available, with the stream terminated * by a data: [DONE] message. + * @param tools A list of tools the model may call. Currently, only functions are + * supported as a tool. + * @param toolChoice Controls which (if any) function is called by the model. */ @JsonInclude(Include.NON_NULL) public record ChatCompletionRequest( @@ -563,6 +566,7 @@ public class MoonshotApi { * @param index The index of the choice in the list of choices. * @param delta A chat completion delta generated by streamed model responses. * @param finishReason The reason the model stopped generating tokens. + * @param usage Usage statistics for the completion request. */ @JsonInclude(Include.NON_NULL) public record ChunkChoice( diff --git a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/api/MoonshotConstants.java b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/api/MoonshotConstants.java index daefef59b..5fb96531b 100644 --- a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/api/MoonshotConstants.java +++ b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/api/MoonshotConstants.java @@ -19,6 +19,8 @@ package org.springframework.ai.moonshot.api; import org.springframework.ai.observation.conventions.AiProvider; /** + * Constants for Moonshot API. + * * @author Geng Rong */ public final class MoonshotConstants { diff --git a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/metadata/MoonshotUsage.java b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/metadata/MoonshotUsage.java index 3fb67358a..b40e51f7a 100644 --- a/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/metadata/MoonshotUsage.java +++ b/models/spring-ai-moonshot/src/main/java/org/springframework/ai/moonshot/metadata/MoonshotUsage.java @@ -21,6 +21,8 @@ import org.springframework.ai.moonshot.api.MoonshotApi; import org.springframework.util.Assert; /** + * Represents the usage of a Moonshot model. + * * @author Geng Rong */ public class MoonshotUsage implements Usage { diff --git a/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaApi.java b/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaApi.java index 7302fa5c5..e8f2d199f 100644 --- a/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaApi.java +++ b/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/api/OllamaApi.java @@ -258,6 +258,7 @@ public class OllamaApi { * @param content The content of the message. * @param images The list of base64-encoded images to send with the message. * Requires multimodal models such as llava or bakllava. + * @param toolCalls The relevant tool call. */ @JsonInclude(Include.NON_NULL) public record Message( @@ -579,6 +580,9 @@ public class OllamaApi { * @param model The model used for generating the embeddings. * @param embeddings The list of embeddings generated from the model. * Each embedding (list of doubles) corresponds to a single input text. + * @param totalDuration The total time spent generating the embeddings. + * @param loadDuration The time spent loading the model. + * @param promptEvalCount The number of tokens in the prompt. */ @JsonInclude(Include.NON_NULL) public record EmbeddingsResponse( diff --git a/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/management/ModelManagementOptions.java b/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/management/ModelManagementOptions.java index f850cd579..b35c10ea7 100644 --- a/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/management/ModelManagementOptions.java +++ b/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/management/ModelManagementOptions.java @@ -22,6 +22,10 @@ import java.util.List; /** * Options for managing models in Ollama. * + * @param pullModelStrategy the strategy to pull models + * @param additionalModels additional models to manage + * @param timeout the timeout for managing models + * @param maxRetries the maximum number of retries * @author Thomas Vitale * @since 1.0.0 */ diff --git a/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/management/package-info.java b/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/management/package-info.java index 0a76de5a3..bd2c2ee7e 100644 --- a/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/management/package-info.java +++ b/models/spring-ai-ollama/src/main/java/org/springframework/ai/ollama/management/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Management support for Ollama. + */ @NonNullApi @NonNullFields package org.springframework.ai.ollama.management; diff --git a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiAudioTranscriptionOptions.java b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiAudioTranscriptionOptions.java index 9c0022fad..8e00f3f52 100644 --- a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiAudioTranscriptionOptions.java +++ b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiAudioTranscriptionOptions.java @@ -25,6 +25,8 @@ import org.springframework.ai.openai.api.OpenAiAudioApi.TranscriptResponseFormat import org.springframework.ai.openai.api.OpenAiAudioApi.TranscriptionRequest.GranularityType; /** + * OpenAI Audio Transcription Options. + * * @author Michael Lavelle * @author Christian Tzolov * @author Piotr Olaszewski diff --git a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatOptions.java b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatOptions.java index e2a408752..69e3aa85d 100644 --- a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatOptions.java +++ b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatOptions.java @@ -40,6 +40,8 @@ import org.springframework.ai.openai.api.ResponseFormat; import org.springframework.util.Assert; /** + * Options for the OpenAI Chat API. + * * @author Christian Tzolov * @author Mariusz Bernacki * @author Thomas Vitale diff --git a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiEmbeddingOptions.java b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiEmbeddingOptions.java index 64f173eaf..f7acb7238 100644 --- a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiEmbeddingOptions.java +++ b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiEmbeddingOptions.java @@ -23,6 +23,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.springframework.ai.embedding.EmbeddingOptions; /** + * OpenAI Embedding Options. + * * @author Christian Tzolov * @since 0.8.0 */ diff --git a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiApi.java b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiApi.java index ffaaded29..119a0cc11 100644 --- a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiApi.java +++ b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiApi.java @@ -851,6 +851,7 @@ public class OpenAiApi { } /** + * Options for streaming response. * @param includeUsage If set, an additional chunk will be streamed * before the data: [DONE] message. The usage field on this chunk * shows the token usage statistics for the entire request, and @@ -879,6 +880,7 @@ public class OpenAiApi { * the {@link Role#TOOL} role and null otherwise. * @param toolCalls The tool calls generated by the model, such as function calls. * Applicable only for {@link Role#ASSISTANT} role and null otherwise. + * @param refusal The refusal message generated by the model. */ @JsonInclude(Include.NON_NULL) public record ChatCompletionMessage(// @formatter:off @@ -975,6 +977,8 @@ public class OpenAiApi { } /** + * Shortcut constructor for an image content. + * * @param url Either a URL of the image or the base64 encoded image data. The * base64 encoded image data must have a special prefix in the following * format: "data:{mimetype};base64,{base64-encoded-image-data}". @@ -1165,6 +1169,11 @@ public class OpenAiApi { * Breakdown of tokens used in a completion * * @param reasoningTokens Number of tokens generated by the model for reasoning. + * @param acceptedPredictionTokens Number of tokens generated by the model for + * accepted predictions. + * @param audioTokens Number of tokens generated by the model for audio. + * @param rejectedPredictionTokens Number of tokens generated by the model for + * rejected predictions. */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @@ -1252,6 +1261,7 @@ public class OpenAiApi { /** * Creates an embedding vector representing the input text. * + * @param Type of the input. * @param input Input text to embed, encoded as a string or array of tokens. To embed * multiple inputs in a single request, pass an array of strings or array of token * arrays. The input must not exceed the max input tokens for the model (8192 tokens diff --git a/models/spring-ai-postgresml/src/main/java/org/springframework/ai/postgresml/PostgresMlEmbeddingOptions.java b/models/spring-ai-postgresml/src/main/java/org/springframework/ai/postgresml/PostgresMlEmbeddingOptions.java index 265045691..713b1ef7c 100644 --- a/models/spring-ai-postgresml/src/main/java/org/springframework/ai/postgresml/PostgresMlEmbeddingOptions.java +++ b/models/spring-ai-postgresml/src/main/java/org/springframework/ai/postgresml/PostgresMlEmbeddingOptions.java @@ -29,6 +29,8 @@ import org.springframework.ai.model.ModelOptionsUtils; import org.springframework.ai.postgresml.PostgresMlEmbeddingModel.VectorType; /** + * PostgresML Embedding Options. + * * @author Christian Tzolov * @author Thomas Vitale */ diff --git a/models/spring-ai-qianfan/src/main/java/org/springframework/ai/qianfan/api/QianFanApi.java b/models/spring-ai-qianfan/src/main/java/org/springframework/ai/qianfan/api/QianFanApi.java index 4139abd0f..a890e48b2 100644 --- a/models/spring-ai-qianfan/src/main/java/org/springframework/ai/qianfan/api/QianFanApi.java +++ b/models/spring-ai-qianfan/src/main/java/org/springframework/ai/qianfan/api/QianFanApi.java @@ -268,12 +268,15 @@ public class QianFanApi extends AuthApi { * Creates a model response for the given chat conversation. * * @param messages A list of messages comprising the conversation so far. + * @param system The system ID to use. * @param model ID of the model to use. * @param frequencyPenalty Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing * frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. * @param maxTokens The maximum number of tokens to generate in the chat completion. The total length of input * tokens and generated tokens is limited by the model's context length. * appear in the text so far, increasing the model's likelihood to talk about new topics. + * @param presencePenalty Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing + * frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. * @param responseFormat An object specifying the format that the model must output. Setting to { "type": * "json_object" } enables JSON mode, which guarantees the message the model generates is valid JSON. * @param stop Up to 4 sequences where the API will stop generating further tokens. @@ -406,6 +409,7 @@ public class QianFanApi extends AuthApi { * used in conjunction with the seed request parameter to understand when backend changes have been made that might * impact determinism. * @param object The object type, which is always chat.completion. + * @param finishReason The reason the chat completion finished. * @param usage Usage statistics for the completion request. */ @JsonInclude(Include.NON_NULL) @@ -421,6 +425,7 @@ public class QianFanApi extends AuthApi { /** * Usage statistics for the completion request. * + * @param completionTokens Number of tokens in the completion. * @param promptTokens Number of tokens in the prompt. * @param totalTokens Total number of tokens used in the request (prompt + completion). */ @@ -440,6 +445,9 @@ public class QianFanApi extends AuthApi { * @param created The Unix timestamp (in seconds) of when the chat completion was created. Each chunk has the same * timestamp. * @param result Result of chat completion message. + * @param finishReason The reason the chat completion finished. + * @param end If true, the chat completion is finished. + * @param usage Usage statistics for the completion request. */ @JsonInclude(Include.NON_NULL) public record ChatCompletionChunk( @@ -458,6 +466,7 @@ public class QianFanApi extends AuthApi { * Creates an embedding vector representing the input text. * * @param texts Input text to embed, encoded as a string or array of tokens. + * @param model ID of the model to use. * @param user A unique identifier representing your end-user, which can help QianFan to * monitor and detect abuse. */ @@ -544,6 +553,8 @@ public class QianFanApi extends AuthApi { * @param object Must have value "embedding_list". * @param data List of entities. * @param model ID of the model to use. + * @param errorCode Error code if any. + * @param errorNsg Error message if any. * @param usage Usage statistics for the completion request. */ @JsonInclude(Include.NON_NULL) diff --git a/models/spring-ai-qianfan/src/main/java/org/springframework/ai/qianfan/api/auth/AccessTokenResponse.java b/models/spring-ai-qianfan/src/main/java/org/springframework/ai/qianfan/api/auth/AccessTokenResponse.java index 96070de8c..6e622278d 100644 --- a/models/spring-ai-qianfan/src/main/java/org/springframework/ai/qianfan/api/auth/AccessTokenResponse.java +++ b/models/spring-ai-qianfan/src/main/java/org/springframework/ai/qianfan/api/auth/AccessTokenResponse.java @@ -21,6 +21,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** * Represents the response received when requesting an access token. * + * @param accessToken the access token + * @param refreshToken the refresh token + * @param expiresIn the number of seconds until the token expires + * @param sessionKey the session key + * @param sessionSecret the session secret + * @param error the error code + * @param errorDescription the error description + * @param scope the scope * @author Geng Rong * @since 1.0 */ diff --git a/models/spring-ai-vertex-ai-embedding/src/main/java/org/springframework/ai/vertexai/embedding/text/VertexAiTextEmbeddingOptions.java b/models/spring-ai-vertex-ai-embedding/src/main/java/org/springframework/ai/vertexai/embedding/text/VertexAiTextEmbeddingOptions.java index 4de1f3375..c2cfe0bc4 100644 --- a/models/spring-ai-vertex-ai-embedding/src/main/java/org/springframework/ai/vertexai/embedding/text/VertexAiTextEmbeddingOptions.java +++ b/models/spring-ai-vertex-ai-embedding/src/main/java/org/springframework/ai/vertexai/embedding/text/VertexAiTextEmbeddingOptions.java @@ -24,6 +24,8 @@ import org.springframework.ai.embedding.EmbeddingOptions; import org.springframework.util.StringUtils; /** + * Options for the Vertex AI Text Embedding service. + * * @author Christian Tzolov * @since 1.0.0 */ diff --git a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModel.java b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModel.java index 956225dbd..b347d5518 100644 --- a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModel.java +++ b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModel.java @@ -84,6 +84,8 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; /** + * Vertex AI Gemini Chat Model implementation. + * * @author Christian Tzolov * @author Grogdunn * @author luocongqiu diff --git a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatOptions.java b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatOptions.java index a00f64273..5b31eaefa 100644 --- a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatOptions.java +++ b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatOptions.java @@ -35,6 +35,8 @@ import org.springframework.ai.vertexai.gemini.VertexAiGeminiChatModel.ChatModel; import org.springframework.util.Assert; /** + * Options for the Vertex AI Gemini Chat API. + * * @author Christian Tzolov * @author Thomas Vitale * @author Grogdunn diff --git a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/common/VertexAiGeminiConstants.java b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/common/VertexAiGeminiConstants.java index b341fac13..ca7d61398 100644 --- a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/common/VertexAiGeminiConstants.java +++ b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/common/VertexAiGeminiConstants.java @@ -19,6 +19,8 @@ package org.springframework.ai.vertexai.gemini.common; import org.springframework.ai.observation.conventions.AiProvider; /** + * Constants for Vertex AI Gemini. + * * @author Soby Chacko */ public final class VertexAiGeminiConstants { diff --git a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/metadata/VertexAiUsage.java b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/metadata/VertexAiUsage.java index aeab57df7..a0dcc3766 100644 --- a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/metadata/VertexAiUsage.java +++ b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/metadata/VertexAiUsage.java @@ -22,6 +22,8 @@ import org.springframework.ai.chat.metadata.Usage; import org.springframework.util.Assert; /** + * Represents the usage of a Vertex AI model. + * * @author Christian Tzolov * @since 0.8.1 * diff --git a/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiChatResponse.java b/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiChatResponse.java index 888521c7f..469e5c546 100644 --- a/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiChatResponse.java +++ b/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiChatResponse.java @@ -26,6 +26,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** * Java class for Watsonx.ai Chat Response object. * + * @param modelId the model id + * @param createdAt the creation date + * @param results the results + * @param system the system * @author Pablo Sanchidrian Herrera * @since 1.0.0 */ diff --git a/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiChatResults.java b/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiChatResults.java index 8fb4a9716..ff2c8216e 100644 --- a/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiChatResults.java +++ b/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiChatResults.java @@ -22,6 +22,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** * Java class for Watsonx.ai Chat Results object. * + * @param generatedText the generated text + * @param generatedTokenCount the number of tokens generated + * @param inputTokenCount the number of tokens in the input + * @param stopReason the reason the generation stopped * @author Pablo Sanchidrian Herrera * @since 1.0.0 */ diff --git a/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiEmbeddingResponse.java b/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiEmbeddingResponse.java index a2284afee..9072d1b38 100644 --- a/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiEmbeddingResponse.java +++ b/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiEmbeddingResponse.java @@ -25,6 +25,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** * Java class for Watsonx.ai Embedding Response object. * + * @param model the model id + * @param createdAt the creation date + * @param results the results + * @param inputTokenCount the input token count * @author Pablo Sanchidrian Herrera * @since 1.0.0 */ diff --git a/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiEmbeddingResults.java b/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiEmbeddingResults.java index a86dd12a2..5eeab1071 100644 --- a/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiEmbeddingResults.java +++ b/models/spring-ai-watsonx-ai/src/main/java/org/springframework/ai/watsonx/api/WatsonxAiEmbeddingResults.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** * Java class for Watsonx.ai Embedding Results object. * + * @param embedding the embedding * @author Pablo Sanchidrian Herrera * @since 1.0.0 */ diff --git a/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/api/ZhiPuAiApi.java b/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/api/ZhiPuAiApi.java index 836bc22b8..18da4521d 100644 --- a/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/api/ZhiPuAiApi.java +++ b/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/api/ZhiPuAiApi.java @@ -499,7 +499,10 @@ public class ZhiPuAiApi { * the model to call that function. none is the default when no functions are present. auto is the default if * functions are present. Use the {@link ToolChoiceBuilder} to create the tool choice value. * @param user A unique identifier representing your end-user, which can help ZhiPuAI to monitor and detect abuse. - * + * @param requestId A unique identifier for the request. If set, the request will be logged and can be used for + * debugging purposes. + * @param doSample If set, the model will use sampling to generate the next token. If not set, the model will use + * greedy decoding to generate the next token. */ @JsonInclude(Include.NON_NULL) public record ChatCompletionRequest( @@ -705,6 +708,7 @@ public class ZhiPuAiApi { } /** + * The image content of the message. * @param url Either a URL of the image or the base64 encoded image data. * The base64 encoded image data must have a special prefix in the following format: * "data:{mimetype};base64,{base64-encoded-image-data}". @@ -944,7 +948,8 @@ public class ZhiPuAiApi { /** * Creates an embedding vector representing the input text. - * + * + * @param Type of the input. * @param input Input text to embed, encoded as a string or array of tokens. * @param model ID of the model to use. */ diff --git a/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionMetadata.java b/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionMetadata.java index 5fc1ea106..2df08de26 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionMetadata.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionMetadata.java @@ -19,6 +19,8 @@ package org.springframework.ai.audio.transcription; import org.springframework.ai.model.ResultMetadata; /** + * Metadata associated with an audio transcription result. + * * @author Michael Lavelle * @author Piotr Olaszewski * @since 0.8.1 diff --git a/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionOptions.java b/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionOptions.java index 7fec8fa97..b039b6d9c 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionOptions.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionOptions.java @@ -19,6 +19,8 @@ package org.springframework.ai.audio.transcription; import org.springframework.ai.model.ModelOptions; /** + * Options for audio transcription. + * * @author Piotr Olaszewski */ public interface AudioTranscriptionOptions extends ModelOptions { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionResponse.java b/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionResponse.java index 6bbe17c51..c274698d1 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionResponse.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionResponse.java @@ -21,6 +21,8 @@ import java.util.List; import org.springframework.ai.model.ModelResponse; /** + * A response containing an audio transcription result. + * * @author Michael Lavelle * @author Piotr Olaszewski * @since 0.8.1 diff --git a/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionResponseMetadata.java b/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionResponseMetadata.java index 7c4d49411..affc26f16 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionResponseMetadata.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/audio/transcription/AudioTranscriptionResponseMetadata.java @@ -19,6 +19,8 @@ package org.springframework.ai.audio.transcription; import org.springframework.ai.model.MutableResponseMetadata; /** + * Metadata associated with an audio transcription response. + * * @author Piotr Olaszewski */ public class AudioTranscriptionResponseMetadata extends MutableResponseMetadata { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/AbstractChatMemoryAdvisor.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/AbstractChatMemoryAdvisor.java index 304e53865..09d80fa49 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/AbstractChatMemoryAdvisor.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/AbstractChatMemoryAdvisor.java @@ -40,34 +40,80 @@ import org.springframework.util.Assert; */ public abstract class AbstractChatMemoryAdvisor implements CallAroundAdvisor, StreamAroundAdvisor { + /** + * The key to retrieve the chat memory conversation id from the context. + */ public static final String CHAT_MEMORY_CONVERSATION_ID_KEY = "chat_memory_conversation_id"; + /** + * The key to retrieve the chat memory response size from the context. + */ public static final String CHAT_MEMORY_RETRIEVE_SIZE_KEY = "chat_memory_response_size"; + /** + * The default conversation id to use when no conversation id is provided. + */ public static final String DEFAULT_CHAT_MEMORY_CONVERSATION_ID = "default"; + /** + * The default chat memory retrieve size to use when no retrieve size is provided. + */ public static final int DEFAULT_CHAT_MEMORY_RESPONSE_SIZE = 100; + /** + * The chat memory store. + */ protected final T chatMemoryStore; + /** + * The default conversation id. + */ protected final String defaultConversationId; + /** + * The default chat memory retrieve size. + */ protected final int defaultChatMemoryRetrieveSize; + /** + * Whether to protect from blocking. + */ private final boolean protectFromBlocking; + /** + * The order of the advisor. + */ private final int order; + /** + * Constructor to create a new {@link AbstractChatMemoryAdvisor} instance. + * @param chatMemory the chat memory store + */ protected AbstractChatMemoryAdvisor(T chatMemory) { this(chatMemory, DEFAULT_CHAT_MEMORY_CONVERSATION_ID, DEFAULT_CHAT_MEMORY_RESPONSE_SIZE, true); } + /** + * Constructor to create a new {@link AbstractChatMemoryAdvisor} instance. + * @param chatMemory the chat memory store + * @param defaultConversationId the default conversation id + * @param defaultChatMemoryRetrieveSize the default chat memory retrieve size + * @param protectFromBlocking whether to protect from blocking + */ protected AbstractChatMemoryAdvisor(T chatMemory, String defaultConversationId, int defaultChatMemoryRetrieveSize, boolean protectFromBlocking) { this(chatMemory, defaultConversationId, defaultChatMemoryRetrieveSize, protectFromBlocking, Advisor.DEFAULT_CHAT_MEMORY_PRECEDENCE_ORDER); } + /** + * Constructor to create a new {@link AbstractChatMemoryAdvisor} instance. + * @param chatMemory the chat memory store + * @param defaultConversationId the default conversation id + * @param defaultChatMemoryRetrieveSize the default chat memory retrieve size + * @param protectFromBlocking whether to protect from blocking + * @param order the order + */ protected AbstractChatMemoryAdvisor(T chatMemory, String defaultConversationId, int defaultChatMemoryRetrieveSize, boolean protectFromBlocking, int order) { @@ -96,22 +142,43 @@ public abstract class AbstractChatMemoryAdvisor implements CallAroundAdvisor, return this.order; } + /** + * Get the chat memory store. + * @return the chat memory store + */ protected T getChatMemoryStore() { return this.chatMemoryStore; } + /** + * Get the default conversation id. + * @param context the context + * @return the default conversation id + */ protected String doGetConversationId(Map context) { return context.containsKey(CHAT_MEMORY_CONVERSATION_ID_KEY) ? context.get(CHAT_MEMORY_CONVERSATION_ID_KEY).toString() : this.defaultConversationId; } + /** + * Get the default chat memory retrieve size. + * @param context the context + * @return the default chat memory retrieve size + */ protected int doGetChatMemoryRetrieveSize(Map context) { return context.containsKey(CHAT_MEMORY_RETRIEVE_SIZE_KEY) ? Integer.parseInt(context.get(CHAT_MEMORY_RETRIEVE_SIZE_KEY).toString()) : this.defaultChatMemoryRetrieveSize; } + /** + * Execute the next advisor in the chain. + * @param advisedRequest the advised request + * @param chain the advisor chain + * @param beforeAdvise the before advise function + * @return the advised response + */ protected Flux doNextWithProtectFromBlockingBefore(AdvisedRequest advisedRequest, StreamAroundAdvisorChain chain, Function beforeAdvise) { @@ -127,43 +194,90 @@ public abstract class AbstractChatMemoryAdvisor implements CallAroundAdvisor, : chain.nextAroundStream(beforeAdvise.apply(advisedRequest)); } + /** + * Abstract builder for {@link AbstractChatMemoryAdvisor}. + * @param the type of the chat memory + */ public static abstract class AbstractBuilder { + /** + * The conversation id. + */ protected String conversationId = DEFAULT_CHAT_MEMORY_CONVERSATION_ID; + /** + * The chat memory retrieve size. + */ protected int chatMemoryRetrieveSize = DEFAULT_CHAT_MEMORY_RESPONSE_SIZE; + /** + * Whether to protect from blocking. + */ protected boolean protectFromBlocking = true; + /** + * The order of the advisor. + */ protected int order = Advisor.DEFAULT_CHAT_MEMORY_PRECEDENCE_ORDER; + /** + * The chat memory. + */ protected T chatMemory; + /** + * Constructor to create a new {@link AbstractBuilder} instance. + * @param chatMemory the chat memory + */ protected AbstractBuilder(T chatMemory) { this.chatMemory = chatMemory; } + /** + * Set the conversation id. + * @param conversationId the conversation id + * @return the builder + */ public AbstractBuilder withConversationId(String conversationId) { this.conversationId = conversationId; return this; } + /** + * Set the chat memory retrieve size. + * @param chatMemoryRetrieveSize the chat memory retrieve size + * @return the builder + */ public AbstractBuilder withChatMemoryRetrieveSize(int chatMemoryRetrieveSize) { this.chatMemoryRetrieveSize = chatMemoryRetrieveSize; return this; } + /** + * Set whether to protect from blocking. + * @param protectFromBlocking whether to protect from blocking + * @return the builder + */ public AbstractBuilder withProtectFromBlocking(boolean protectFromBlocking) { this.protectFromBlocking = protectFromBlocking; return this; } + /** + * Set the order. + * @param order the order + * @return the builder + */ public AbstractBuilder withOrder(int order) { this.order = order; return this; } - abstract public AbstractChatMemoryAdvisor build(); + /** + * Build the advisor. + * @return the advisor + */ + abstract public AbstractChatMemoryAdvisor build(); } } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/AdvisedRequest.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/AdvisedRequest.java index e79f84ccc..a455d282f 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/AdvisedRequest.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/AdvisedRequest.java @@ -187,6 +187,9 @@ public record AdvisedRequest( return new Prompt(messages, this.chatOptions()); } + /** + * Builder for {@link AdvisedRequest}. + */ public static final class Builder { private ChatModel chatModel; @@ -220,76 +223,150 @@ public record AdvisedRequest( private Builder() { } + /** + * Set the chat model. + * @param chatModel the chat model + * @return this {@link Builder} instance + */ public Builder withChatModel(ChatModel chatModel) { this.chatModel = chatModel; return this; } + /** + * Set the user text. + * @param userText the user text + * @return this {@link Builder} instance + */ public Builder withUserText(String userText) { this.userText = userText; return this; } + /** + * Set the system text. + * @param systemText the system text + * @return this {@link Builder} instance + */ public Builder withSystemText(String systemText) { this.systemText = systemText; return this; } + /** + * Set the chat options. + * @param chatOptions the chat options + * @return this {@link Builder} instance + */ public Builder withChatOptions(ChatOptions chatOptions) { this.chatOptions = chatOptions; return this; } + /** + * Set the media. + * @param media the media + * @return this {@link Builder} instance + */ public Builder withMedia(List media) { this.media = media; return this; } + /** + * Set the function names. + * @param functionNames the function names + * @return this {@link Builder} instance + */ public Builder withFunctionNames(List functionNames) { this.functionNames = functionNames; return this; } + /** + * Set the function callbacks. + * @param functionCallbacks the function callbacks + * @return this {@link Builder} instance + */ public Builder withFunctionCallbacks(List functionCallbacks) { this.functionCallbacks = functionCallbacks; return this; } + /** + * Set the messages. + * @param messages the messages + * @return this {@link Builder} instance + */ public Builder withMessages(List messages) { this.messages = messages; return this; } + /** + * Set the user params. + * @param userParams the user params + * @return this {@link Builder} instance + */ public Builder withUserParams(Map userParams) { this.userParams = userParams; return this; } + /** + * Set the system params. + * @param systemParams the system params + * @return this {@link Builder} instance + */ public Builder withSystemParams(Map systemParams) { this.systemParams = systemParams; return this; } + /** + * Set the advisors. + * @param advisors the advisors + * @return this {@link Builder} instance + */ public Builder withAdvisors(List advisors) { this.advisors = advisors; return this; } + /** + * Set the advisor params. + * @param advisorParams the advisor params + * @return this {@link Builder} instance + */ public Builder withAdvisorParams(Map advisorParams) { this.advisorParams = advisorParams; return this; } + /** + * Set the advise context. + * @param adviseContext the advise context + * @return this {@link Builder} instance + */ public Builder withAdviseContext(Map adviseContext) { this.adviseContext = adviseContext; return this; } + /** + * Set the tool context. + * @param toolContext the tool context + * @return this {@link Builder} instance + */ public Builder withToolContext(Map toolContext) { this.toolContext = toolContext; return this; } + /** + * Build the {@link AdvisedRequest} instance. + * @return a new {@link AdvisedRequest} instance + */ public AdvisedRequest build() { return new AdvisedRequest(this.chatModel, this.userText, this.systemText, this.chatOptions, this.media, this.functionNames, this.functionCallbacks, this.messages, this.userParams, this.systemParams, diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/AdvisedResponse.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/AdvisedResponse.java index d6e329310..7de7b6bf3 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/AdvisedResponse.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/AdvisedResponse.java @@ -28,33 +28,57 @@ import org.springframework.util.Assert; /** * The data of the chat client response that can be modified before the call returns. * + * @param response the chat response + * @param adviseContext the context to advise the response * @author Christian Tzolov * @author Thomas Vitale * @since 1.0.0 */ public record AdvisedResponse(@Nullable ChatResponse response, Map adviseContext) { + /** + * Create a new {@link AdvisedResponse} instance. + * @param response the chat response + * @param adviseContext the context to advise the response + */ public AdvisedResponse { Assert.notNull(adviseContext, "adviseContext cannot be null"); Assert.noNullElements(adviseContext.keySet(), "adviseContext keys cannot be null"); Assert.noNullElements(adviseContext.values(), "adviseContext values cannot be null"); } + /** + * Create a new {@link Builder} instance. + * @return a new {@link Builder} instance + */ public static Builder builder() { return new Builder(); } + /** + * Create a new {@link Builder} instance from the provided {@link AdvisedResponse}. + * @param advisedResponse the advised response to copy + * @return a new {@link Builder} instance + */ public static Builder from(AdvisedResponse advisedResponse) { Assert.notNull(advisedResponse, "advisedResponse cannot be null"); return new Builder().withResponse(advisedResponse.response).withAdviseContext(advisedResponse.adviseContext); } + /** + * Update the context of the advised response. + * @param contextTransform the function to transform the context + * @return the updated advised response + */ public AdvisedResponse updateContext(Function, Map> contextTransform) { Assert.notNull(contextTransform, "contextTransform cannot be null"); return new AdvisedResponse(this.response, Collections.unmodifiableMap(contextTransform.apply(new HashMap<>(this.adviseContext)))); } + /** + * Builder for {@link AdvisedResponse}. + */ public static final class Builder { @Nullable @@ -65,16 +89,30 @@ public record AdvisedResponse(@Nullable ChatResponse response, Map adviseContext) { this.adviseContext = adviseContext; return this; } + /** + * Build the {@link AdvisedResponse}. + * @return the advised response + */ public AdvisedResponse build() { return new AdvisedResponse(this.response, this.adviseContext); } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/Advisor.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/Advisor.java index c03eb507e..d4831d456 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/Advisor.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/Advisor.java @@ -39,6 +39,7 @@ public interface Advisor extends Ordered { int DEFAULT_CHAT_MEMORY_PRECEDENCE_ORDER = Ordered.HIGHEST_PRECEDENCE + 1000; /** + * Return the name of the advisor. * @return the advisor name. */ String getName(); diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/CallAroundAdvisor.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/CallAroundAdvisor.java index 05369aace..12fcc45a3 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/CallAroundAdvisor.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/CallAroundAdvisor.java @@ -17,6 +17,8 @@ package org.springframework.ai.chat.client.advisor.api; /** + * Around advisor that wraps the ChatModel#call(Prompt) method. + * * @author Christian Tzolov * @author Dariusz Jedrzejczyk * @since 1.0.0 diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/StreamAroundAdvisor.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/StreamAroundAdvisor.java index 56ff624f0..26345c95c 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/StreamAroundAdvisor.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/StreamAroundAdvisor.java @@ -19,6 +19,8 @@ package org.springframework.ai.chat.client.advisor.api; import reactor.core.publisher.Flux; /** + * Around advisor that runs around stream based requests. + * * @author Christian Tzolov * @author Dariusz Jedrzejczyk * @since 1.0.0 diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/package-info.java index a4fc77b12..4d0af8642 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/package-info.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +/** + * Provides the API for chat client advisors. + */ @NonNullApi @NonNullFields package org.springframework.ai.chat.client.advisor.api; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/AdvisorObservationContext.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/AdvisorObservationContext.java index 394e89efd..2650c8088 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/AdvisorObservationContext.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/AdvisorObservationContext.java @@ -65,6 +65,15 @@ public class AdvisorObservationContext extends Observation.Context { @Nullable private Map advisorResponseContext; + /** + * Create a new {@link AdvisorObservationContext}. + * @param advisorName the advisor name + * @param advisorType the advisor type + * @param advisorRequest the advised request + * @param advisorRequestContext the shared data between the advisors in the chain + * @param advisorResponseContext the shared data between the advisors in the chain + * @param order the order of the advisor in the advisor chain + */ public AdvisorObservationContext(String advisorName, Type advisorType, @Nullable AdvisedRequest advisorRequest, @Nullable Map advisorRequestContext, @Nullable Map advisorResponseContext, int order) { @@ -79,55 +88,117 @@ public class AdvisorObservationContext extends Observation.Context { this.order = order; } + /** + * Create a new {@link Builder} instance. + * @return the builder + */ public static Builder builder() { return new Builder(); } + /** + * The advisor name. + * @return the advisor name + */ public String getAdvisorName() { return this.advisorName; } + /** + * The type of the advisor. + * @return the type of the advisor + */ public Type getAdvisorType() { return this.advisorType; } + /** + * The order of the advisor in the advisor chain. + * @return the order of the advisor in the advisor chain + */ @Nullable public AdvisedRequest getAdvisedRequest() { return this.advisorRequest; } + /** + * Set the {@link AdvisedRequest} data to be advised. Represents the row + * {@link ChatClient.ChatClientRequestSpec} data before sealed into a {@link Prompt}. + * @param advisedRequest the advised request + */ public void setAdvisedRequest(@Nullable AdvisedRequest advisedRequest) { this.advisorRequest = advisedRequest; } + /** + * Get the shared data between the advisors in the chain. It is shared between all + * request and response advising points of all advisors in the chain. + * @return the shared data between the advisors in the chain + */ @Nullable public Map getAdvisorRequestContext() { return this.advisorRequestContext; } + /** + * Set the shared data between the advisors in the chain. It is shared between all + * request and response advising points of all advisors in the chain. + * @param advisorRequestContext the shared data between the advisors in the chain + */ public void setAdvisorRequestContext(@Nullable Map advisorRequestContext) { this.advisorRequestContext = advisorRequestContext; } + /** + * Get the shared data between the advisors in the chain. It is shared between all + * request and response advising points of all advisors in the chain. + * @return the shared data between the advisors in the chain + */ @Nullable public Map getAdvisorResponseContext() { return this.advisorResponseContext; } + /** + * Set the shared data between the advisors in the chain. It is shared between all + * request and response advising points of all advisors in the chain. + * @param advisorResponseContext the shared data between the advisors in the chain + */ public void setAdvisorResponseContext(@Nullable Map advisorResponseContext) { this.advisorResponseContext = advisorResponseContext; } + /** + * The order of the advisor in the advisor chain. + * @return the order of the advisor in the advisor chain + */ public int getOrder() { return this.order; } + /** + * The type of the advisor. + */ public enum Type { - BEFORE, AFTER, AROUND + /** + * The advisor is called before the advised request is executed. + */ + BEFORE, + /** + * The advisor is called after the advised request is executed. + */ + AFTER, + /** + * The advisor is called around the advised request. + */ + AROUND } + /** + * Builder for {@link AdvisorObservationContext}. + */ public static class Builder { private String advisorName; @@ -142,36 +213,73 @@ public class AdvisorObservationContext extends Observation.Context { private int order = 0; + private Builder() { + } + + /** + * Set the advisor name. + * @param advisorName the advisor name + * @return the builder + */ public Builder withAdvisorName(String advisorName) { this.advisorName = advisorName; return this; } + /** + * Set the advisor type. + * @param advisorType the advisor type + * @return the builder + */ public Builder withAdvisorType(Type advisorType) { this.advisorType = advisorType; return this; } + /** + * Set the advised request. + * @param advisedRequest the advised request + * @return the builder + */ public Builder withAdvisedRequest(AdvisedRequest advisedRequest) { this.advisorRequest = advisedRequest; return this; } + /** + * Set the advisor request context. + * @param advisorRequestContext the advisor request context + * @return the builder + */ public Builder withAdvisorRequestContext(Map advisorRequestContext) { this.advisorRequestContext = advisorRequestContext; return this; } + /** + * Set the advisor response context. + * @param advisorResponseContext the advisor response context + * @return the builder + */ public Builder withAdvisorResponseContext(Map advisorResponseContext) { this.advisorResponseContext = advisorResponseContext; return this; } + /** + * Set the order of the advisor in the advisor chain. + * @param order the order of the advisor in the advisor chain + * @return the builder + */ public Builder withOrder(int order) { this.order = order; return this; } + /** + * Build the {@link AdvisorObservationContext}. + * @return the {@link AdvisorObservationContext} + */ public AdvisorObservationContext build() { return new AdvisorObservationContext(this.advisorName, this.advisorType, this.advisorRequest, this.advisorRequestContext, this.advisorResponseContext, this.order); diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/AdvisorObservationDocumentation.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/AdvisorObservationDocumentation.java index 3d1080fe8..31da7d983 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/AdvisorObservationDocumentation.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/AdvisorObservationDocumentation.java @@ -22,6 +22,8 @@ import io.micrometer.observation.ObservationConvention; import io.micrometer.observation.docs.ObservationDocumentation; /** + * AI Advisor observation documentation. + * * @author Christian Tzolov * @since 1.0.0 */ @@ -48,6 +50,9 @@ public enum AdvisorObservationDocumentation implements ObservationDocumentation }; + /** + * Low cardinality key names. + */ public enum LowCardinalityKeyNames implements KeyName { /** @@ -82,6 +87,9 @@ public enum AdvisorObservationDocumentation implements ObservationDocumentation } + /** + * High cardinality key names. + */ public enum HighCardinalityKeyNames implements KeyName { /** diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/DefaultAdvisorObservationConvention.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/DefaultAdvisorObservationConvention.java index e28fb7057..9d8fd5549 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/DefaultAdvisorObservationConvention.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/DefaultAdvisorObservationConvention.java @@ -26,6 +26,8 @@ import org.springframework.ai.util.ParsingUtils; import org.springframework.lang.Nullable; /** + * Default implementation of the {@link AdvisorObservationConvention}. + * * @author Christian Tzolov * @since 1.0.0 */ diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/package-info.java index d901e06c6..8fc0c4b00 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/observation/package-info.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +/** + * Provides the API for chat client advisors observations. + */ @NonNullApi @NonNullFields package org.springframework.ai.chat.client.advisor.observation; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/package-info.java index 52271abfb..37aa09174 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Provides classes for advising chat clients. + */ @NonNullApi @NonNullFields package org.springframework.ai.chat.client.advisor; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/observation/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/observation/package-info.java index b624f47a7..3f99fec19 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/observation/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/observation/package-info.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +/** + * Provides classes for observing chat data. + */ @NonNullApi @NonNullFields package org.springframework.ai.chat.client.observation; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/package-info.java index 9e66e8de1..b7e446eaf 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/package-info.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +/** + * Chat client. + */ @NonNullApi @NonNullFields package org.springframework.ai.chat.client; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/messages/AbstractMessage.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/messages/AbstractMessage.java index 8fa9514a3..aff40fa4a 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/messages/AbstractMessage.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/messages/AbstractMessage.java @@ -36,10 +36,19 @@ import org.springframework.util.StreamUtils; */ public abstract class AbstractMessage implements Message { + /** + * The key for the message type in the metadata. + */ public static final String MESSAGE_TYPE = "messageType"; + /** + * The message type of the message. + */ protected final MessageType messageType; + /** + * The content of the message. + */ protected final String textContent; /** @@ -47,6 +56,13 @@ public abstract class AbstractMessage implements Message { */ protected final Map metadata; + /** + * Create a new AbstractMessage with the given message type, text content, and + * metadata. + * @param messageType the message type + * @param textContent the text content + * @param metadata the metadata + */ protected AbstractMessage(MessageType messageType, String textContent, Map metadata) { Assert.notNull(messageType, "Message type must not be null"); if (messageType == MessageType.SYSTEM || messageType == MessageType.USER) { @@ -58,6 +74,12 @@ public abstract class AbstractMessage implements Message { this.metadata.put(MESSAGE_TYPE, messageType); } + /** + * Create a new AbstractMessage with the given message type, resource, and metadata. + * @param messageType the message type + * @param resource the resource + * @param metadata the metadata + */ protected AbstractMessage(MessageType messageType, Resource resource, Map metadata) { Assert.notNull(resource, "Resource must not be null"); try (InputStream inputStream = resource.getInputStream()) { @@ -71,16 +93,28 @@ public abstract class AbstractMessage implements Message { this.metadata.put(MESSAGE_TYPE, messageType); } + /** + * Get the content of the message. + * @return the content of the message + */ @Override public String getContent() { return this.textContent; } + /** + * Get the metadata of the message. + * @return the metadata of the message + */ @Override public Map getMetadata() { return this.metadata; } + /** + * Get the message type of the message. + * @return the message type of the message + */ @Override public MessageType getMessageType() { return this.messageType; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/messages/Message.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/messages/Message.java index 089b88b8a..1361f2d8e 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/messages/Message.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/messages/Message.java @@ -29,6 +29,10 @@ import org.springframework.ai.model.Media; */ public interface Message extends Content { + /** + * Get the message type. + * @return the message type + */ MessageType getMessageType(); } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/observation/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/observation/package-info.java index 659b84200..f3e8631df 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/observation/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/observation/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Provides the API for chat observations. + */ @NonNullApi @NonNullFields package org.springframework.ai.chat.observation; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/ChatOptions.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/ChatOptions.java index 205b736c0..5fb6dffb1 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/ChatOptions.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/ChatOptions.java @@ -27,30 +27,66 @@ import org.springframework.lang.Nullable; */ public interface ChatOptions extends ModelOptions { + /** + * Returns the model to use for the chat. + * @return the model to use for the chat + */ @Nullable String getModel(); + /** + * Returns the frequency penalty to use for the chat. + * @return the frequency penalty to use for the chat + */ @Nullable Double getFrequencyPenalty(); + /** + * Returns the maximum number of tokens to use for the chat. + * @return the maximum number of tokens to use for the chat + */ @Nullable Integer getMaxTokens(); + /** + * Returns the presence penalty to use for the chat. + * @return the presence penalty to use for the chat + */ @Nullable Double getPresencePenalty(); + /** + * Returns the stop sequences to use for the chat. + * @return the stop sequences to use for the chat + */ @Nullable List getStopSequences(); + /** + * Returns the temperature to use for the chat. + * @return the temperature to use for the chat + */ @Nullable Double getTemperature(); + /** + * Returns the top K to use for the chat. + * @return the top K to use for the chat + */ @Nullable Integer getTopK(); + /** + * Returns the top P to use for the chat. + * @return the top P to use for the chat + */ @Nullable Double getTopP(); + /** + * Returns a copy of this {@link ChatOptions}. + * @return a copy of this {@link ChatOptions} + */ ChatOptions copy(); } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/converter/AbstractConversionServiceOutputConverter.java b/spring-ai-core/src/main/java/org/springframework/ai/converter/AbstractConversionServiceOutputConverter.java index b4e4d0868..49a419a69 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/converter/AbstractConversionServiceOutputConverter.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/converter/AbstractConversionServiceOutputConverter.java @@ -31,10 +31,19 @@ public abstract class AbstractConversionServiceOutputConverter implements Str private final DefaultConversionService conversionService; + /** + * Create a new {@link AbstractConversionServiceOutputConverter} instance. + * @param conversionService the {@link DefaultConversionService} to use for converting + * the output. + */ public AbstractConversionServiceOutputConverter(DefaultConversionService conversionService) { this.conversionService = conversionService; } + /** + * Return the ConversionService used by this converter. + * @return the ConversionService used by this converter. + */ public DefaultConversionService getConversionService() { return this.conversionService; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/converter/AbstractMessageOutputConverter.java b/spring-ai-core/src/main/java/org/springframework/ai/converter/AbstractMessageOutputConverter.java index 7a22dfc55..f8e9dcea8 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/converter/AbstractMessageOutputConverter.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/converter/AbstractMessageOutputConverter.java @@ -30,10 +30,18 @@ public abstract class AbstractMessageOutputConverter implements StructuredOut private MessageConverter messageConverter; + /** + * Create a new AbstractMessageOutputConverter. + * @param messageConverter the message converter to use + */ public AbstractMessageOutputConverter(MessageConverter messageConverter) { this.messageConverter = messageConverter; } + /** + * Return the message converter used by this output converter. + * @return the message converter + */ public MessageConverter getMessageConverter() { return this.messageConverter; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/converter/FormatProvider.java b/spring-ai-core/src/main/java/org/springframework/ai/converter/FormatProvider.java index eea1e89ce..5bef4b294 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/converter/FormatProvider.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/converter/FormatProvider.java @@ -25,6 +25,7 @@ package org.springframework.ai.converter; public interface FormatProvider { /** + * Get the format of the output of a language generative. * @return Returns a string containing instructions for how the output of a language * generative should be formatted. */ diff --git a/spring-ai-core/src/main/java/org/springframework/ai/document/DefaultContentFormatter.java b/spring-ai-core/src/main/java/org/springframework/ai/document/DefaultContentFormatter.java index 570b3afb4..e5825818b 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/document/DefaultContentFormatter.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/document/DefaultContentFormatter.java @@ -29,6 +29,8 @@ import java.util.stream.Collectors; import org.springframework.util.Assert; /** + * Default implementation of {@link ContentFormatter}. + * * @author Christian Tzolov */ public final class DefaultContentFormatter implements ContentFormatter { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/document/DocumentWriter.java b/spring-ai-core/src/main/java/org/springframework/ai/document/DocumentWriter.java index a85fb49e5..f0c10b3b3 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/document/DocumentWriter.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/document/DocumentWriter.java @@ -20,6 +20,8 @@ import java.util.List; import java.util.function.Consumer; /** + * Write a list of {@link Document} instances. + * * @author Christian Tzolov */ public interface DocumentWriter extends Consumer> { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/embedding/AbstractEmbeddingModel.java b/spring-ai-core/src/main/java/org/springframework/ai/embedding/AbstractEmbeddingModel.java index 8165e5d7a..949876674 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/embedding/AbstractEmbeddingModel.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/embedding/AbstractEmbeddingModel.java @@ -34,6 +34,15 @@ public abstract class AbstractEmbeddingModel implements EmbeddingModel { private static Map KNOWN_EMBEDDING_DIMENSIONS = loadKnownModelDimensions(); + /** + * Default constructor. + */ + public AbstractEmbeddingModel() { + } + + /** + * Cached embedding dimensions. + */ protected final AtomicInteger embeddingDimensions = new AtomicInteger(-1); /** diff --git a/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingModel.java b/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingModel.java index 9875ec2b0..c40ed34d2 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingModel.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingModel.java @@ -111,8 +111,11 @@ public interface EmbeddingModel extends Model> { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingResultMetadata.java b/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingResultMetadata.java index 3b57f5cd7..4f7654fdd 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingResultMetadata.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingResultMetadata.java @@ -22,6 +22,8 @@ import org.springframework.util.MimeType; import org.springframework.util.MimeTypeUtils; /** + * Metadata associated with the embedding result. + * * @author Christian Tzolov * @author Jihoon Kim */ diff --git a/spring-ai-core/src/main/java/org/springframework/ai/embedding/observation/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/embedding/observation/package-info.java index 2fbc924bf..c94308cd8 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/embedding/observation/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/embedding/observation/package-info.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +/** + * Provides the API for embedding observations. + */ @NonNullApi @NonNullFields package org.springframework.ai.embedding.observation; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/image/observation/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/image/observation/package-info.java index 5c7c0f811..aa0219a9b 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/image/observation/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/image/observation/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Provides classes for observing image data. + */ @NonNullApi @NonNullFields package org.springframework.ai.image.observation; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/Content.java b/spring-ai-core/src/main/java/org/springframework/ai/model/Content.java index d006f149e..b5e8fa2a5 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/Content.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/Content.java @@ -31,11 +31,13 @@ public interface Content { /** * Get the content of the message. + * @return the content of the message */ String getContent(); // TODO consider getText /** - * return Get the metadata associated with the content. + * Get the metadata associated with the content. + * @return the metadata associated with the content */ Map getMetadata(); diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/EmbeddingModelDescription.java b/spring-ai-core/src/main/java/org/springframework/ai/model/EmbeddingModelDescription.java index 0019b2011..73104e060 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/EmbeddingModelDescription.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/EmbeddingModelDescription.java @@ -17,6 +17,8 @@ package org.springframework.ai.model; /** + * Description of an embedding model. + * * @author Christian Tzolov */ public interface EmbeddingModelDescription extends ModelDescription { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/EmbeddingUtils.java b/spring-ai-core/src/main/java/org/springframework/ai/model/EmbeddingUtils.java index e34be895b..2ff3339e4 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/EmbeddingUtils.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/EmbeddingUtils.java @@ -20,6 +20,8 @@ import java.util.ArrayList; import java.util.List; /** + * Utility methods for embedding related operations. + * * @author Christian Tzolov * @since 1.0.0 */ diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/ModelDescription.java b/spring-ai-core/src/main/java/org/springframework/ai/model/ModelDescription.java index 71382538b..e1d9ec2b6 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/ModelDescription.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/ModelDescription.java @@ -25,12 +25,24 @@ package org.springframework.ai.model; */ public interface ModelDescription { + /** + * Returns the name of the model. + * @return the name of the model + */ String getName(); + /** + * Returns the description of the model. + * @return the description of the model + */ default String getDescription() { return ""; } + /** + * Returns the version of the model. + * @return the version of the model + */ default String getVersion() { return ""; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/function/DefaultFunctionCallbackBuilder.java b/spring-ai-core/src/main/java/org/springframework/ai/model/function/DefaultFunctionCallbackBuilder.java index 9ce3a7945..2e68130b0 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/function/DefaultFunctionCallbackBuilder.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/function/DefaultFunctionCallbackBuilder.java @@ -42,6 +42,8 @@ import org.springframework.util.ReflectionUtils; import org.springframework.util.StringUtils; /** + * Default implementation of the {@link FunctionCallback.Builder}. + * * @author Christian Tzolov * @since 1.0.0 */ diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallback.java b/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallback.java index 976ddfb5f..4416e239d 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallback.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallback.java @@ -142,7 +142,7 @@ public interface FunctionCallback { FunctionInvokingSpec function(String name, BiFunction biFunction); /** - * Builds a {@link Method} invoking {@link FunctionCallback} instance. + * Builds a Method invoking {@link FunctionCallback} instance. */ MethodInvokingSpec method(String methodName, Class... argumentTypes); @@ -150,6 +150,9 @@ public interface FunctionCallback { /** * {@link Function} invoking builder interface. + * + * @param Function input type. + * @param Function output type. */ interface FunctionInvokingSpec { @@ -174,7 +177,7 @@ public interface FunctionCallback { } /** - * {@link Method} invoking builder interface. + * Method invoking builder interface. */ interface MethodInvokingSpec { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallbackWrapper.java b/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallbackWrapper.java index 11ccb7c37..e8e2c90fc 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallbackWrapper.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallbackWrapper.java @@ -37,6 +37,8 @@ import org.springframework.util.Assert; * String before sending it to the Model. Provide a custom function responseConverter * implementation to override this. * + * @param the input type + * @param the output type * @author Christian Tzolov * @author Sebastien Deleuze * @deprecated in favor of {@link FunctionCallbackWrapper.Builder} @@ -67,6 +69,7 @@ public final class FunctionCallbackWrapper extends AbstractFunctionCallbac } /** + * Create a new {@link FunctionCallbackWrapper} instance. * @deprecated use {@link FunctionCallback#builder()} instead. */ @Deprecated @@ -75,6 +78,10 @@ public final class FunctionCallbackWrapper extends AbstractFunctionCallbac } /** + * Builder for {@link FunctionCallbackWrapper}. + * + * @param the input type + * @param the output type * @deprecated in favor of {@link DefaultFunctionCallbackBuilder} */ @Deprecated diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallingHelper.java b/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallingHelper.java index 5fdb7203c..42db38485 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallingHelper.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallingHelper.java @@ -152,6 +152,10 @@ public class FunctionCallingHelper extends AbstractToolCallSupport { /** * Helper used to provide only the function definition, without the actual function * call implementation. + * + * @param name the function name + * @param description the function description + * @param inputTypeSchema the input type schema */ public static record FunctionDefinition(String name, String description, String inputTypeSchema) implements FunctionCallback { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallingOptions.java b/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallingOptions.java index 91530dac3..876c5289a 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallingOptions.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionCallingOptions.java @@ -23,6 +23,9 @@ import java.util.Set; import org.springframework.ai.chat.prompt.ChatOptions; /** + * FunctionCallingOptions is a set of options that can be used to configure the function + * calling behavior of the ChatModel. + * * @author Christian Tzolov */ public interface FunctionCallingOptions extends ChatOptions { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionInvokingFunctionCallback.java b/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionInvokingFunctionCallback.java index 256cf74e7..fc832c0e2 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionInvokingFunctionCallback.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/function/FunctionInvokingFunctionCallback.java @@ -30,7 +30,9 @@ import org.springframework.util.Assert; * that can be consumed by the Model. The default implementation converts the output into * String before sending it to the Model. Provide a custom function responseConverter * implementation to override this. - * + * + * @param the input type + * @param the output type * @author Christian Tzolov */ public final class FunctionInvokingFunctionCallback extends AbstractFunctionCallback { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/observation/ErrorLoggingObservationHandler.java b/spring-ai-core/src/main/java/org/springframework/ai/model/observation/ErrorLoggingObservationHandler.java index ff9e0a738..0e6cd80d5 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/observation/ErrorLoggingObservationHandler.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/observation/ErrorLoggingObservationHandler.java @@ -30,6 +30,8 @@ import org.slf4j.LoggerFactory; import org.springframework.util.Assert; /** + * An {@link ObservationHandler} that logs errors using a {@link Tracer}. + * * @author Christian Tzolov * @since 1.0.0 */ diff --git a/spring-ai-core/src/main/java/org/springframework/ai/model/observation/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/model/observation/package-info.java index 867e8507c..612b3e672 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/model/observation/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/model/observation/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Provides classes for observing model data. + */ @NonNullApi @NonNullFields package org.springframework.ai.model.observation; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/AiOperationMetadata.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/AiOperationMetadata.java index a8707b1e6..5990a681d 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/AiOperationMetadata.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/AiOperationMetadata.java @@ -33,15 +33,27 @@ import org.springframework.util.Assert; */ public record AiOperationMetadata(String operationType, String provider) { + /** + * Create a new {@link AiOperationMetadata} instance. + * @param operationType the type of operation + * @param provider the provider + */ public AiOperationMetadata { Assert.hasText(operationType, "operationType cannot be null or empty"); Assert.hasText(provider, "provider cannot be null or empty"); } + /** + * Create a new {@link Builder} instance. + * @return a new {@link Builder} instance + */ public static Builder builder() { return new Builder(); } + /** + * Builder for {@link AiOperationMetadata}. + */ public static final class Builder { private String operationType; @@ -51,16 +63,30 @@ public record AiOperationMetadata(String operationType, String provider) { private Builder() { } + /** + * Set the operation type. + * @param operationType the operation type + * @return this {@link Builder} instance + */ public Builder operationType(String operationType) { this.operationType = operationType; return this; } + /** + * Set the provider. + * @param provider the provider + * @return this {@link Builder} instance + */ public Builder provider(String provider) { this.provider = provider; return this; } + /** + * Build the {@link AiOperationMetadata} instance. + * @return a new {@link AiOperationMetadata} instance + */ public AiOperationMetadata build() { return new AiOperationMetadata(this.operationType, this.provider); } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationAttributes.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationAttributes.java index eea71318b..2931ec5c8 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationAttributes.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationAttributes.java @@ -141,6 +141,10 @@ public enum AiObservationAttributes { this.value = value; } + /** + * Return the value of the attribute key. + * @return the value of the attribute key + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationEventNames.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationEventNames.java index a44ce86ff..2b1e87ecf 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationEventNames.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationEventNames.java @@ -30,7 +30,14 @@ public enum AiObservationEventNames { // @formatter:off + /** + * Prompt for content generation. + */ CONTENT_PROMPT("gen_ai.content.prompt"), + + /** + * Completion of content generation. + */ CONTENT_COMPLETION("gen_ai.content.completion"); private final String value; @@ -39,6 +46,10 @@ public enum AiObservationEventNames { this.value = value; } + /** + * Return the value of the event name. + * @return the value of the event name + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationMetricAttributes.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationMetricAttributes.java index b729a8e5b..03f4aacd0 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationMetricAttributes.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationMetricAttributes.java @@ -41,6 +41,10 @@ public enum AiObservationMetricAttributes { this.value = value; } + /** + * Return the value of the metric attribute. + * @return the value of the metric attribute + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationMetricNames.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationMetricNames.java index 2072d3833..0a03a85ef 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationMetricNames.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiObservationMetricNames.java @@ -29,7 +29,14 @@ package org.springframework.ai.observation.conventions; */ public enum AiObservationMetricNames { - OPERATION_DURATION("gen_ai.client.operation.duration"), TOKEN_USAGE("gen_ai.client.token.usage"); + /** + * The duration of the AI operation. + */ + OPERATION_DURATION("gen_ai.client.operation.duration"), + /** + * The number of AI operations. + */ + TOKEN_USAGE("gen_ai.client.token.usage"); private final String value; @@ -37,6 +44,10 @@ public enum AiObservationMetricNames { this.value = value; } + /** + * Return the value of the metric name. + * @return the value of the metric name + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiOperationType.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiOperationType.java index 3defa442f..8efc00e0e 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiOperationType.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiOperationType.java @@ -31,10 +31,29 @@ public enum AiOperationType { // @formatter:off // Please, keep the alphabetical sorting. + /** + * AI operation type for chat. + */ CHAT("chat"), + + /** + * AI operation type for embedding. + */ EMBEDDING("embedding"), + + /** + * AI operation type for framework. + */ FRAMEWORK("framework"), + + /** + * AI operation type for image. + */ IMAGE("image"), + + /** + * AI operation type for text completion. + */ TEXT_COMPLETION("text_completion"); private final String value; @@ -43,6 +62,10 @@ public enum AiOperationType { this.value = value; } + /** + * Return the value of the operation type. + * @return the value of the operation type + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiProvider.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiProvider.java index d6b14c5a7..e723b679b 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiProvider.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiProvider.java @@ -31,19 +31,74 @@ public enum AiProvider { // @formatter:off // Please, keep the alphabetical sorting. + /** + * AI system provided by Anthropic. + */ ANTHROPIC("anthropic"), + + /** + * AI system provided by Azure. + */ AZURE_OPENAI("azure-openai"), - MISTRAL_AI("mistral_ai"), - OCI_GENAI("oci_genai"), - OLLAMA("ollama"), - OPENAI("openai"), - MINIMAX("minimax"), - MOONSHOT("moonshot"), - QIANFAN("qianfan"), - ZHIPUAI("zhipuai"), - SPRING_AI("spring_ai"), - VERTEX_AI("vertex_ai"), + + /** + * AI system provided by Bedrock Converse. + */ BEDROCK_CONVERSE("bedrock_converse"), + + /** + * AI system provided by Mistral. + */ + MISTRAL_AI("mistral_ai"), + + /** + * AI system provided by Oracle OCI. + */ + OCI_GENAI("oci_genai"), + + /** + * AI system provided by Ollama. + */ + OLLAMA("ollama"), + + /** + * AI system provided by OpenAI. + */ + OPENAI("openai"), + + /** + * AI system provided by Minimax. + */ + MINIMAX("minimax"), + + /** + * AI system provided by Moonshot. + */ + MOONSHOT("moonshot"), + + /** + * AI system provided by Qianfan. + */ + QIANFAN("qianfan"), + + /** + * AI system provided by Zhipuai. + */ + ZHIPUAI("zhipuai"), + + /** + * AI system provided by Spring AI. + */ + SPRING_AI("spring_ai"), + + /** + * AI system provided by Vertex AI. + */ + VERTEX_AI("vertex_ai"), + + /** + * AI system provided by ONNX. + */ ONNX("onnx"); private final String value; @@ -52,6 +107,10 @@ public enum AiProvider { this.value = value; } + /** + * Return the value of the provider. + * @return the value of the provider + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiTokenType.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiTokenType.java index 013731f94..28da8df97 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiTokenType.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/AiTokenType.java @@ -30,8 +30,17 @@ public enum AiTokenType { // @formatter:off + /** + * Input token. + */ INPUT("input"), + /** + * Output token. + */ OUTPUT("output"), + /** + * Total token. + */ TOTAL("total"); private final String value; @@ -40,6 +49,10 @@ public enum AiTokenType { this.value = value; } + /** + * Return the value of the token type. + * @return the value of the token type + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/SpringAiKind.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/SpringAiKind.java index d23861d51..4f0a4b28e 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/SpringAiKind.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/SpringAiKind.java @@ -27,8 +27,19 @@ public enum SpringAiKind { // @formatter:off // Please, keep the alphabetical sorting. + /** + * Spring AI kind for advisor. + */ ADVISOR("advisor"), + + /** + * Spring AI kind for chat client. + */ CHAT_CLIENT("chat_client"), + + /** + * Spring AI kind for vector store. + */ VECTOR_STORE("vector_store"); private final String value; @@ -37,6 +48,10 @@ public enum SpringAiKind { this.value = value; } + /** + * Return the value of the Spring AI kind. + * @return the value of the Spring AI kind + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreObservationAttributes.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreObservationAttributes.java index e6f02cdb9..7e411bd7c 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreObservationAttributes.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreObservationAttributes.java @@ -109,6 +109,10 @@ public enum VectorStoreObservationAttributes { this.value = value; } + /** + * Return the string value of the attribute. + * @return the string value of the attribute + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreObservationEventNames.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreObservationEventNames.java index 589b7ffcd..702f9517f 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreObservationEventNames.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreObservationEventNames.java @@ -26,6 +26,9 @@ public enum VectorStoreObservationEventNames { // @formatter:off + /** + * Query for content in the vector store. + */ CONTENT_QUERY_RESPONSE("db.vector.content.query.response"); private final String value; @@ -34,6 +37,10 @@ public enum VectorStoreObservationEventNames { this.value = value; } + /** + * Return the value of the event name. + * @return the value of the event name + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreProvider.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreProvider.java index bd518c982..f43e564fa 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreProvider.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/VectorStoreProvider.java @@ -32,24 +32,99 @@ public enum VectorStoreProvider { // @formatter:off // Please, keep the alphabetical sorting. + /** + * Vector store provided by Azure. + */ AZURE("azure"), + + /** + * Vector store provided by Cassandra. + */ CASSANDRA("cassandra"), + + /** + * Vector store provided by Chroma. + */ CHROMA("chroma"), + + /** + * Vector store provided by CosmosDB. + */ COSMOSDB("cosmosdb"), + + /** + * Vector store provided by Elasticsearch. + */ ELASTICSEARCH("elasticsearch"), + + /** + * Vector store provided by GemFire. + */ GEMFIRE("gemfire"), + + /** + * Vector store provided by HANA. + */ HANA("hana"), + + /** + * Vector store provided by Milvus. + */ MILVUS("milvus"), + + /** + * Vector store provided by MongoDB. + */ MONGODB("mongodb"), + + /** + * Vector store provided by Neo4j. + */ NEO4J("neo4j"), + + /** + * Vector store provided by OpenSearch. + */ OPENSEARCH("opensearch"), + + /** + * Vector store provided by Oracle. + */ ORACLE("oracle"), + + /** + * Vector store provided by PGVector. + */ PG_VECTOR("pg_vector"), + + /** + * Vector store provided by Pinecone. + */ PINECONE("pinecone"), + + /** + * Vector store provided by Qdrand. + */ QDRANT("qdrant"), + + /** + * Vector store provided by Redis. + */ REDIS("redis"), + + /** + * Vector store provided by simple. + */ SIMPLE("simple"), + + /** + * Vector store provided by Typesense. + */ TYPESENSE("typesense"), + + /** + * Vector store provided by Weaviate. + */ WEAVIATE("weaviate"); // @formatter:on @@ -60,6 +135,10 @@ public enum VectorStoreProvider { this.value = value; } + /** + * Return the value of the vector store provider. + * @return the value of the vector store provider + */ public String value() { return this.value; } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/package-info.java index 34a4401d0..d17ac5680 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/conventions/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Conventions for observation-based AI. + */ @NonNullApi @NonNullFields package org.springframework.ai.observation.conventions; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/observation/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/observation/package-info.java index 023d5dc69..53ea964f9 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/observation/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/observation/package-info.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +/** + * Provides classes for observing events in the system. + */ @NonNullApi @NonNullFields package org.springframework.ai.observation; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/Query.java b/spring-ai-core/src/main/java/org/springframework/ai/rag/Query.java index cc8869bee..6e3d61009 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/rag/Query.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/rag/Query.java @@ -21,6 +21,7 @@ import org.springframework.util.Assert; /** * Represents a query in the context of a Retrieval Augmented Generation (RAG) flow. * + * @param text the text of the query * @author Thomas Vitale * @since 1.0.0 */ diff --git a/spring-ai-core/src/main/java/org/springframework/ai/reader/TextReader.java b/spring-ai-core/src/main/java/org/springframework/ai/reader/TextReader.java index db9e284d0..9e2a84719 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/reader/TextReader.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/reader/TextReader.java @@ -33,6 +33,8 @@ import org.springframework.core.io.Resource; import org.springframework.util.StreamUtils; /** + * A {@link DocumentReader} that reads text from a {@link Resource}. + * * @author Craig Walls * @author Christian Tzolov */ diff --git a/spring-ai-core/src/main/java/org/springframework/ai/transformer/splitter/TokenTextSplitter.java b/spring-ai-core/src/main/java/org/springframework/ai/transformer/splitter/TokenTextSplitter.java index 4c1295436..f5c68ff17 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/transformer/splitter/TokenTextSplitter.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/transformer/splitter/TokenTextSplitter.java @@ -28,6 +28,8 @@ import com.knuddels.jtokkit.api.IntArrayList; import org.springframework.util.Assert; /** + * A {@link TextSplitter} that splits text into chunks of a target size in tokens. + * * @author Raphael Yu * @author Christian Tzolov * @author Ricken Bazolo diff --git a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/filter/FilterExpressionConverter.java b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/filter/FilterExpressionConverter.java index 463da47fd..26d322ad6 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/filter/FilterExpressionConverter.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/filter/FilterExpressionConverter.java @@ -25,6 +25,11 @@ package org.springframework.ai.vectorstore.filter; */ public interface FilterExpressionConverter { + /** + * Convert the given {@link Filter.Expression} into a {@link String} representation. + * @param expression the expression to convert + * @return the converted expression + */ String convertExpression(Filter.Expression expression); } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/filter/converter/AbstractFilterExpressionConverter.java b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/filter/converter/AbstractFilterExpressionConverter.java index 808e790e8..a03596aa4 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/filter/converter/AbstractFilterExpressionConverter.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/filter/converter/AbstractFilterExpressionConverter.java @@ -42,12 +42,22 @@ public abstract class AbstractFilterExpressionConverter implements FilterExpress return this.convertOperand(expression); } + /** + * Convert the given operand into a string representation. + * @param operand the operand to convert + * @return the string representation of the operand + */ protected String convertOperand(Operand operand) { var context = new StringBuilder(); this.convertOperand(operand, context); return context.toString(); } + /** + * Convert the given operand into a string representation. + * @param operand the operand to convert + * @param context the context to append the string representation to + */ protected void convertOperand(Operand operand, StringBuilder context) { if (operand instanceof Filter.Group group) { @@ -73,6 +83,11 @@ public abstract class AbstractFilterExpressionConverter implements FilterExpress } } + /** + * Convert the given expression into a string representation. + * @param expression the expression to convert + * @param context the context to append the string representation to + */ protected void doNot(Filter.Expression expression, StringBuilder context) { // Default behavior is to convert the NOT expression into its semantically // equivalent negation expression. @@ -81,10 +96,25 @@ public abstract class AbstractFilterExpressionConverter implements FilterExpress this.convertOperand(FilterHelper.negate(expression), context); } + /** + * Convert the given expression into a string representation. + * @param expression the expression to convert + * @param context the context to append the string representation to + */ protected abstract void doExpression(Filter.Expression expression, StringBuilder context); + /** + * Convert the given key into a string representation. + * @param filterKey the key to convert + * @param context the context to append the string representation to + */ protected abstract void doKey(Filter.Key filterKey, StringBuilder context); + /** + * Convert the given value into a string representation. + * @param filterValue the value to convert + * @param context the context to append the string representation to + */ protected void doValue(Filter.Value filterValue, StringBuilder context) { if (filterValue.value() instanceof List list) { doStartValueRange(filterValue, context); @@ -102,6 +132,11 @@ public abstract class AbstractFilterExpressionConverter implements FilterExpress } } + /** + * Convert the given value into a string representation. + * @param value the value to convert + * @param context the context to append the string representation to + */ protected void doSingleValue(Object value, StringBuilder context) { if (value instanceof String) { context.append(String.format("\"%s\"", value)); @@ -111,36 +146,76 @@ public abstract class AbstractFilterExpressionConverter implements FilterExpress } } + /** + * Convert the given group into a string representation. + * @param group the group to convert + * @param context the context to append the string representation to + */ protected void doGroup(Group group, StringBuilder context) { this.doStartGroup(group, context); this.convertOperand(group.content(), context); this.doEndGroup(group, context); } + /** + * Convert the given group into a string representation. + * @param group the group to convert + * @param context the context to append the string representation to + */ protected void doStartGroup(Group group, StringBuilder context) { } + /** + * Convert the given group into a string representation. + * @param group the group to convert + * @param context the context to append the string representation to + */ protected void doEndGroup(Group group, StringBuilder context) { } + /** + * Convert the given value range into a string representation. + * @param listValue the value range to convert + * @param context the context to append the string representation to + */ protected void doStartValueRange(Filter.Value listValue, StringBuilder context) { context.append("["); } + /** + * Convert the given value range into a string representation. + * @param listValue the value range to convert + * @param context the context to append the string representation to + */ protected void doEndValueRange(Filter.Value listValue, StringBuilder context) { context.append("]"); } + /** + * Convert the given value range into a string representation. + * @param listValue the value range to convert + * @param context the context to append the string representation to + */ protected void doAddValueRangeSpitter(Filter.Value listValue, StringBuilder context) { context.append(","); } // Utilities + /** + * Check if the given string has outer quotes. + * @param str the string to check + * @return true if the string has outer quotes, false otherwise + */ protected boolean hasOuterQuotes(String str) { str = str.trim(); return (str.startsWith("\"") && str.endsWith("\"")) || (str.startsWith("'") && str.endsWith("'")); } + /** + * Remove the outer quotes from the given string. + * @param in the string to remove the outer quotes from + * @return the string without the outer quotes + */ protected String removeOuterQuotes(String in) { return in.substring(1, in.length() - 1); } diff --git a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/AbstractObservationVectorStore.java b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/AbstractObservationVectorStore.java index 025f8e600..3b5dd9d13 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/AbstractObservationVectorStore.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/AbstractObservationVectorStore.java @@ -27,6 +27,9 @@ import org.springframework.ai.vectorstore.VectorStore; import org.springframework.lang.Nullable; /** + * Abstract base class for {@link VectorStore} implementations that provides observation + * capabilities. + * * @author Christian Tzolov * @since 1.0.0 */ @@ -39,12 +42,20 @@ public abstract class AbstractObservationVectorStore implements VectorStore { @Nullable private final VectorStoreObservationConvention customObservationConvention; + /** + * Create a new {@link AbstractObservationVectorStore} instance. + * @param observationRegistry the observation registry to use + */ public AbstractObservationVectorStore(ObservationRegistry observationRegistry, VectorStoreObservationConvention customObservationConvention) { this.observationRegistry = observationRegistry; this.customObservationConvention = customObservationConvention; } + /** + * Create a new {@link AbstractObservationVectorStore} instance. + * @param documents the documents to add + */ @Override public void add(List documents) { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationConvention.java b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationConvention.java index 38a64d377..ed2afd5f3 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationConvention.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationConvention.java @@ -20,6 +20,8 @@ import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationConvention; /** + * A {@link ObservationConvention} for {@link VectorStoreObservationContext}. + * * @author Christian Tzolov * @since 1.0.0 */ diff --git a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/package-info.java index 0fd62c25b..3fe6863ff 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/package-info.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Provides classes for observing and storing vector data. + */ @NonNullApi @NonNullFields package org.springframework.ai.vectorstore.observation; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/anthropic/AnthropicAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/anthropic/AnthropicAutoConfiguration.java index a49203d29..7f32d027e 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/anthropic/AnthropicAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/anthropic/AnthropicAutoConfiguration.java @@ -43,6 +43,8 @@ import org.springframework.web.client.RestClient; import org.springframework.web.reactive.function.client.WebClient; /** + * {@link AutoConfiguration Auto-configuration} for Anthropic Chat Model. + * * @author Christian Tzolov * @author Thomas Vitale * @since 1.0.0 diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/azure/openai/AzureOpenAiAudioTranscriptionProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/azure/openai/AzureOpenAiAudioTranscriptionProperties.java index b3b10416f..d7b949616 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/azure/openai/AzureOpenAiAudioTranscriptionProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/azure/openai/AzureOpenAiAudioTranscriptionProperties.java @@ -21,6 +21,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for Azure OpenAI audio transcription. + * * @author Piotr Olaszewski */ @ConfigurationProperties(AzureOpenAiAudioTranscriptionProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/azure/openai/AzureOpenAiAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/azure/openai/AzureOpenAiAutoConfiguration.java index c40b97461..99083cd8d 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/azure/openai/AzureOpenAiAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/azure/openai/AzureOpenAiAutoConfiguration.java @@ -49,6 +49,8 @@ import org.springframework.util.Assert; import org.springframework.util.StringUtils; /** + * {@link AutoConfiguration Auto-configuration} for Azure OpenAI. + * * @author Piotr Olaszewski * @author Soby Chacko */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/BedrockAwsConnectionConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/BedrockAwsConnectionConfiguration.java index 414dfbbde..b083597e6 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/BedrockAwsConnectionConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/bedrock/BedrockAwsConnectionConfiguration.java @@ -32,6 +32,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.util.StringUtils; /** + * {@link Configuration} for AWS connection. + * * @author Christian Tzolov * @author Wei Jiang */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/CommonChatMemoryProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/CommonChatMemoryProperties.java index 9cd3c9152..489ee2acf 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/CommonChatMemoryProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/CommonChatMemoryProperties.java @@ -17,6 +17,8 @@ package org.springframework.ai.autoconfigure.chat.memory; /** + * Configuration properties for the common chat memory. + * * @author Mick Semb Wever * @since 1.0.0 */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/cassandra/CassandraChatMemoryAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/cassandra/CassandraChatMemoryAutoConfiguration.java index 9e5cfac94..c168669e7 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/cassandra/CassandraChatMemoryAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/cassandra/CassandraChatMemoryAutoConfiguration.java @@ -28,6 +28,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for {@link CassandraChatMemory}. + * * @author Mick Semb Wever * @since 1.0.0 */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/cassandra/CassandraChatMemoryProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/cassandra/CassandraChatMemoryProperties.java index fc0f45e5c..7c3bde2c8 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/cassandra/CassandraChatMemoryProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/memory/cassandra/CassandraChatMemoryProperties.java @@ -27,6 +27,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.lang.Nullable; /** + * Configuration properties for Cassandra chat memory. + * * @author Mick Semb Wever * @since 1.0.0 */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/observation/package-info.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/observation/package-info.java index 1a9623e32..6032da63a 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/observation/package-info.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/chat/observation/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Auto-configuration for chat observation. + */ @NonNullApi @NonNullFields package org.springframework.ai.autoconfigure.chat.observation; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/embedding/observation/package-info.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/embedding/observation/package-info.java index dfba7c661..2275a771e 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/embedding/observation/package-info.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/embedding/observation/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Auto-configuration for embedding observation. + */ @NonNullApi @NonNullFields package org.springframework.ai.autoconfigure.embedding.observation; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/huggingface/HuggingfaceChatProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/huggingface/HuggingfaceChatProperties.java index cf844436d..ff7fda7b0 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/huggingface/HuggingfaceChatProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/huggingface/HuggingfaceChatProperties.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.huggingface; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Hugging Face chat model. + * * @author Christian Tzolov * @author Josh Long * @author Mark Pollack diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/image/observation/package-info.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/image/observation/package-info.java index 019b02af1..559f61df9 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/image/observation/package-info.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/image/observation/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Auto-configuration for image observation. + */ @NonNullApi @NonNullFields package org.springframework.ai.autoconfigure.image.observation; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxAutoConfiguration.java index 6b7c8307c..d60e84815 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxAutoConfiguration.java @@ -44,6 +44,8 @@ import org.springframework.web.client.ResponseErrorHandler; import org.springframework.web.client.RestClient; /** + * {@link AutoConfiguration Auto-configuration} for MiniMax Chat and Embedding Models. + * * @author Geng Rong */ @AutoConfiguration(after = { RestClientAutoConfiguration.class, SpringAiRetryAutoConfiguration.class }) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxChatProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxChatProperties.java index df7b1f0fe..245aaec20 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxChatProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxChatProperties.java @@ -22,6 +22,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for MiniMax chat model. + * * @author Geng Rong */ @ConfigurationProperties(MiniMaxChatProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxEmbeddingProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxEmbeddingProperties.java index cb4023331..e29d348f3 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxEmbeddingProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/minimax/MiniMaxEmbeddingProperties.java @@ -23,6 +23,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for MiniMax embedding model. + * * @author Geng Rong */ @ConfigurationProperties(MiniMaxEmbeddingProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiAutoConfiguration.java index 95241a569..5a50e1ab9 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiAutoConfiguration.java @@ -46,6 +46,8 @@ import org.springframework.web.client.ResponseErrorHandler; import org.springframework.web.client.RestClient; /** + * {@link AutoConfiguration Auto-configuration} for Mistral AI. + * * @author Ricken Bazolo * @author Christian Tzolov * @author Thomas Vitale diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiChatProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiChatProperties.java index af39bc374..bcdbcb4f1 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiChatProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiChatProperties.java @@ -22,6 +22,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for Mistral AI chat. + * * @author Ricken Bazolo * @author Christian Tzolov * @author Thomas Vitale diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiCommonProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiCommonProperties.java index 54023eb63..22d0efada 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiCommonProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiCommonProperties.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.mistralai; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Common properties for Mistral AI. + * * @author Ricken Bazolo * @author Christian Tzolov * @since 0.8.1 diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiEmbeddingProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiEmbeddingProperties.java index 633f36097..380a320ff 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiEmbeddingProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiEmbeddingProperties.java @@ -23,6 +23,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for MistralAI embedding model. + * * @author Ricken Bazolo * @since 0.8.1 */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiParentProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiParentProperties.java index f2d398a58..c44b10340 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiParentProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/mistralai/MistralAiParentProperties.java @@ -17,6 +17,8 @@ package org.springframework.ai.autoconfigure.mistralai; /** + * Parent properties for Mistral AI. + * * @author Ricken Bazolo * @since 0.8.1 */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotAutoConfiguration.java index cc3877fdd..c9af8af72 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotAutoConfiguration.java @@ -42,6 +42,8 @@ import org.springframework.web.client.ResponseErrorHandler; import org.springframework.web.client.RestClient; /** + * {@link AutoConfiguration Auto-configuration} for Moonshot Chat Model. + * * @author Geng Rong */ @AutoConfiguration(after = { RestClientAutoConfiguration.class, SpringAiRetryAutoConfiguration.class }) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotChatProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotChatProperties.java index 299648fe1..73745c04a 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotChatProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotChatProperties.java @@ -22,6 +22,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for Moonshot chat client. + * * @author Geng Rong */ @ConfigurationProperties(MoonshotChatProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotCommonProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotCommonProperties.java index 953f41379..db8989316 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotCommonProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotCommonProperties.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.moonshot; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Parent properties for Moonshot. + * * @author Geng Rong */ @ConfigurationProperties(MoonshotCommonProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotParentProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotParentProperties.java index ed27cfba4..db0475c29 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotParentProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/moonshot/MoonshotParentProperties.java @@ -17,6 +17,8 @@ package org.springframework.ai.autoconfigure.moonshot; /** + * Parent properties for Moonshot. + * * @author Geng Rong */ public class MoonshotParentProperties { diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCICohereChatModelProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCICohereChatModelProperties.java index b4f0a5291..0b878db37 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCICohereChatModelProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCICohereChatModelProperties.java @@ -21,6 +21,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for OCI Cohere chat model. + * * @author Anders Swanson */ @ConfigurationProperties(OCICohereChatModelProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIConnectionProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIConnectionProperties.java index d64c88f9a..e22f573d0 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIConnectionProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIConnectionProperties.java @@ -22,6 +22,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.util.StringUtils; /** + * Configuration properties for OCI connection. + * * @author Anders Swanson */ @ConfigurationProperties(OCIConnectionProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIEmbeddingModelProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIEmbeddingModelProperties.java index 034836a25..dd98ddec4 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIEmbeddingModelProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIEmbeddingModelProperties.java @@ -22,6 +22,8 @@ import org.springframework.ai.oci.OCIEmbeddingOptions; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for OCI embedding model. + * * @author Anders Swanson */ @ConfigurationProperties(OCIEmbeddingModelProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIGenAiAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIGenAiAutoConfiguration.java index 164e149b7..fbf651edb 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIGenAiAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/OCIGenAiAutoConfiguration.java @@ -43,6 +43,9 @@ import org.springframework.context.annotation.Bean; import org.springframework.util.StringUtils; /** + * {@link AutoConfiguration Auto-configuration} for Oracle Cloud Infrastructure Generative + * AI. + * * @author Anders Swanson */ @AutoConfiguration diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/ServingMode.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/ServingMode.java index 291a056b4..d777b8d95 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/ServingMode.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/oci/genai/ServingMode.java @@ -17,6 +17,8 @@ package org.springframework.ai.autoconfigure.oci.genai; /** + * OCI serving mode. + * * @author Anders Swanson */ public enum ServingMode { diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/ollama/OllamaConnectionDetails.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/ollama/OllamaConnectionDetails.java index 9e392486f..8673c3e36 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/ollama/OllamaConnectionDetails.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/ollama/OllamaConnectionDetails.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.ollama; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; /** + * Connection details for an Ollama service. + * * @author Eddú Meléndez */ public interface OllamaConnectionDetails extends ConnectionDetails { diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiAutoConfiguration.java index 3436ca326..b4efac409 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/openai/OpenAiAutoConfiguration.java @@ -60,6 +60,8 @@ import org.springframework.web.client.RestClient; import org.springframework.web.reactive.function.client.WebClient; /** + * {@link AutoConfiguration Auto-configuration} for OpenAI. + * * @author Christian Tzolov * @author Stefan Vassilev * @author Thomas Vitale diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanAutoConfiguration.java index 7c7fe359b..c34745565 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanAutoConfiguration.java @@ -44,6 +44,9 @@ import org.springframework.web.client.ResponseErrorHandler; import org.springframework.web.client.RestClient; /** + * {@link AutoConfiguration Auto-configuration} for QianFan Chat, Embedding, and Image + * Models. + * * @author Geng Rong */ @AutoConfiguration(after = { RestClientAutoConfiguration.class, SpringAiRetryAutoConfiguration.class }) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanChatProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanChatProperties.java index 9208cd53c..da630311f 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanChatProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanChatProperties.java @@ -22,6 +22,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for QianFan chat model. + * * @author Geng Rong */ @ConfigurationProperties(QianFanChatProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanEmbeddingProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanEmbeddingProperties.java index 97091f0b6..b5672f9ad 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanEmbeddingProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/qianfan/QianFanEmbeddingProperties.java @@ -23,6 +23,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for QianFan embedding model. + * * @author Geng Rong */ @ConfigurationProperties(QianFanEmbeddingProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/retry/SpringAiRetryAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/retry/SpringAiRetryAutoConfiguration.java index 39ea42d72..b17b4bfc8 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/retry/SpringAiRetryAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/retry/SpringAiRetryAutoConfiguration.java @@ -41,6 +41,8 @@ import org.springframework.util.StreamUtils; import org.springframework.web.client.ResponseErrorHandler; /** + * {@link AutoConfiguration Auto-configuration} for AI Retry. + * * @author Christian Tzolov */ @AutoConfiguration diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/retry/SpringAiRetryProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/retry/SpringAiRetryProperties.java index 69f651794..f9e681f0d 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/retry/SpringAiRetryProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/retry/SpringAiRetryProperties.java @@ -24,6 +24,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Properties for AI Retry. + * * @author Christian Tzolov */ @ConfigurationProperties(SpringAiRetryProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/stabilityai/StabilityAiImageAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/stabilityai/StabilityAiImageAutoConfiguration.java index cf5f66cf6..266507b86 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/stabilityai/StabilityAiImageAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/stabilityai/StabilityAiImageAutoConfiguration.java @@ -31,6 +31,8 @@ import org.springframework.util.StringUtils; import org.springframework.web.client.RestClient; /** + * {@link AutoConfiguration Auto-configuration} for StabilityAI Image Model. + * * @author Mark Pollack * @author Christian Tzolov * @since 0.8.0 diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/stabilityai/StabilityAiImageProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/stabilityai/StabilityAiImageProperties.java index 9af35a1f2..2c7ad5672 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/stabilityai/StabilityAiImageProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/stabilityai/StabilityAiImageProperties.java @@ -21,6 +21,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for Stability AI image model. + * * @author Mark Pollack * @author Christian Tzolov * @since 0.8.0 diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/transformers/TransformersEmbeddingModelAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/transformers/TransformersEmbeddingModelAutoConfiguration.java index 482e733f9..30652cf3b 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/transformers/TransformersEmbeddingModelAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/transformers/TransformersEmbeddingModelAutoConfiguration.java @@ -31,6 +31,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for Transformers Embedding Model. + * * @author Christian Tzolov */ @AutoConfiguration diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/transformers/TransformersEmbeddingModelProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/transformers/TransformersEmbeddingModelProperties.java index 060114561..6f090aaa2 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/transformers/TransformersEmbeddingModelProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/transformers/TransformersEmbeddingModelProperties.java @@ -30,6 +30,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for the Transformer Embedding model. + * * @author Christian Tzolov */ @ConfigurationProperties(org.springframework.ai.autoconfigure.transformers.TransformersEmbeddingModelProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/CommonVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/CommonVectorStoreProperties.java index db3d6e5b9..8106eb3b2 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/CommonVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/CommonVectorStoreProperties.java @@ -17,6 +17,8 @@ package org.springframework.ai.autoconfigure.vectorstore; /** + * Common properties for vector stores. + * * @author Josh Long * @author Soby Chacko */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreAutoConfiguration.java index 1e0d6bfeb..d43177440 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreAutoConfiguration.java @@ -38,6 +38,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for Azure Vector Store. + * * @author Christian Tzolov * @author Soby Chacko */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java index 661807c7b..2de4cdf75 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java @@ -21,6 +21,8 @@ import org.springframework.ai.vectorstore.azure.AzureVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Azure Vector Store. + * * @author Christian Tzolov */ @ConfigurationProperties(AzureVectorStoreProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreAutoConfiguration.java index 4b9efc247..16104ab53 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreAutoConfiguration.java @@ -38,6 +38,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for Cassandra Vector Store. + * * @author Mick Semb Wever * @author Christian Tzolov * @author Soby Chacko diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreProperties.java index 6b230294d..5b80a9bc4 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreProperties.java @@ -25,6 +25,8 @@ import org.springframework.ai.vectorstore.CassandraVectorStoreConfig; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Cassandra Vector Store. + * * @author Mick Semb Wever * @since 1.0.0 */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaApiProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaApiProperties.java index 4f651278a..aba78e8c8 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaApiProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaApiProperties.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.vectorstore.chroma; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Chroma API client. + * * @author Christian Tzolov */ @ConfigurationProperties(ChromaApiProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaConnectionDetails.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaConnectionDetails.java index 58966d336..0c1566ff3 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaConnectionDetails.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaConnectionDetails.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.vectorstore.chroma; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; /** + * Connection details for a Chroma service. + * * @author Eddú Meléndez */ public interface ChromaConnectionDetails extends ConnectionDetails { diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreAutoConfiguration.java index 0cf7aba5a..de3ba67f8 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreAutoConfiguration.java @@ -35,6 +35,8 @@ import org.springframework.util.StringUtils; import org.springframework.web.client.RestClient; /** + * {@link AutoConfiguration Auto-configuration} for Chroma Vector Store. + * * @author Christian Tzolov * @author Eddú Meléndez * @author Soby Chacko diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreProperties.java index 42d4edca0..2ce5e6dea 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreProperties.java @@ -21,6 +21,8 @@ import org.springframework.ai.vectorstore.ChromaVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Chroma Vector Store. + * * @author Christian Tzolov * @author Soby Chacko */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreAutoConfiguration.java index dd77e5341..0e28a8595 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreAutoConfiguration.java @@ -34,6 +34,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for CosmosDB Vector Store. + * * @author Theo van Kraay * @author Soby Chacko * @since 1.0.0 diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java index 431d3aa73..6f34b69a1 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java @@ -20,6 +20,8 @@ import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStorePropert import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for CosmosDB Vector Store. + * * @author Theo van Kraay * @since 1.0.0 */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreAutoConfiguration.java index 3978f1449..d5e14d229 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreAutoConfiguration.java @@ -35,6 +35,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.util.StringUtils; /** + * {@link AutoConfiguration Auto-configuration} for Elasticsearch Vector Store. + * * @author Eddú Meléndez * @author Wei Jiang * @author Josh Long diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreProperties.java index 336a8f57e..bbcf95cb5 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreProperties.java @@ -21,6 +21,8 @@ import org.springframework.ai.vectorstore.SimilarityFunction; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Elasticsearch Vector Store. + * * @author Eddú Meléndez * @author Wei Jiang * @author Josh Long diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireConnectionDetails.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireConnectionDetails.java index 2013f9f60..838e2cd27 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireConnectionDetails.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireConnectionDetails.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.vectorstore.gemfire; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; /** + * Connection details for a GemFire service. + * * @author Geet Rawat */ public interface GemFireConnectionDetails extends ConnectionDetails { diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreAutoConfiguration.java index 32e4fada4..37e02e18d 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreAutoConfiguration.java @@ -32,6 +32,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for GemFire Vector Store. + * * @author Geet Rawat * @author Christian Tzolov * @author Soby Chacko diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreProperties.java index 5e650dc92..819007880 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreProperties.java @@ -21,6 +21,8 @@ import org.springframework.ai.vectorstore.GemFireVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for GemFire Vector Store. + * * @author Geet Rawat * @author Soby Chacko */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/hanadb/HanaCloudVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/hanadb/HanaCloudVectorStoreAutoConfiguration.java index a2dda1e7a..b2ffd9039 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/hanadb/HanaCloudVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/hanadb/HanaCloudVectorStoreAutoConfiguration.java @@ -35,6 +35,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for Hana Cloud Vector Store. + * * @author Rahul Mittal * @author Christian Tzolov * @since 1.0.0 diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/hanadb/HanaCloudVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/hanadb/HanaCloudVectorStoreProperties.java index 4c30d2407..37aab1f9f 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/hanadb/HanaCloudVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/hanadb/HanaCloudVectorStoreProperties.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.vectorstore.hanadb; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Hana Cloud Vector Store. + * * @author Rahul Mittal * @since 1.0.0 */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusServiceClientConnectionDetails.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusServiceClientConnectionDetails.java index ffc93daed..2a480e9d7 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusServiceClientConnectionDetails.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusServiceClientConnectionDetails.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.vectorstore.milvus; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; /** + * Connection details for a Milvus service client. + * * @author Eddú Meléndez */ public interface MilvusServiceClientConnectionDetails extends ConnectionDetails { diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreAutoConfiguration.java index ae9773690..fde5c380b 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreAutoConfiguration.java @@ -39,6 +39,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.util.StringUtils; /** + * {@link AutoConfiguration Auto-configuration} for Milvus Vector Store. + * * @author Christian Tzolov * @author Eddú Meléndez * @author Soby Chacko diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreProperties.java index 6e022fdf9..9e8457caa 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreProperties.java @@ -22,6 +22,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.util.Assert; /** + * Configuration properties for Milvus Vector Store. + * * @author Christian Tzolov * @author Ilayaperumal Gopinathan */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreAutoConfiguration.java index 59f5855a7..aaadea3bb 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreAutoConfiguration.java @@ -38,6 +38,8 @@ import org.springframework.util.MimeType; import org.springframework.util.StringUtils; /** + * {@link AutoConfiguration Auto-configuration} for MongoDB Atlas Vector Store. + * * @author Eddú Meléndez * @author Christian Tzolov * @author Soby Chacko diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreProperties.java index 22b6c680e..a666855d5 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreProperties.java @@ -22,6 +22,8 @@ import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStorePropert import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for MongoDB Atlas Vector Store. + * * @author Eddú Meléndez * @author Christian Tzolov * @author Ignacio López diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreAutoConfiguration.java index e5be310fe..0c65588cb 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreAutoConfiguration.java @@ -33,6 +33,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for Neo4j Vector Store. + * * @author Jingzhou Ou * @author Josh Long * @author Christian Tzolov diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreProperties.java index 53e75b46a..b6a4f1547 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreProperties.java @@ -21,6 +21,8 @@ import org.springframework.ai.vectorstore.Neo4jVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Neo4j Vector Store. + * * @author Jingzhou Ou * @author Josh Long */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/observation/package-info.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/observation/package-info.java index af2a6feec..a02ffdca4 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/observation/package-info.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/observation/package-info.java @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * Auto-configuration for observation vector store. + */ @NonNullApi @NonNullFields package org.springframework.ai.autoconfigure.vectorstore.observation; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreAutoConfiguration.java index a63c95bac..f5f5cec88 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreAutoConfiguration.java @@ -35,6 +35,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.jdbc.core.JdbcTemplate; /** + * {@link AutoConfiguration Auto-configuration} for Oracle Vector Store. + * * @author Loïc Lefèvre * @author Eddú Meléndez * @author Christian Tzolov diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreProperties.java index de1c42f3b..cedc3b061 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreProperties.java @@ -21,6 +21,8 @@ import org.springframework.ai.vectorstore.OracleVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Oracle Vector Store. + * * @author Loïc Lefèvre */ @ConfigurationProperties(OracleVectorStoreProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreAutoConfiguration.java index 8f9cf21b4..a32f88acd 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreAutoConfiguration.java @@ -35,6 +35,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.jdbc.core.JdbcTemplate; /** + * {@link AutoConfiguration Auto-configuration} for PostgreSQL Vector Store. + * * @author Christian Tzolov * @author Josh Long * @author Soby Chacko diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreProperties.java index d2947a5ad..08d91cfaf 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreProperties.java @@ -23,6 +23,8 @@ import org.springframework.ai.vectorstore.PgVectorStore.PgIndexType; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for PostgreSQL Vector Store. + * * @author Christian Tzolov * @author Muthukumaran Navaneethakrishnan * @author Soby Chacko diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreAutoConfiguration.java index 9526c3e3c..edb7cfb4a 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreAutoConfiguration.java @@ -32,6 +32,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for Pinecone Vector Store. + * * @author Christian Tzolov * @author Soby Chacko */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreProperties.java index c73dfee07..a40804a65 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreProperties.java @@ -22,6 +22,8 @@ import org.springframework.ai.vectorstore.PineconeVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Pinecone Vector Store. + * * @author Christian Tzolov */ @ConfigurationProperties(PineconeVectorStoreProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantConnectionDetails.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantConnectionDetails.java index 321d21b8e..9027c6ab0 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantConnectionDetails.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantConnectionDetails.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.vectorstore.qdrant; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; /** + * Connection details for a Qdrant service client. + * * @author Eddú Meléndez */ public interface QdrantConnectionDetails extends ConnectionDetails { diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfiguration.java index 3d1914200..28249bc97 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfiguration.java @@ -33,6 +33,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for Qdrant Vector Store. + * * @author Anush Shetty * @author Eddú Meléndez * @author Christian Tzolov diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreProperties.java index 10438c5a9..64552550c 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreProperties.java @@ -21,6 +21,8 @@ import org.springframework.ai.vectorstore.qdrant.QdrantVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Qdrant Vector Store. + * * @author Anush Shetty * @author Josh Long * @since 0.8.1 diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreAutoConfiguration.java index 2ffaf86a2..6a252bbcc 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreAutoConfiguration.java @@ -36,6 +36,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; /** + * {@link AutoConfiguration Auto-configuration} for Redis Vector Store. + * * @author Christian Tzolov * @author Eddú Meléndez * @author Soby Chacko diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreProperties.java index 9a1922607..21859a5bd 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreProperties.java @@ -20,6 +20,8 @@ import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStorePropert import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Redis Vector Store. + * * @author Julien Ruaux * @author Eddú Meléndez */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseConnectionDetails.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseConnectionDetails.java index 94f0fd102..3145c15dc 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseConnectionDetails.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseConnectionDetails.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.vectorstore.typesense; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; /** + * Connection details for a Typesense service client. + * * @author Pablo Sanchidrian Herrera */ public interface TypesenseConnectionDetails extends ConnectionDetails { diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseServiceClientProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseServiceClientProperties.java index bc4ab0dae..64683100c 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseServiceClientProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseServiceClientProperties.java @@ -19,6 +19,8 @@ package org.springframework.ai.autoconfigure.vectorstore.typesense; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Typesense service client. + * * @author Pablo Sanchidrian Herrera */ @ConfigurationProperties(TypesenseServiceClientProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreAutoConfiguration.java index 14789133d..233fed9bd 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreAutoConfiguration.java @@ -39,6 +39,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for Typesense Vector Store. + * * @author Pablo Sanchidrian Herrera * @author Eddú Meléndez * @author Soby Chacko diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreProperties.java index 22eea6396..44c24d1ea 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreProperties.java @@ -21,6 +21,8 @@ import org.springframework.ai.vectorstore.TypesenseVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Typesense Vector Store. + * * @author Pablo Sanchidrian Herrera * @author Soby Chacko */ diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreAutoConfiguration.java index f16226bd7..cc0fec826 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreAutoConfiguration.java @@ -37,6 +37,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; /** + * {@link AutoConfiguration Auto-configuration} for Weaviate Vector Store. + * * @author Christian Tzolov * @author Eddú Meléndez * @author Soby Chacko diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreProperties.java index 7b3a61f16..a39a0f43e 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreProperties.java @@ -24,6 +24,8 @@ import org.springframework.ai.vectorstore.WeaviateVectorStore.WeaviateVectorStor import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Configuration properties for Weaviate Vector Store. + * * @author Christian Tzolov */ @ConfigurationProperties(WeaviateVectorStoreProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiAutoConfiguration.java index 7b89cad77..00c1407e1 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiAutoConfiguration.java @@ -46,6 +46,8 @@ import org.springframework.web.client.ResponseErrorHandler; import org.springframework.web.client.RestClient; /** + * {@link AutoConfiguration Auto-configuration} for ZhiPuAI. + * * @author Geng Rong */ @AutoConfiguration(after = { RestClientAutoConfiguration.class, SpringAiRetryAutoConfiguration.class }) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiChatProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiChatProperties.java index 86004fec9..ce89974e8 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiChatProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiChatProperties.java @@ -22,6 +22,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for ZhiPuAI chat model. + * * @author Geng Rong */ @ConfigurationProperties(ZhiPuAiChatProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiEmbeddingProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiEmbeddingProperties.java index 86b8b0086..771c26a04 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiEmbeddingProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiEmbeddingProperties.java @@ -23,6 +23,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for ZhiPuAI embedding model. + * * @author Geng Rong */ @ConfigurationProperties(ZhiPuAiEmbeddingProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiImageProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiImageProperties.java index 4751dbe6f..7266eeb13 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiImageProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/zhipuai/ZhiPuAiImageProperties.java @@ -21,6 +21,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** + * Configuration properties for ZhiPuAI chat model. + * * @author Geng Rong */ @ConfigurationProperties(ZhiPuAiImageProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactory.java b/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactory.java index ad7691716..011461828 100644 --- a/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactory.java +++ b/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactory.java @@ -22,6 +22,8 @@ import org.springframework.boot.docker.compose.service.connection.DockerComposeC import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; /** + * {@link DockerComposeConnectionDetailsFactory} for {@link TypesenseConnectionDetails}. + * * @author Eddú Meléndez */ public class TypesenseDockerComposeConnectionDetailsFactory diff --git a/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStore.java b/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStore.java index 8c4697017..c0ad68e36 100644 --- a/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStore.java +++ b/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStore.java @@ -70,6 +70,8 @@ import org.springframework.ai.vectorstore.observation.VectorStoreObservationCont import org.springframework.ai.vectorstore.observation.VectorStoreObservationConvention; /** + * Cosmos DB implementation. + * * @author Theo van Kraay * @author Soby Chacko * @since 1.0.0 diff --git a/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStoreConfig.java b/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStoreConfig.java index 96729cbcf..448b7ec5d 100644 --- a/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStoreConfig.java +++ b/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStoreConfig.java @@ -19,6 +19,8 @@ package org.springframework.ai.vectorstore; import java.util.List; /** + * Configuration properties for a CosmosDB vector store. + * * @author Theo van Kraay * @since 1.0.0 */ diff --git a/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/cassandra/SchemaUtil.java b/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/cassandra/SchemaUtil.java index 11ca9efe0..ebaf90de2 100644 --- a/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/cassandra/SchemaUtil.java +++ b/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/cassandra/SchemaUtil.java @@ -25,6 +25,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** + * Utility class for working with Cassandra schema. + * * @author Mick Semb Wever * @since 1.0.0 */ diff --git a/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/chat/memory/CassandraChatMemoryConfig.java b/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/chat/memory/CassandraChatMemoryConfig.java index c8470c897..2c25346f1 100644 --- a/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/chat/memory/CassandraChatMemoryConfig.java +++ b/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/chat/memory/CassandraChatMemoryConfig.java @@ -46,6 +46,8 @@ import org.slf4j.LoggerFactory; import org.springframework.ai.cassandra.SchemaUtil; /** + * Configuration for the Cassandra Chat Memory store. + * * @author Mick Semb Wever * @since 1.0.0 */ diff --git a/vector-stores/spring-ai-chroma-store/src/main/java/org/springframework/ai/chroma/ChromaApi.java b/vector-stores/spring-ai-chroma-store/src/main/java/org/springframework/ai/chroma/ChromaApi.java index c2892eaa4..743a4670c 100644 --- a/vector-stores/spring-ai-chroma-store/src/main/java/org/springframework/ai/chroma/ChromaApi.java +++ b/vector-stores/spring-ai-chroma-store/src/main/java/org/springframework/ai/chroma/ChromaApi.java @@ -441,6 +441,12 @@ public class ChromaApi { /** * Single query embedding response. + * + * @param id The id of the document. + * @param embedding The embedding of the document. + * @param document The content of the document. + * @param metadata The metadata of the document. + * @param distances The distance of the document to the query embedding. */ public record Embedding(String id, float[] embedding, String document, Map metadata, Double distances) { diff --git a/vector-stores/spring-ai-milvus-store/src/main/java/org/springframework/ai/vectorstore/MilvusVectorStore.java b/vector-stores/spring-ai-milvus-store/src/main/java/org/springframework/ai/vectorstore/MilvusVectorStore.java index 920013109..9ed8d8b01 100644 --- a/vector-stores/spring-ai-milvus-store/src/main/java/org/springframework/ai/vectorstore/MilvusVectorStore.java +++ b/vector-stores/spring-ai-milvus-store/src/main/java/org/springframework/ai/vectorstore/MilvusVectorStore.java @@ -70,6 +70,9 @@ import org.springframework.util.Assert; import org.springframework.util.StringUtils; /** + * Milvus based implementation of the + * {@link org.springframework.ai.vectorstore.VectorStore}. + * * @author Christian Tzolov * @author Soby Chacko * @author Thomas Vitale diff --git a/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/MongoDBAtlasVectorStore.java b/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/MongoDBAtlasVectorStore.java index b2d888ee6..2e40db851 100644 --- a/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/MongoDBAtlasVectorStore.java +++ b/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/MongoDBAtlasVectorStore.java @@ -44,6 +44,8 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.util.Assert; /** + * A {@link VectorStore} implementation that uses MongoDB Atlas for storing and + * * @author Chris Smith * @author Soby Chacko * @author Christian Tzolov diff --git a/vector-stores/spring-ai-neo4j-store/src/main/java/org/springframework/ai/vectorstore/Neo4jVectorStore.java b/vector-stores/spring-ai-neo4j-store/src/main/java/org/springframework/ai/vectorstore/Neo4jVectorStore.java index 2b6e0f6fa..0493d893c 100644 --- a/vector-stores/spring-ai-neo4j-store/src/main/java/org/springframework/ai/vectorstore/Neo4jVectorStore.java +++ b/vector-stores/spring-ai-neo4j-store/src/main/java/org/springframework/ai/vectorstore/Neo4jVectorStore.java @@ -43,6 +43,8 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.util.Assert; /** + * A vector store implementation that stores and retrieves vectors in a Neo4j database. + * * @author Gerrit Meier * @author Michael Simons * @author Christian Tzolov diff --git a/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/OpenSearchAiSearchFilterExpressionConverter.java b/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/OpenSearchAiSearchFilterExpressionConverter.java index 23330b280..71022a986 100644 --- a/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/OpenSearchAiSearchFilterExpressionConverter.java +++ b/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/OpenSearchAiSearchFilterExpressionConverter.java @@ -29,6 +29,8 @@ import org.springframework.ai.vectorstore.filter.Filter.Key; import org.springframework.ai.vectorstore.filter.converter.AbstractFilterExpressionConverter; /** + * A FilterExpressionConverter implementation for OpenSearch AI search filter expressions. + * * @author Jemin Huh * @since 1.0.0 */ diff --git a/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/OpenSearchVectorStore.java b/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/OpenSearchVectorStore.java index 35710cf9d..a6a6fe283 100644 --- a/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/OpenSearchVectorStore.java +++ b/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/OpenSearchVectorStore.java @@ -56,6 +56,8 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.util.Assert; /** + * An ObservationVectorStore implementation that stores vectors in OpenSearch. + * * @author Jemin Huh * @author Soby Chacko * @author Christian Tzolov diff --git a/vector-stores/spring-ai-oracle-store/src/main/java/org/springframework/ai/vectorstore/SqlJsonPathFilterExpressionConverter.java b/vector-stores/spring-ai-oracle-store/src/main/java/org/springframework/ai/vectorstore/SqlJsonPathFilterExpressionConverter.java index 0fd446257..69f61f6ec 100644 --- a/vector-stores/spring-ai-oracle-store/src/main/java/org/springframework/ai/vectorstore/SqlJsonPathFilterExpressionConverter.java +++ b/vector-stores/spring-ai-oracle-store/src/main/java/org/springframework/ai/vectorstore/SqlJsonPathFilterExpressionConverter.java @@ -20,6 +20,8 @@ import org.springframework.ai.vectorstore.filter.Filter; import org.springframework.ai.vectorstore.filter.converter.AbstractFilterExpressionConverter; /** + * Converts a {@link Filter} into a JSON Path expression. + * * @author Loïc Lefèvre * @see JSON diff --git a/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/PgVectorSchemaValidator.java b/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/PgVectorSchemaValidator.java index 5e7c30d39..b854217f4 100644 --- a/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/PgVectorSchemaValidator.java +++ b/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/PgVectorSchemaValidator.java @@ -27,6 +27,8 @@ import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.JdbcTemplate; /** + * Validates the schema of a PostgreSQL table used as a PGVectorStore. + * * @author Muthukumaran Navaneethakrishnan * @author Christian Tzolov * @since 1.0.0 diff --git a/vector-stores/spring-ai-typesense-store/src/main/java/org/springframework/ai/vectorstore/TypesenseVectorStore.java b/vector-stores/spring-ai-typesense-store/src/main/java/org/springframework/ai/vectorstore/TypesenseVectorStore.java index 1a7d0b36d..b0fc72f13 100644 --- a/vector-stores/spring-ai-typesense-store/src/main/java/org/springframework/ai/vectorstore/TypesenseVectorStore.java +++ b/vector-stores/spring-ai-typesense-store/src/main/java/org/springframework/ai/vectorstore/TypesenseVectorStore.java @@ -52,6 +52,8 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.util.Assert; /** + * A ObservationVectorStore implementation that uses Typesense as the underlying storage. + * * @author Pablo Sanchidrian Herrera * @author Soby Chacko * @author Christian Tzolov