* Change default schema initialization of vector stores from `true` to `false.`
Users need to explicitly opt-in for schema initialization by setting the
`initialize-schema` property on the corresponding vector store.
* Update integration tests
* Update docs
Fixes#907
Currently, `RedisVectorStoreAutoConfiguration` creates its own
configuration to connect with Redis. This commit reuse
`RedisAutoConfiguration` from spring boot project. It's limited
to Jedis.
- provides a flexible schema, can be combined with a vector store, and supports time-to-live rows.
- fix initialize-schema docs and so that it actually works.
- move CommonVectorStoreProperties to .vectorstore. package
- add CassandraAutoConfiguration to the AutoConfiguration.imports
- re-assign the model on withSystemInstruction return.
- deprecate the gemini-pro-vision model and replace the default model to gemin-pro-1.5
- update docs.
- improve system message handling implementation.
Resolves#1030
Co-authored-by: Christian Tzolov <ctzolov@vmware.com>
- 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
- 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>
- 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>
- upadate bedrockruntime version to 2.26.7 and align it with aws sdk dependecy.
- minor ITs configuration, consistency and statbility fixes
Use the EnvironmentVariableCredentialsProvider instead of the Profile credential provider.
- update the Bedrock getting started documentation.
- update the Genemi Prerequisites docs.
Currently, in order to use an OpenSearch instance provided by AWS,
additional steps are needed. This commit introduces the required
configuration.
Add new starter and update docs
- Added additional support for ZhiPuAi models including vision model GLM-4V
- Default model changed to GLM_4_Air and update documentation
- Added additional unit and integration tests
- Add documentation for vision model
This change allows users to specify custom names, facilitating management of multiple vector databases within a single database instance.
Key changes:
- Implement configurable schema, table, and index names for PgVectorStore
- Add properties to set custom schema and table names
- Introduce optional schema/table & field validation for custom configurations
- Include additional tests for new configurations and existing deployments
Additional improvements:
- Rename properties to schemaName, tableName, and schemaValidation
- Update pgvector documentation with new properties
- Add schema/table name tests to PgVectorStoreAutoConfigurationIT and PgVectorStorePropertiesTests
- Create standalone PgVectorSchemaValidator class for schema/table validation
- Add missing 'CREATE SCHEMA IF NOT EXISTS' when initializeSchema=true
- Remove redundant code and classes
Resolves#747
Co-authored-by: Christian Tzolov <ctzolov@vmware.com>
- Adds spring boot auto-configuration support for GemFireVectorStore
- Adds integration test GemFireVectorStoreAutoConfigurationIT
- Includes gemfire-testcontainers in integration tests
- Adds unit test GemFireVectorStorePropertiesTests
- Refactors GemFireVectorStore.java extracting GemFireVectorStoreConfig.java
- Renames spring-ai-gemfire to spring-ai-gemfire-store
- Adds GemFireConnectionDetails
- Adds GemFireVectorStoreProperties with default values
- Remove gemfire-release-repo maven repository
Co-authored-by: Louis Jacome <louis.jacome@broadcom.com>
Co-authored-by: Jason Huyn <jason.huynh@broadcom.com>