增加向量化的库

pull/1/head
liu 11 months ago
parent dcb2297821
commit 42b9deb072

@ -2,10 +2,8 @@ package com.supervision.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
@ConfigurationProperties(prefix = "embedding")
public class EmbeddingProperties {

@ -3,12 +3,14 @@ package com.supervision.config;
import io.minio.MinioClient;
import okhttp3.OkHttpClient;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.TimeUnit;
@Configuration
@EnableConfigurationProperties(MinioProperties.class)
public class MinioConfig {
/**

@ -2,10 +2,8 @@ package com.supervision.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties(prefix = "minio")
public class MinioProperties {

@ -2,10 +2,8 @@ package com.supervision.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
@ConfigurationProperties(prefix = "vector.redis")
public class RedisVectorProperties {

@ -1,22 +1,25 @@
package com.supervision.config;
import org.springframework.ai.vectorstore.RedisVectorStore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.Assert;
@Configuration
@EnableConfigurationProperties({RedisVectorProperties.class, EmbeddingProperties.class})
public class VectorSimilarityConfiguration {
@Bean
@SuppressWarnings("all")
@ConditionalOnProperty(prefix = "embedding", name = "url")
public VectorEmbeddingClient vectorEmbeddingClient(EmbeddingProperties embeddingProperties) {
Assert.notNull(embeddingProperties.getUrl(), "配置文件embedding:url未找到");
return new VectorEmbeddingClient(embeddingProperties.getUrl());
}
@Bean
@SuppressWarnings("all")
@ConditionalOnProperty(prefix = "vector.redis", name = "uri")
public RedisVectorStore redisVectorStore(VectorEmbeddingClient vectorEmbeddingClient, RedisVectorProperties redisVectorProperties) {
Assert.notNull(redisVectorProperties.getUri(), "配置文件vector.redis.uri未找到");
RedisVectorStore.RedisVectorStoreConfig config = RedisVectorStore.RedisVectorStoreConfig.builder()

@ -64,6 +64,12 @@
<groupId>com.supervision</groupId>
<artifactId>virtual-patient-common</artifactId>
<version>${version}</version>
<exclusions>
<exclusion>
<groupId>io.springboot.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>

@ -13,6 +13,8 @@ server:
direct-buffers: true
spring:
main:
allow-bean-definition-overriding: true
servlet:
multipart:
max-file-size: 100MB

Loading…
Cancel
Save