Prechádzať zdrojové kódy

【代码优化】AI:优化 pom 依赖的说明

YunaiV 5 mesiacov pred
rodič
commit
6ccd0ca61e

+ 0 - 1
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageServiceImpl.java

@@ -120,7 +120,6 @@ public class AiChatMessageServiceImpl implements AiChatMessageService {
         AiChatMessageDO assistantMessage = createChatMessage(conversation.getId(), userMessage.getId(), model,
                 userId, conversation.getRoleId(), MessageType.ASSISTANT, "", sendReqVO.getUseContext());
 
-
         // 3.2 召回段落
         List<AiKnowledgeSegmentDO> segmentList = recallSegment(sendReqVO.getContent(), conversation.getKnowledgeId());
 

+ 40 - 42
yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml

@@ -20,10 +20,11 @@
 
     <dependencies>
         <dependency>
-            <groupId>${spring-ai.groupId}</groupId>
-            <artifactId>spring-ai-zhipuai-spring-boot-starter</artifactId>
-            <version>${spring-ai.version}</version>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-common</artifactId>
         </dependency>
+
+        <!-- Spring AI Model 模型接入 -->
         <dependency>
             <groupId>${spring-ai.groupId}</groupId>
             <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
@@ -44,68 +45,65 @@
             <artifactId>spring-ai-stability-ai-spring-boot-starter</artifactId>
             <version>${spring-ai.version}</version>
         </dependency>
-
-        <!-- 向量化,基于 Redis 存储,Tika 解析内容 -->
-
-        <!-- 暂不做经济型,先注释 TODO 经济型是啥呀? -->
-        <!--        <dependency>-->
-        <!--            <groupId>${spring-ai.groupId}</groupId>-->
-        <!--            <artifactId>spring-ai-transformers-spring-boot-starter</artifactId>-->
-        <!--            <version>${spring-ai.version}</version>-->
-        <!--        </dependency>-->
         <dependency>
+            <!-- 通义千问 -->
+            <groupId>com.alibaba.cloud.ai</groupId>
+            <artifactId>spring-ai-alibaba-starter</artifactId>
+            <version>1.0.0-M5.1</version>
+        </dependency>
+        <dependency>
+            <!-- 文心一言 -->
             <groupId>${spring-ai.groupId}</groupId>
-            <artifactId>spring-ai-tika-document-reader</artifactId>
+            <artifactId>spring-ai-qianfan-spring-boot-starter</artifactId>
             <version>${spring-ai.version}</version>
-            <!-- TODO 芋艿:boot 项目里,不引入 cloud 依赖!!!另外,这样也是为了解决启动报错的问题! -->
-            <exclusions>
-                <exclusion>
-                    <artifactId>spring-cloud-function-context</artifactId>
-                    <groupId>org.springframework.cloud</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>spring-cloud-function-core</artifactId>
-                    <groupId>org.springframework.cloud</groupId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
+            <!-- 智谱 GLM -->
             <groupId>${spring-ai.groupId}</groupId>
-            <artifactId>spring-ai-redis-store</artifactId>
+            <artifactId>spring-ai-zhipuai-spring-boot-starter</artifactId>
             <version>${spring-ai.version}</version>
         </dependency>
 
+        <!-- 向量存储:https://db-engines.com/en/ranking/vector+dbms -->
         <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-redis</artifactId>
+            <!-- Qdrant:https://qdrant.tech/ -->
+            <groupId>${spring-ai.groupId}</groupId>
+            <artifactId>spring-ai-qdrant-store</artifactId>
+            <version>${spring-ai.version}</version>
         </dependency>
 
+        <dependency>
+            <!-- Redis:https://redis.io/docs/latest/develop/get-started/vector-database/ -->
+            <groupId>${spring-ai.groupId}</groupId>
+            <artifactId>spring-ai-redis-store</artifactId>
+            <version>${spring-ai.version}</version>
+        </dependency>
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-common</artifactId>
+            <artifactId>yudao-spring-boot-starter-redis</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>${spring-ai.groupId}</groupId>
-            <artifactId>spring-ai-qianfan-spring-boot-starter</artifactId>
+            <!-- Milvus:https://milvus.io/ -->
+            <groupId>org.springframework.ai</groupId>
+            <artifactId>spring-ai-milvus-store</artifactId>
             <version>${spring-ai.version}</version>
         </dependency>
-        <dependency>
-            <groupId>com.alibaba.cloud.ai</groupId>
-            <artifactId>spring-ai-alibaba-starter</artifactId>
-            <version>1.0.0-M5.1</version>
-        </dependency>
 
-        <!-- 阿里云 通义千问 -->
-        <!-- TODO 芋艿:等 spring cloud alibaba ai 发布最新的时候,可以替换掉这个依赖,并且删除我们直接 cv 的代码 -->
         <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>dashscope-sdk-java</artifactId>
-            <version>2.14.0</version>
+            <!-- Tika:负责内容的解析 -->
+            <groupId>${spring-ai.groupId}</groupId>
+            <artifactId>spring-ai-tika-document-reader</artifactId>
+            <version>${spring-ai.version}</version>
+            <!-- TODO 芋艿:boot 项目里,不引入 cloud 依赖!!!另外,这样也是为了解决启动报错的问题! -->
             <exclusions>
                 <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-simple</artifactId>
+                    <artifactId>spring-cloud-function-context</artifactId>
+                    <groupId>org.springframework.cloud</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>spring-cloud-function-core</artifactId>
+                    <groupId>org.springframework.cloud</groupId>
                 </exclusion>
             </exclusions>
         </dependency>

+ 0 - 6
yudao-server/src/main/resources/application.yaml

@@ -151,12 +151,6 @@ spring:
       redis:
         index: default-index
         prefix: "default:"
-    embedding:
-      transformer:
-        onnx:
-          model-uri: https://raw.gitcode.com/yudaocode/yudao-demo/raw/master/yudao-static/ai/model.onnx
-        tokenizer:
-          uri: https://raw.gitcode.com/yudaocode/yudao-demo/raw/master/yudao-static/ai/tokenizer.json
     qianfan: # 文心一言
       api-key: x0cuLZ7XsaTCU08vuJWO87Lg
       secret-key: R9mYF9dl9KASgi5RUq0FQt3wRisSnOcK