Commit Graph

823 Commits

Author SHA1 Message Date
Christian Tzolov
3cbda5acd8 Enable dynamic filter expressions for QuestionAnswerAdvisor
- Add FILTER_EXPRESSION advisor context parameter to update filter expressions per call/stream
 - Implement dynamic filter expression handling in QuestionAnswerAdvisor
 - Add unit tests for dynamic filter expression functionality
 - Update documentation with usage examples

 Resolves #887
2024-06-18 14:32:38 +02:00
Christian Tzolov
1fd43c84b3 Revert Weaviate to 4.5.1 because of grpc versions 2024-06-18 13:38:04 +02:00
Christian Tzolov
fda14846f3 update weaviate client from 4.5.1 to 4.7 2024-06-18 11:13:11 +02:00
Christian Tzolov
704a5319b1 Minor adoc fix 2024-06-18 09:58:21 +02:00
Christian Tzolov
b7475ed060 Update Weaviate docker version. remove import wildcard definitions 2024-06-18 09:33:30 +02:00
Christian Tzolov
2c7dc3d6f1 Pinecone: Add configurable content and distance metadata fields (#882)
- 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
2024-06-18 07:57:15 +02:00
Laura Trotta
aca3720f5b ElasticSearch: remove redundant dependency and add note to docs. 2024-06-17 20:56:57 +02:00
Christian Tzolov
7fce4f47dd Exclude a duplicate (test) depedency 2024-06-17 20:00:45 +02:00
Stefan Vassilev
91a0b2a272 Add enabled property for OpenAI audio and transcription model
- 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>
2024-06-17 16:42:12 +02:00
Lee-ChungMu
dfabcc7f61 Use List.of instead of Arrays.asList In the SEARCH_OUTPUT_FIELDS field.
The Arrays.asList method can change elements. SEARCH_OUTPUT_FIELDS is an immutable field, so it has been improved to util List.of.
2024-06-17 15:51:26 +02:00
Piotr Olaszewski
06ff651734 Remove duplicated ApiUtils and polish javadocs 2024-06-17 15:39:32 +02:00
Laura Trotta
78f3797f8d Update Elasticsearch Store: Use KNN insettad of script_score
- 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
2024-06-17 15:17:48 +02:00
Benoit Moussaud
c9dd336ea3 Add multimodality support for Azure OpenAI API
- update Azure OpenAI documentation.
 - add ITs
2024-06-17 14:06:27 +02:00
Christian Tzolov
958549ecce Rename all Embedding Client doc and variables occurrences into Embedding Model 2024-06-16 21:24:03 +02:00
Eddú Meléndez
704dec20d9 Chroma Vector Store: replace RestTemplate by RestClient
- 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>
2024-06-16 21:07:03 +02:00
Jemin Huh
46e47849ce Add OpenSearch vector store integration
- implement OpensSearchVectorStore
 - add opensearch auto-configuration and boot starter
 - add documentation for OpenSearch VectorStore
 - add bom dependecies
 - align with to new Spirng AI API
2024-06-16 12:43:09 +02:00
Eddú Meléndez
80a5f2f5b7 Remove property usage 2024-06-16 11:33:54 +02:00
Eddú Meléndez
1b7f597be2 Remove testcontainers.version property
Spring AI relies on spring boot 3.3.0 (providing Testcontainers 1.19.8).
The property is downgrading the version.
2024-06-16 11:33:54 +02:00
Eddú Meléndez
879f992394 Use Testcontainers Vector DBs modules in autoconfiguartion module 2024-06-15 21:50:35 +02:00
Christian Tzolov
476164b6e3 Move the vector expression converters from core to their projects 2024-06-15 20:24:29 +02:00
PabloSanchi
3e2ed8b9bf Add Typesense vector store integration
- 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.
2024-06-15 19:55:05 +02:00
Piotr Olaszewski
59a628cc02 Introduce .editorconfig 2024-06-15 18:14:09 +02:00
xsg22
369fbf8f8b Update documentation for OpenAiApi.ChatCompletionRequest's constructor 2024-06-15 18:09:19 +02:00
wubo
ccddc53f71 Upgrade Apache Tika to version 2.9.2 to address security vulnerabilities 2024-06-15 18:04:05 +02:00
Fu Cheng
52be1bcb4c Fix potential NPE using nullSafeList 2024-06-15 18:02:47 +02:00
Christian Tzolov
1d479e3aab Minor PgVector ITs improvements 2024-06-15 17:49:21 +02:00
Thomas Vitale
1eb61efc50 [Mistral] Update models
* 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>
2024-06-15 17:48:14 +02:00
Thomas Vitale
3cac679223 [PGvector] Improve documentation
* Added tips for running PGvector as a Spring Boot dev service
* Fixed typos in code snippets
* Updated the PGvector image name
* Improved syntax

Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>
2024-06-15 17:47:32 +02:00
Eddú Meléndez
b8798dd73b Mark Testcontainers ContainerConnectionDetailsFactory as non-public 2024-06-15 17:01:58 +02:00
Thomas Vitale
7248075565 Fix Spring AOT for ConnectionDetails beans
Fixes gh-861

Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>
2024-06-15 16:59:35 +02:00
Cameron Kirk
ba4b57cc46 Update ollama-embeddings.adoc 2024-06-15 16:42:03 +02:00
Andrea Rubino
8c33fff161 Update mistralai-chat.adoc
withMaxToken method wrong name
2024-06-15 14:32:42 +02:00
David Caudill
1b0903e29f Fixed ParagraphPdfDocumentReader example 2024-06-15 14:30:41 +02:00
Craig Walls
462025de75 Use FunctionCallbackWrapper builder in Minimax and ZhipuAI docs 2024-06-15 14:29:41 +02:00
Craig Walls
217f944b08 Fix mistral_small_latest to mistral-small-latest in functions docs 2024-06-15 14:29:41 +02:00
Craig Walls
470d4f6af4 Fix mistral_large_latest to mistral-large-latest 2024-06-15 14:29:41 +02:00
Craig Walls
52899cc099 Update FunctionCallbackWrapper docs for Anthropic, Mistral, and OpenAI 2024-06-15 14:29:41 +02:00
Christian Tzolov
51b1d719d5 Add additional tests for PR #863 2024-06-15 14:25:09 +02:00
Mariusz Bernacki
a6bed95358 Add support for partially compliant OpenAI APIs
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.
2024-06-15 14:08:01 +02:00
Christian Tzolov
053fcb0153 Patch the baadf4cb53 2024-06-15 12:57:26 +02:00
Christian Tzolov
baadf4cb53 Fix Oracle Vector Store dependencies
- force override the outdated SpringBoot Oracle version.
 - add auto-config tests.
2024-06-15 12:21:56 +02:00
Christian Tzolov
a5d92ec30f Adjust Oracle Vector store class names 2024-06-14 06:55:54 +02:00
LLEFEVRE
41cf693bc0 Add Support for Oracle 23ai as vector database
- add OracleVectorStore with metadata filter expression support.
 - add ITs using oracle-free-slim testcontainers.
 - add auto-configuration and boot starter.
 - add adoc documentation.
 - Adjust javadoc references.

 Resolves #703

 Co-authored-by: Eddú Meléndez Gonzales <eddu.melendez@gmail.com>
2024-06-14 06:46:01 +02:00
Christian Tzolov
be9e4a828a Improve Hugging Face ITs 2024-06-13 22:13:40 +02:00
Thomas Vitale
2a592d4e84 Introduce Hugging Face Starter
* 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>
2024-06-13 22:07:58 +02:00
Amine Kadi
44154c5c93 Minor javadoc improvements 2024-06-13 16:15:18 +02:00
Nicholas Zhan
b3297fd2ab Upgrade djl to 0.28.0 2024-06-13 16:13:40 +02:00
cocomongg
f89aa3bcdb Fix typo: Change 'context' to 'content 2024-06-13 16:12:56 +02:00
Nicholas Zhan
02f4413273 docs(onnx): add additional info for configuration properties and note for ONNX transformer. 2024-06-13 16:12:40 +02:00
Christian Tzolov
85d2fa525e Fix the Gemini parallel function calling behaviour.
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.
2024-06-13 15:37:53 +02:00