Spring AI#

Spring AI - Java-фреймворк, который предоставляет дружественный к Весне API и абстракции для разработки приложений искусственного интеллекта.

Vector DB доступен в качестве поддерживаемой векторной базы данных для использования в проектах Spring AI.

Установка#

С инструкцией по установке Spring AI можно ознакомиться на оригинальном сайте.

Добавьте пакет начального загрузчика Vector DB.

<dependency>
 <groupId>org.springframework.ai</groupId>
 <artifactId>spring-ai-qdrant-store-spring-boot-starter</artifactId>
</dependency>

Использование#

Настройте Vector DB с помощью application.properties из Spring Boot.

spring.ai.vectorstore.qdrant.host=<host of your qdrant instance>
spring.ai.vectorstore.qdrant.port=<the GRPC port of your qdrant instance>
spring.ai.vectorstore.qdrant.api-key=<your api key>
spring.ai.vectorstore.qdrant.collection-name=<The name of the collection to use in Qdrant>

Узнайте больше об этих опциях в справочной документации по конфигурации.

Или можно настроить хранилище векторов Vector DB с помощью параметров QdrantVectorStoreConfig.

@Bean
public QdrantVectorStoreConfig qdrantVectorStoreConfig() {

    return QdrantVectorStoreConfig.builder()
        .withHost("<QDRANT_HOSTNAME>")
        .withPort(<QDRANT_GRPC_PORT>)
        .withCollectionName("<QDRANT_COLLECTION_NAME>")
        .withApiKey("<QDRANT_API_KEY>")
        .build();
}

Создайте хранилище векторов с использованием конфигурации и любого из поддерживаемых провайдеров встраивания Spring AI.

@Bean
public VectorStore vectorStore(QdrantVectorStoreConfig config, EmbeddingClient embeddingClient) {
    return new QdrantVectorStore(config, embeddingClient);
}

Теперь можно использовать экземпляр VectorStore, поддерживаемый Qdrant, в качестве хранилища векторов в API Spring AI.

Если коллекция заранее не была создана, QdrantVectorStore попытается создать ее, используя косинусное сходство и размерность настроенной EmbeddingClient.

Дополнительная документация#