- add new spring-ai-vertex-ai-embedding project.
- add VertexAiTextEmbeddingModel and VertexAiMultimodalEmbeddingMode with related options configuration classes.
- add ITs
- add auto-configuraiton and boot starters.
- register to BOM.
- add documentation.
- add multimodal embedding documentation
- extend the Embedding metdata so that it can keep references to the source document's data, Id, mediatype
Resolves#1013
Related to #1009
- add dedicated groq chat page in the documentation.
Explain how to re-configure the OpenAI client for accessing the Groq chat completion endpoint.
- Doc: order the Chat and Embedding items in alphabetical order
- Add Groq ITs.
Resolves#996
In testing the docker mongodb/atlas container doesn't throw an exception when
calling `mongoTemplate.executeCommand({"createSearchIndexes": ...});`. However,
when using the Atlas service it does and throws a `IndexAlreadyExists` exception.
Added error handling for error code 68 or error code name `IndexAlreadyExists`.
See: https://www.mongodb.com/docs/manual/reference/error-codes/Fixes#910
- add StreamEven API domain model for reliably parsing stream events.
- add StreamHelper#mergeToolUseEvents to aggregate partial tool use jsons into a list of ContentBlocks.
- add StreamHelper#eventToChatCompletionResponse to convert Flux<StreamEvents> into Flux<ChatCompletionResponse>.
- Rename MediaContent -> ContentBlock, RequestMessage -> AnthropicMessage, ChatCompletion -> ChatCompletionResponse.
- Improve tests and docs.
- Enable Authentication using OpenAI API key
- Use TokenCredential for authorization if provided by the user
- Add the spring.ai.azure.openai.openai-api-key for auth with OpenAI service
- Update Azure Chat and Embedding docs
- Add integration tests for OpenAI connection
Resolves#260
* The Chroma vector store config property prefix uses .store at the end
which is not consistent with the other vector stores - fixing this.
* Update the upgrade-notes.adoc
* Extend ChatResponseMetadata for Anthropic (blocking, streaming)
* Add ChatResponseMetadata for Mistral AI (blocking)
* Extend ChatResponseMetadata for OpenAI (blocking)
* Deprecate gpt-4-vision-preview and replace its usage in tests because OpenAI rejects the calls (see: https://platform.openai.com/docs/deprecations)
Fixes gh-936
Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>
Currently, Docker Compose and Testcontainers support `CHROMA_SERVER_AUTHN_CREDENTIALS`,
which is provided by Chroma 0.5.x. Previous versions use `CHROMA_SERVER_AUTH_CREDENTIALS`
instead.
- OpenAiApi: add StreamingOptions class and ChatCompletionRequest#streamingOptions field.
- add OpenAiChatOption#withStreamingUsage(boolean) to set/unset the StreamingOptions.
- add a boolean (get/set)StreamUsage() to OpenAiChatOptions that internally set the SstreamOptions.
Later allows the "spring.ai.openai.chat.options.stream-usage" property.
- update the OpenAI property documentation.
Co-authored-by: Christian Tzolov <ctzolov@vmware.com>