diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/DocService.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/DocService.java index 2e7f792e8..47905d4b1 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/DocService.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/DocService.java @@ -7,7 +7,6 @@ package cn.iocoder.yudao.module.ai.service.knowledge; */ public interface DocService { - /** * 向量化文档 */ diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/DocServiceImpl.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/DocServiceImpl.java index eeffebf44..b0f4afaf8 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/DocServiceImpl.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/DocServiceImpl.java @@ -21,24 +21,23 @@ import java.util.List; public class DocServiceImpl implements DocService { @Resource - RedisVectorStore vectorStore; + private RedisVectorStore vectorStore; @Resource - TokenTextSplitter tokenTextSplitter; + private TokenTextSplitter tokenTextSplitter; // TODO @xin 临时测试用,后续删 @Value("classpath:/webapp/test/Fel.pdf") private org.springframework.core.io.Resource data; - @Override public void embeddingDoc() { // 读取文件 - org.springframework.core.io.Resource file = data; - TikaDocumentReader loader = new TikaDocumentReader(file); + TikaDocumentReader loader = new TikaDocumentReader(data); List documents = loader.get(); // 文档分段 List segments = tokenTextSplitter.apply(documents); // 向量化并存储 vectorStore.add(segments); } + } diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml b/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml index 95895e9b0..ae1f37948 100644 --- a/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml +++ b/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml @@ -40,6 +40,7 @@ ${spring-ai.version} + org.springframework.ai spring-ai-transformers-spring-boot-starter @@ -55,13 +56,14 @@ spring-ai-redis-store ${spring-ai.version} + + org.springframework.data spring-data-redis true - cn.iocoder.boot yudao-common diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreAutoConfiguration.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreAutoConfiguration.java index 03dc1c19b..61c38dd1d 100644 --- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreAutoConfiguration.java +++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreAutoConfiguration.java @@ -30,6 +30,8 @@ import redis.clients.jedis.JedisPooled; /** * TODO @xin 先拿 spring-ai 最新代码覆盖,1.0.0-M1 跟 redis 自动配置会冲突 * + * TODO 这个官方,有说啥时候 fix 哇? + * * @author Christian Tzolov * @author Eddú Meléndez */ @@ -39,8 +41,6 @@ import redis.clients.jedis.JedisPooled; @EnableConfigurationProperties(RedisVectorStoreProperties.class) public class RedisVectorStoreAutoConfiguration { - - @Bean @ConditionalOnMissingBean public RedisVectorStore vectorStore(EmbeddingModel embeddingModel, RedisVectorStoreProperties properties, diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml index 8677a5b71..804ceb71f 100644 --- a/yudao-server/src/main/resources/application.yaml +++ b/yudao-server/src/main/resources/application.yaml @@ -153,7 +153,7 @@ spring: spring: ai: - vectorstore: + vectorstore: # 向量存储 redis: index: default-index prefix: "default:"