Add dedicated property classes for the Chat and the Embedding models and use a common connection properties for both:
- OpenAiConnectionProperties (baseUrl, apiKey) with prefix spring.ai.openai.*.
- OpenAiChatProperties (model, temperature) with prefix spring.ai.openai.chat.
- OpenAiEmbeddingProperties (model) with prefix spring.ai.openai.embedding.*
Additionally the OpenAiChatProperties and OpenAiEmbeddingProperties can optionally override the OpenAiConnectionProperties
so that we can use the Chat model from one Provider and the Embedding model from another.
Resolves#229
Moved up one package level the following classes
* org.springframework.ai.huggingface.client.HuggingfaceChatClient
* org.springframework.ai.openai.client.OpenAiChatClient and org.springframework.ai.openai.embedding.OpenAiEmbeddingClient
* org.springframework.ai.vertex.generation.VertexAiChatClient and org.springframework.ai.vertex.embedding.VertexAiEmbeddingClient
Fixes#211
- Clean the AzureOpenAiChatClient and add support for StreamingChatClient.
- Streamline the AzureOpenAiEmbeddingClient.
- Move the AzureOpenAiChatClient and AzureOpenAiEmbeddingClient to top org.sf.ai.azure.opoenai package.
- Add ITs for AzureOpenAiChatClient and AzureOpenAiEmbeddingClient
- Fix the AzureOpenAiAutoConfiguration
- Split property file into AzureOpienAiConnectionProperties, AzureOpenAiChatProperties
and AzureOpenAiEmbeddingProperties.
- Add ITs for the auto-configuration
- Add improve package structure
- Add README docs
- fix failing test
- update to use Azure Deployment for CI
The OpenAiApi, returns the HTTP headers that can be intropsect for metadata
with the help of OpenAiResponseHeaderExtractor.
No need for http interception nor for joining by ID.
- fix all class names with AiClient or AiStreamingClient name prefixes.
- fix all variables or method name prefixes.
- fix the javadocs, readmes and refference documentation.
Add OllamOptions that can be used as a builder (withX) and spring propererites (e.g. getX/setX).
- prvides strongly typed properties.
- the 'OllamaOptsion#toMap()' converts the options into Map<String, Object>.
- Add OllamaEmbeddingAutoConfiguraiton#options property of type OllamaOptions.
- Add OllamaChatAutoConfiguraiton#options property of type OllamaOptions.
- Factor out the baseUrl property into a standalone OllamConnectionProperties shared
between the Chat and Embedding autoconfigurations.
- Fix affected unit/IT tests.
- Implement a native client (OllamaApi) to leverage chat/streaming and embedding endpoints.
- Add a OllamaChatClient implementing the ChatClinet and StreamingChatClinet interfaces.
- Add a OllamaEmbedding clinent that impl. the EmbeddingClinet interface.
- Add AutoConfiguraitons with properties for the chat and the embedding clients.
- Add unit and ITs for the OllamaApi, OllamaChatClient, OllamaEmbeddingClient, and related auto-configuraitons.
- Remove the old ollama impl. classes and tests.
- minor fixes to the bedrok test methods names.