* Rename the ModelClient class hierarchy 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.
* Create fluent API in ChatClient interface that now includes streaming support
* Add OpenAI FunctionCallbackWrapper2IT auto-config tests.
* Add ChatClientTest mockito testing.
* Add ChatModel#getDefaultOptions(), and remove @FunctionalInterface
* ChatModel enums extend the new ModelDescription interface.
* Implement fromOptions copy method in every ChatOptions implementation.
* Extend ChatClient to use the model default options if not provided explicitly.
* Update readme to provide guidance on how to adapt to breaking changes.
Co-authored-by: Christian Tzolov <ctzolov@vmware.com>
Co-authored-by: Mark Pollack <mpollack@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.
- In ITs rename property spring.ai.azure.openai.chat.options.model to spring.ai.azure.openai.chat.options.deployment-name.
- Resolve compilation issues after the client library update.
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.
- 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.