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.
Дополнительная документация#
Spring AI Справочная документация по Qdrant
Spring AI Справочная документация по API