Fixes: #938 Issue link: https://github.com/spring-projects/spring-ai/issues/938 This commit integrates Couchbase as a vector store option in Spring AI, providing: - CouchbaseSearchVectorStore implementation with vector similarity search capabilities - Support for metadata filtering with SQL++ expression conversion - Spring Boot auto-configuration and starter module for easy integration - Comprehensive documentation covering setup, configuration, and usage examples - Integration tests using TestContainers with Couchbase 7.6 The implementation supports configuring dimensions, similarity functions (dot_product/l2_norm), and optimization strategies (recall/latency). Schema initialization is now opt-in via the initializeSchema property. Documentation includes both auto-configuration and manual configuration instructions, along with property configuration details. Signed-off-by: Abhiraj <abhiraj.official15@gmail.com> co-authored-by: Laurent Doguin <laurent.doguin@gmail.com>
75 lines
2.2 KiB
XML
75 lines
2.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>org.springframework.ai</groupId>
|
|
<artifactId>spring-ai</artifactId>
|
|
<version>1.0.0-SNAPSHOT</version>
|
|
<relativePath>../../pom.xml</relativePath>
|
|
</parent>
|
|
<artifactId>spring-ai-couchbase-store</artifactId>
|
|
<packaging>jar</packaging>
|
|
<name>Spring AI Vector Store - Couchbase</name>
|
|
<description>Spring AI Couchbase Vector Store</description>
|
|
<url>https://github.com/spring-projects/spring-ai</url>
|
|
|
|
<scm>
|
|
<url>https://github.com/spring-projects/spring-ai</url>
|
|
<connection>git://github.com/spring-projects/spring-ai.git</connection>
|
|
<developerConnection>git@github.com:spring-projects/spring-ai.git</developerConnection>
|
|
</scm>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.couchbase.client</groupId>
|
|
<artifactId>java-client</artifactId>
|
|
<version>${couchbase.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.ai</groupId>
|
|
<artifactId>spring-ai-core</artifactId>
|
|
<version>${parent.version}</version>
|
|
</dependency>
|
|
|
|
|
|
<!-- TESTING -->
|
|
<dependency>
|
|
<groupId>org.springframework.ai</groupId>
|
|
<artifactId>spring-ai-openai</artifactId>
|
|
<version>${parent.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.ai</groupId>
|
|
<artifactId>spring-ai-test</artifactId>
|
|
<version>${parent.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-testcontainers</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>couchbase</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
</project>
|