* Align model naming with Mistral AI documentation
* Add missing model for mixtral 22B
* Deprecate mistral-medium-latest because Mistral will remove it soon
Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>
Some LLM providers, such as Groq and OpenRouter, are marketed as OpenAI API compatible.
However, they often lack full support for the API specification.
This PR allows to use the simpler message format if no media artifacts are assigned.
* Added Spring Boot Starter for Spring AI Hugging Face
* Updated documentation with instructions using the starter dependency
* Fixed naming inconsistencies in the docs for Hugging Face
Fixes gh-838
Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>
Enable handling multiple function calls at once.
Change the Gemini model names from preview to gemini-1.5-pro-001 and gemini-1.5-flash-001.
Simplify the Gemini function calling ITs. drop the multi-turn instructions.
- update the Gemini function calling ITs to include a system message with dedicated calling instructions.
- fix a type with few Gemini ChatModel enum names.
- re-enable all Gemini ITs.
- Fix a bug in Azure streaming response. Ensure that the merge functionality resolves the right
object constructors
- drop the @ConditionalOnMissingBean for the ChatClientAutoConfiguration#chatClientBuilder .
If multiple chat model starters are added to the POM this will fail as the ChatClient.Builder
auto-config can handle only one chat model. Then the spring.ai.chat.client.enabled=false must be set.
- Add missing AutoConfiguration imports for SpringAiRetryAutoConfiguration.class, RestClientAutoConfiguration.class,
and WebClientAutoConfiguration.class to the AnthropicAutoConfiguration, MistralAiAutoConfiguration,
OllamaAutoConfiguration,VertexAiPalm2AutoConfiguration.
- change the OpenAi and Azure OpenAi default chat models to gpt-4o
- clean and improve the stability of various ITs
* Tests have been updated to use the "gpt-4-turbo" model instead of the "gpt-4-turbo-preview".
* String comparisons of temperature have been adjusted to match the format changes from model reponses
- Added new enum class AzureOpenAiResponseFormat
- Modified merge methods in AzureOpenAiChatModel to use new parameter
- Modfied AzureOpenAiChatOptions to include the responseFormat parameter
- Modified Azure ChatCompletionsOptionsTests to verify that new parameter is working as expected
- Added docs
In the ImageResponseMetadata interfaces and its implementations, the method 'created' has been renamed to 'getCreated' to support JSON ser/deser
Fixes#625
- add support for custom StructuredOutputConverters usng entity(outputConverterInstance)
- add mutate() method that returns ChatClient.Builder to create a new ChatClient whose
settings are replicated from the ChatClient's default settings.
- add prompt().mutate() method that returns ChatClient.Builder to create a new ChatClient
whose settings are replicated from the current default and prompt settings.
* Move ChatClient and related classes into the chat.client package
* Move ChatModel and related class into the chat.model package
* Smaller refactorings to remove DSM cycles
* Update README.md
* 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.