Ver Fonte

【代码优化】AI:向量化的集成

YunaiV há 8 meses atrás
pai
commit
b453856864

+ 0 - 1
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 {
 
-
     /**
      * 向量化文档
      */

+ 4 - 5
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<Document> documents = loader.get();
         // 文档分段
         List<Document> segments = tokenTextSplitter.apply(documents);
         // 向量化并存储
         vectorStore.add(segments);
     }
+
 }

+ 3 - 1
yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml

@@ -40,6 +40,7 @@
             <version>${spring-ai.version}</version>
         </dependency>
 
+        <!-- 向量化,基于 Redis 存储,Tika 解析内容 -->
         <dependency>
             <groupId>org.springframework.ai</groupId>
             <artifactId>spring-ai-transformers-spring-boot-starter</artifactId>
@@ -55,13 +56,14 @@
             <artifactId>spring-ai-redis-store</artifactId>
             <version>${spring-ai.version}</version>
         </dependency>
+
+        <!-- TODO @xin:引入我们项目的 starter -->
         <dependency>
             <groupId>org.springframework.data</groupId>
             <artifactId>spring-data-redis</artifactId>
             <optional>true</optional>
         </dependency>
 
-
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-common</artifactId>

+ 2 - 2
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,

+ 1 - 1
yudao-server/src/main/resources/application.yaml

@@ -153,7 +153,7 @@ spring:
 
 spring:
   ai:
-    vectorstore:
+    vectorstore: # 向量存储
       redis:
         index: default-index
         prefix: "default:"