- 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
- 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>
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>
- Add `withContentFieldName` and `withDistanceMetadataFieldName` to Pinecone Config Builder
- Add `spring.ai.vectorstore.pinecone.contentFieldName` and `spring.ai.vectorstore.pinecone.distanceMetadataFieldName`
properties to the auto-config
- Default content field name: "document_content", distance field: "distance"
- Update tests and docs
Resolves#882
- Extend the audio speach/transcription properties to allow disabling autoconfiguration for the audio and transcription models.
This makes the settings consistent across the different OpenAI client properties.
- Add audio auto-conf activation tests
Co-authored-by: Christian Tzolov <ctzolov@vmware.com>
- knn instead of script_score, removed initialization
- only using normalized similarities, adjusted unit test
- making l2norm's distances consistent with others
- update dependency version and docs
- upate autoconfigure ITs
- replace RestTemplate by RestClient but default to SimpleClientHttpRequestFactory as Chroma seems to have issues with HTTP2.
- update the documentation.
- update the ghcr.io/chroma-core/chroma version to 0.5.0. Fix the withBasicAuthCredentials.
Co-authored-by: Christian Tzolov <ctzolov@vmware.com>
- implement OpensSearchVectorStore
- add opensearch auto-configuration and boot starter
- add documentation for OpenSearch VectorStore
- add bom dependecies
- align with to new Spirng AI API
- autoconfigure setup
- add post bean initialization and create method
- add embedding field
- create collection add nested field options
- add typesense tests
- use embedding variable instead of word vec
- check in runtime the number of documents in the collection
- add typesense expression converter
- add filter tests. add update document test and search with threshold test
- distance threshold and add distance key into metadata
- add typesesne boot starter
- add typesense docs
- add client properties in autoconfigure
- add embedding dimension method
- add typesense vector store autoconfiguration tests
- add docs to nav.adoc and vectorsdb.adoc.
- fix module name.
- move the expression converter to the typesense project.
* 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>
* 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