Commit Graph

627 Commits

Author SHA1 Message Date
Christian Tzolov
7e03a15cf5 Mistral AI streaming function API change fix 2024-04-26 21:04:48 +02:00
Sagar Bhat
773b7bd3ca PgVectorStore: creating an index only if missing
- Resolve an issue where a new index keeps getting created during application start up.
 - Solution is is to create an index only if an index on the embedding column does not exist.
 - Add missing index name.
2024-04-26 19:03:45 +02:00
Ikko Eltociear Ashimine
db6f7cda3e Update AzureVectorStore.java
minor fix
2024-04-26 15:55:35 +02:00
Johnny Lim
a5923f5a79 Fix sample in "Manual Configuration" section of OpenAI Embeddings API 2024-04-26 13:35:33 +02:00
Dan Vega
6b9f8d3ac9 Implement a function, not functions 2024-04-26 13:34:38 +02:00
wmz7year
9e865f0b0f Add Bedrock Meta LLama3 AI model support.
- re-enable llama structured output tests
2024-04-25 16:22:47 +02:00
mck
b0add718a9 Fix CassandraVectorStoreAutoConfiguration's @ConditionalOnClass to not include EmbeddingClient
Any autoconfigure on an embeddingClient was unnecessarily creating the CassandraVectorStore bean, and possible prematurely.
2024-04-25 15:19:09 +02:00
jiacheo
9aa97b51a0 fix wrong document code examples 2024-04-25 14:38:51 +02:00
Shane Witbeck
b21427c3c6 Fix erroneous references to OpenAI 2024-04-25 14:37:58 +02:00
wmz7year
563f9b48af Bedrock client autoconfiguration support external AwsCredentialsProvider and AwsRegionProvider 2024-04-21 18:10:53 +08:00
Christian Tzolov
65e6880fa0 doc: add elasticsearch to nav catalog 2024-04-20 08:36:45 +02:00
Vincent Le
e9d7398811 Rewrite Elasticsearch documentation to follow Neo4J's format. 2024-04-20 08:30:27 +02:00
Vincent Le
9fbc09a5a4 Replace manual bean configuration with application.yml configuration. 2024-04-20 08:30:27 +02:00
Vincent Le
3b79a1a5c9 Add documentation for Elasticsearch VectorStore. 2024-04-20 08:30:27 +02:00
Philipp Hügelmeyer
8fa688fef6 Update qdrant.adoc
Fixed java code.
2024-04-20 08:19:02 +02:00
wmz7year
d3f2a8fb15 Fix bean name conflicts when using BedrockAnthropic and BedrockAnthropic3 at the same time. 2024-04-20 07:50:57 +02:00
wmz7year
8c04b05631 Add support for AWS bedrock claude3 opus model support 2024-04-20 07:47:26 +02:00
omar.mahamid
6178b3dcc4 Fix CassandraVectorStoreConfig logger name
aligne logger name with the className
2024-04-20 07:40:01 +02:00
Christian Tzolov
be6081f08e fix: rename call to stream 2024-04-20 07:23:00 +02:00
Christian Tzolov
2cdd9b5138 Add (Streaming)ChatClient convinience defaults
Facilitates the creation of multimodal message queries.
2024-04-20 07:05:21 +02:00
Christian Tzolov
df92dff36a Fix OpenAI audio options merging order
Resolves #601
2024-04-19 18:43:47 +02:00
mck
0eaf7d05c9 Cassandra Vector Store initial impl follow up
- add concurrency to store.add(..) (bc embeddingClient is slow)
- CassandraVectorStoreAutoConfiguration uses CassandraAutoConfiguration
- driver profiles for production stability+performance,
- small cleanups and naming fixes,
- main doc tidy-up
- astradb compatibility (protocol V4)
– don't create embeddings again for documents that already have them
  similar to https://github.com/spring-projects/spring-ai/pull/413
2024-04-19 18:13:11 +02:00
Christian Tzolov
f698902d38 doc: Add top page about API multimodality suppot
Resolves #573
2024-04-19 11:11:47 +02:00
Mark Pollack
4230038b28 Remove unused ChatMessage class 2024-04-17 10:54:29 -04:00
Christian Tzolov
b8ca0bb876 doc: Improve Pinecone layout 2024-04-12 11:05:02 +02:00
Christian Tzolov
6c07c4cf8f doc:improve pgvector layout 2024-04-12 10:41:43 +02:00
Philipp Zehnder
d4f866ed3a Update documentation for azure open ai chat 2024-04-12 08:58:44 +02:00
omar.mahamid
bc7460b540 Update contribution-guidelines.adoc
fix broken link
2024-04-12 08:57:31 +02:00
Christian Tzolov
a0e20016a7 doc: Improve Chroma documentation 2024-04-12 08:56:13 +02:00
Christian Tzolov
c7512a00a7 Redis store: add default index and prefix values for auto-conf 2024-04-12 08:14:59 +02:00
Christian Tzolov
b82dd98985 doc: Fix Redis metdata section 2024-04-11 23:26:37 +02:00
Christian Tzolov
154fc1fb57 doc: Improve Redis Vector Store documentation 2024-04-11 23:18:58 +02:00
Christian Tzolov
abd9e327aa Add s.ai.openai.embedding.options.dimensions documentation 2024-04-11 14:42:40 +02:00
dperezcabrera
c26bc55713 Refactor filter expression for clarity and accuracy
The filter expression within the document handling logic has been updated to enhance clarity and ensure accurate author filtering. Previously, the `in` function mistakenly included names as direct arguments, potentially leading to ambiguity in filter application. This has been corrected by explicitly specifying the `author` field, ensuring the filter accurately applies to author names only. This change improves the maintainability and readability of the code, particularly in sections dealing with article filtering based on authorship and type.

- Correct the filter expression by explicitly specifying the `author` field.
- Ensure accurate and unambiguous author filtering in article management.
2024-04-11 10:20:32 +02:00
Christian Tzolov
754dab9e50 Add minimal (placeholder) MongoDB Atlas Vector Serach docs. 2024-04-10 17:56:39 +02:00
Eddú Meléndez
eea3801fbd Remove @Testcontainers from HanaDB Tests
HanaDB tests don't rely on Testcontainers.
2024-04-10 17:31:28 +02:00
mck
656d238285 Implement Apache Cassandra vector store
The CassandraVectorStore is for managing and querying vector data in an Apache Cassandra db.
  It offers functionalities like adding, deleting, and performing similarity searches on documents.

  The store utilizes CQL to index and search vector data. It allows for custom metadata fields in
  the documents to be stored alongside the vector and content data.

  This class requires a CassandraVectorStoreConfig configuration object for initialization, which
  includes settings like connection details, index name, field names, etc. It also requires an
  EmbeddingClient to convert documents into embeddings before storing them.

  A schema matching the configuration is automatically created if it doesn't exist. Missing columns
  and indexes in existing tables will also be automatically created. Disable this with the disallowSchemaCreation.

  This class is designed to work with brand new tables that it creates for you, or on top of existing
  Cassandra tables. The latter is appropriate when wanting to keep data in place, creating embeddings
  next to it, and performing vector similarity searches in-situ.

  Instances of this class are not dynamic against server-side schema changes. If you change the schema
  server-side you need a new CassandraVectorStore instance.

 - Add auto-configure with tests.
 - reformat code style
 - Change field terminology to column (as appropriate for cassandra and cql)
 - Add doc page with an advanced example.
 - Add the dependencies to Spring AI BOM
 – add to `AutoConfiguration.imports`

 - Add @since annotation
 - Fix javadoc issue
 - Streamline the adoc content and layout
2024-04-10 16:51:47 +02:00
David Pérez Cabrera
fef1a42d20 Refactor filter expression for clarity and accuracy
The filter expression within the document handling logic has been updated to enhance clarity and ensure accurate author filtering. Previously, the `in` function mistakenly included names as direct arguments, potentially leading to ambiguity in filter application. This has been corrected by explicitly specifying the `author` field, ensuring the filter accurately applies to author names only. This change improves the maintainability and readability of the code, particularly in sections dealing with article filtering based on authorship and type.

- Correct the filter expression by explicitly specifying the `author` field.
- Ensure accurate and unambiguous author filtering in article management.
2024-04-10 13:13:01 +02:00
Christian Tzolov
ae9d3f4168 Updgrade Vertex AI Gemini to 26.37.0
- Adjust to the new, breaking, API changes.
   - Update the docs adding the transport endpoint and scopes to the connection properties.
2024-04-10 09:09:58 +02:00
Christian Tzolov
0b04c8928a Update vector-stores README links 2024-04-09 20:55:39 +02:00
Christian Tzolov
55b8b2a858 Update models README links
Resolves #528
2024-04-09 20:38:06 +02:00
Rahul
466b824840 Add SAP HanaDB vector store integration
- Implement a HanaCloudVectorStore and tests
 - Implement Autoconfiguraiton + properties
 - Add boot starter
 - Update BOM with vector store and boot dependencies.
 - Add antora docuementation
 - added junit for HanaCloudVectorStoreProperties.java and documentation
   to create a BTP trial account and provision an instance for SAP Hana Cloud db
 - updated license, formatting and javadoc
 - IT for HanaCloudVectorStoreAutoConfiguration
 - IT for HanaCloudVectorStoreAutoConfiguration

Additional
 - add @AutoConfiguration(after = { JpaRepositoriesAutoConfiguration.class })
 - update the handa docs structure.
2024-04-09 12:36:42 +02:00
Christian Tzolov
8e0fbe49ee Remove the spring-boot-starter-jdbc dependency from PGVector project 2024-04-09 10:57:17 +02:00
sinsy
5c3ed1152a Add support of Bedrock API timeout
Configure the amount of time to allow the client to complete the execution of an API call.
 This timeout covers the entire client execution except for marshalling. This includes request handler execution,
 all HTTP requests including retries, unmarshalling, etc. This value should always be positive, if present.

  - Add timeout filed to the AbstractBedrockApi, used to initialize the BedrockRuntimeClient and the
    BedrockStreamingRuntimeClient. Update all classes that extend the AbstractBedrockApi.
  - Keep the previous constructors for backward compatibility using timeout value of 5 min.
  - Add a common AWS connection timeout auto-config property and update the documentation.
    Defaults to 5 min.

 Additional changes:
  - Fix Anthropic 3 straming response - add bedrock metrics field.
  - Increate the default timeout to 5 min. Update the docs.
  - Increase the ITs.
2024-04-09 10:28:17 +02:00
Jabez Brew
dd5757cd8c Update ollama-chat.adoc
Fix typo in API class name: OpenAiApi -> OllamaApi

This commit fixes a typo in the API class name mentioned in the documentation. The previous sentence "Low-level OpenAiApi Client" now correctly reads "Low-level OllamaApi Client."
2024-04-08 22:46:18 +02:00
Fu Cheng
0a3a2022a8 Add ObjectMapper in FunctionCallbackWrapper constructor
- This allows custom ObjectMappers to be used when creating FunctionCallbackWrappers.
 - Set the FunctionCallbackWrapper#ObjectMapper default to match the ModelOptionUtils#ObjectMapper config.
2024-04-08 13:30:06 +02:00
Christian Tzolov
70e57a7e27 doc: Update Anthropic 3 class diagram 2024-04-08 08:53:56 +02:00
Christian Tzolov
f88d36de2e Fix anthropic func doc indentation 2024-04-08 08:43:25 +02:00
Christian Tzolov
f249e64651 Add Function Calling Support for Anthropic Features
- expanded the AnthropicApi to include Tool, facilitating request and response abstractions.
 - extended AnthropicChatClient to inherit AbstractFunctionCallSupport, with
   implementation of all necessary methods and function registration protocols.
 - implemented FunctionCallingOptions interface in AnthropicChatOptions.
 - added tools integration tests for AnthropoicApi and AnthropicChatClient.
 - extended the auto-configuration with functional calling functionality.
 - added ITs for tools auto-config.
 - updated documentation on anthropic function calling and relevant pages for comprehensive coverage.
2024-04-07 22:10:35 -04:00
Christian Tzolov
e268975a80 Fix Geminie GenerativeModel handling between calls
Resolves #560
2024-04-07 21:57:14 +02:00