tsurumure 6 ماه پیش
والد
کامیت
fb7ee88d85

+ 2 - 2
db/ai_chat.sql

@@ -9,8 +9,8 @@ CREATE TABLE `ai_chat` (
     PRIMARY KEY (`id`),
     `id` BIGINT AUTO_INCREMENT COMMENT 'ID',
     `history_code` VARCHAR(36) NOT NULL COMMENT '对话历史记录ID',
-    `model` VARCHAR(255) COMMENT '模型 (HUNYUAN-混元, DEEPSEEK)',
-    `model_version` VARCHAR(255) COMMENT '模型版本 (deepseek-chat: 对话模型, deepseek-reasoner: 推理模型)',
+    `model` VARCHAR(255) COMMENT '模型 (HUNYUAN-混元, DEEPSEEK_API, DEEPSEEK_R1)',
+    `model_version` VARCHAR(255) COMMENT '模型版本 (deepseek-chat, deepseek-reasoner, deepseek-r1:1.5b)',
     `role` VARCHAR(255) COMMENT '对话角色 ("user", "assistant")',
     `content_type` VARCHAR(255) COMMENT '对话内容类型 (THINK: 思考, REPLY: 回复)',
     `content` VARCHAR(5000) NOT NULL COMMENT '对话内容',

+ 1 - 1
src/main/java/com/backendsys/modules/ai/chat/entity/Chat.java

@@ -28,7 +28,7 @@ public class Chat {
     private String history_code;
 
     @NotEmpty(message = "model 不能为空", groups = { Create.class })
-    @RangeStringArray(message="模型取值有误,范围应是(HUNYUAN, DEEPSEEK)", value = {"HUNYUAN", "DEEPSEEK"}, groups = { Create.class, Update.class })
+    @RangeStringArray(message="模型取值有误,范围应是(HUNYUAN, DEEPSEEK_API, DEEPSEEK_R1)", value = {"HUNYUAN", "DEEPSEEK_API", "DEEPSEEK_R1"}, groups = { Create.class, Update.class })
     private String model;
     private String model_version;
 

+ 7 - 1
src/main/java/com/backendsys/modules/ai/chat/service/impl/ChatServiceImpl.java

@@ -11,6 +11,7 @@ import com.backendsys.modules.ai.chat.entity.ChatResult;
 import com.backendsys.modules.ai.chat.service.ChatService;
 import com.backendsys.modules.common.config.security.utils.SecurityUtil;
 import com.backendsys.modules.sdk.deepseek.service.DeepSeekClient;
+import com.backendsys.modules.sdk.deepseek.utils.OllamaUtil;
 import com.backendsys.modules.sdk.tencentcloud.huanyuan.service.HunYuanClient;
 import com.backendsys.utils.response.PageEntity;
 import com.backendsys.utils.response.PageInfoResult;
@@ -34,6 +35,8 @@ public class ChatServiceImpl implements ChatService {
     private HunYuanClient hunYuanClient;
     @Autowired
     private DeepSeekClient deepSeekClient;
+    @Autowired
+    private OllamaUtil ollamaUtil;
 
     @Autowired
     private ChatDao chatDao;
@@ -128,7 +131,10 @@ public class ChatServiceImpl implements ChatService {
 
                 ChatResult chatResult = null;
                 // ------------------------------------------------------------
-                if ("DEEPSEEK".equals(model)) {
+                if ("DEEPSEEK_R1".equals(model)) {
+                    chatResult = ollamaUtil.chatDeepSeek(user_id, model_version, prompt, chatList);
+                }
+                if ("DEEPSEEK_API".equals(model)) {
                     // [DeepSeek] 发起对话
                     chatResult = deepSeekClient.chatCompletion(user_id, model_version, prompt, chatList);
                 }

+ 1 - 2
src/main/java/com/backendsys/modules/sdk/deepseek/controller/DeepSeekController.java

@@ -56,8 +56,7 @@ public class DeepSeekController {
     @PreAuthorize("@sr.hasPermission('101')")
     @PostMapping("/api/deepSeek/chatLocal")
     public Result chatLocal(@Validated @RequestBody DSParam param) {
-        ollamaUtil.chatDeepSeek(SecurityUtil.getUserId(), param.getModel(), param.getPrompt());
-        return Result.success();
+        return Result.success().put("data", ollamaUtil.chatDeepSeek(SecurityUtil.getUserId(), param.getModel(), param.getPrompt(), null));
     }
 
     @Operation(summary = "DS-获得模型列表")

+ 2 - 3
src/main/java/com/backendsys/modules/sdk/deepseek/service/impl/DeepSeekClientImpl.java

@@ -117,9 +117,8 @@ public class DeepSeekClientImpl implements DeepSeekClient {
                 ) {
 
                     long apiDuration = System.currentTimeMillis() - allStartTime;   // 接口耗时
-
-                    long thinkStartTime = 0L;   // 开始思考
-                    long reasoningContentDuration = 0L;    // 思考耗时
+                    long thinkStartTime = 0L;                                       // 开始思考
+                    long reasoningContentDuration = 0L;                             // 思考耗时
                     Boolean isThinking = false;
 
                     System.out.println("API 调用耗时: " + apiDuration + " 毫秒");

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 14 - 5
src/main/java/com/backendsys/modules/sdk/deepseek/utils/OllamaUtil.java


+ 2 - 1
src/main/resources/application-local.yml

@@ -164,7 +164,8 @@ baidu:
 ai:
   config:
     deepseek:
-      domain: http://localhost:11434
+      # domain: http://localhost:11434
+      domain: https://1wd05129tf963.vicp.fun
 
 deepseek:
   url: https://api.deepseek.com

+ 2 - 1
src/main/resources/application-prod.yml

@@ -156,7 +156,8 @@ baidu:
 ai:
   config:
     deepseek:
-      domain: http://localhost:11434
+      # domain: http://localhost:11434
+      domain: https://1wd05129tf963.vicp.fun
 
 deepseek:
   url: https://api.deepseek.com

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است