- copy constructor for ChatClient#call incantations based on defaults.
- copy constructor for ChatClient#call incantations based on defaults.
- fix ChatClient structured output flow.
- add OpenAiChatClientIT.
- add ChatClient stream support
- implement fromOptions copty factory for eavery chatoptions implementation.
- extend ChatClient to use the caller default options if not provided explicitely.
- fix system/user text overdidign default system/user texts. Only non empty
user/system text can overrid defult system/user text.
- rename chat() method to collect().
- add OpenAI FunctionCallbackWrapper2IT auto-config tests.
- rename request call() to prompt() and the response collect() to call(). Adjust tests
- add overload methods for defaultSytem()/defaultUer() and system() methods.
- add ChatClientTest mockito testing
- fix ChatClient list() convertions
- Rename the ModelClient class hiearchy into Model
- Rename ModelClient into Model. Update all code and doc references.
- Rename ChatClient to ChatModel. Update all ChatClient suffixes and chatClient fields and variables in code and doc.
- Rename EmbeddingClient into EmbeddingModel. Update the XxxEmbeddingClient class and variable suffixes and embeddingClient variables and fields in code and docs.
- Rename ImageClient into ImageModel. ....
- Rename SpeechClient into SpeechModel ....
- Rename TranscriptionClient into TranscriptionModel ...
- Update all javadocs and antora pages. Update the related diagrams.
- refactor usability tests.
Co-authored-by: Christian Tzolov <ctzolov@vmware.com>
Add ParametrizedTypeReference constructoers along the Clas<T> such.
Convert the Class into ParametrizedTypeReference internally.
Update tests and docs.
* Put creation of EvaluationRequest in ChatServiceResponse
* Add string constructor to QuestionContextAugmentor
* change vectorStore accept() usage to write()
* Added more natural method names to DocumentReader, Transformer, Writer
* Changed Content getMedia to return Collection, deprecated use of List
* Change constructor for Media to accept URL and Resource, deprecate Object constructor
* Update ETL documentation and a few tests to avoid now deprecated APIs.
- Add Java reflection merge utilities that can access Azure private constructors and fields.
- Azure merging, creation of flux windows.
- Function call grouping for function processing.
- Do not perform greedy operation on Flux.
- Use "real" streaming on all client on function response.
- Gerimi: fix missing method impl.
- Mistral AI, OpenAI: fix missing stream flag in doCreateToolResponseRequest.
- Fix code formatting. No wildcard imports.
- Add Grogdunn to the javadoc authors.
- Anthropic 3 API does not support streaming funciton calling yet.
* Add ChatBot and basic DefaultChatBot
* Add streaming ChatBot support.
* Add Evaluator interface and RelevancyEvaluator implementation
* Add Content data type abstraction for Document and Message
* Renaming and package refactoring
* update .gitignore to allow node package name
* Add List<Media> to node and move ai.transformer package to ai.prompt.transformer
* Add Short/Long term memory support.
* Add mixing transformers support
Docs TBD
- Old OutputParser, BeanOutputParser, ListOutputParser and MapOutputParser classes are depredated
in favour of the new StructuredOutputConverter, BeanOutputConverter, ListOutputConverter and
MapOutputConverter implementations.
Later are drop-in replacements for the former ones, and provide the same functionality.
- Keep the existing parser package and classes for backward compatibility.
- Adjust the PromptTemplate for backward compatibility
- Update all existing tests to use the new Structured Output API.
- Improve the documentation for structured outputs.
Configure the amount of time to allow the client to complete the execution of an API call.
This timeout covers the entire client execution except for marshalling. This includes request handler execution,
all HTTP requests including retries, unmarshalling, etc. This value should always be positive, if present.
- Add timeout filed to the AbstractBedrockApi, used to initialize the BedrockRuntimeClient and the
BedrockStreamingRuntimeClient. Update all classes that extend the AbstractBedrockApi.
- Keep the previous constructors for backward compatibility using timeout value of 5 min.
- Add a common AWS connection timeout auto-config property and update the documentation.
Defaults to 5 min.
Additional changes:
- Fix Anthropic 3 straming response - add bedrock metrics field.
- Increate the default timeout to 5 min. Update the docs.
- Increase the ITs.
- This allows custom ObjectMappers to be used when creating FunctionCallbackWrappers.
- Set the FunctionCallbackWrapper#ObjectMapper default to match the ModelOptionUtils#ObjectMapper config.
- expanded the AnthropicApi to include Tool, facilitating request and response abstractions.
- extended AnthropicChatClient to inherit AbstractFunctionCallSupport, with
implementation of all necessary methods and function registration protocols.
- implemented FunctionCallingOptions interface in AnthropicChatOptions.
- added tools integration tests for AnthropoicApi and AnthropicChatClient.
- extended the auto-configuration with functional calling functionality.
- added ITs for tools auto-config.
- updated documentation on anthropic function calling and relevant pages for comprehensive coverage.
- Implement ElasticsearchVectoSotore and IT.
- Add ElasticsearchAiSearchFilterExpressionConverter.
- Add dependency to BOM and module to parent pom.
- Fix ElasticsearchVectorStoreIT FilterExpression with
Date type requires the use of epoch milliseconds.
- Add license formatting.
- Created low-leverl anthropic messages API for Claude 3.
Use the new message API.
- Add Chat Client with tests.
- Add bedrok anthropic 3 docs.
- Add multibudality support + tests.
- Add auto-configuraiton & tests.
- Rename Athropic to Athropic3 in class names to avoid confusion with previous Bedrock Anthropic 2 impl.
* Fix Typo: Duplicate 'for' in documentation text
* Fix Typo: Duplicate 'to' in documentation text
* Fix broken links in documentation
* Correct grammar by deleting unnecessary 'an' in documentation
* Fix typo: Change 'tunning' to 'tuning' in documentation
* Fix typo: Change 'an' to 'can' in documentation
* Fix typo: Change 'generats' to 'generates' in documentation
* Fix grammatical error: Change 'a AI' to 'an AI' in documentation
* Fix grammatical error: Change 'a AI' to 'an AI' in code
* Fix Typo: Duplicate 'for' in code
- Extends the reactor logic to to allow aggregation of the chunked tool-calls messages and
leverage the exsiting fnctoin calling infrastructure.
- Seamples experience for the streaming functionality.
- Add Message ID and FinishReason to the returned Generations properties.
- Make MistralAiChatClient extend the AbstractFunctionCallSupport and implement the necessary abstract classes.
- Extend the MistralAiApi to include the latest (undocumented) changes providing function calling support as well.
The Mistral AI is almost identical to the OpenAI API except it doesn't support parallel function colling (e.g. missing tool_call_id).
- Add MistralAiApi function calling tests (implement the Mistral tutorial).
- Extend the misral chat options to include the new API features and function call abstractions.
- Extend Mistral's chat auto-configration to accomodate the function callback support.
- Add ITs for testing function calling.
- Remove redundant code from MistralAiApi and OpenAiApi.
- Simplify and improve the HTTP error handling in OpenAiApi, ImageAiApi and MistralAiApi.
- Extend the Spring AI Message with getMediaData() : List<MediaData>
MediaData is a pair of MimeType and data of type Object.
Message#getContent() return text only.
- VertexAI Gemini Support
- implement VertexAiGeiminChatClient for ChatClient and StreamingChat client and support for MediaData content.
add IT tests for Chat, Streaming and Multimodality
- add Auto-configuration + ITs
- add Gemini Spring Boot starter.
- add clients and boot starters to the Spring AI BOM.
- add Anotra documentation for the Gemini chat client.
- update gemini to latest 26.33.0 BOM.
- add vertex ai gemini dependencies to the BOM.
- add Vertex AI Gemini API Function Calling support
- add Gemini API Function Calling Streaming support
- add vertex ai gemini function calling documentation
- factor out the Function Calling functionality into common abstraction used by OpenAI, Azure and Gemini.
- group the VertexAI documentation under a common parent
- add PortableFunctionCallingOption that implements FunctionCallingOptions and ChatOptions and provide builder for it.
- remove some deprecated code.
- allow authorization with GoogleCredentials form json file.
- add AOT support for VertexAI Gemini.
- move legacy Vertex AI into VertexAI PaLM2.
- better handling for empty chat responses.
- update the Gemini version to latest 26.33.0. This required lifting the protobuf-java to 3.25.2 as well.
- fix a bug for handling System messages with Gemini.
- Implement Azure OpenAI Function Calling
Uses the same the common abstractions used by OpenAI and Gemini: FunctionCallingOptions and AbstractFunctionCallSupport