tsurumure преди 6 месеца
родител
ревизия
ada9a25ce1

+ 27 - 0
src/main/java/com/backendsys/modules/ai/chat/controller/ChatController.java

@@ -0,0 +1,27 @@
+package com.backendsys.modules.ai.chat.controller;
+
+import com.backendsys.modules.ai.chat.entity.Chat;
+import com.backendsys.modules.ai.chat.service.ChatService;
+import com.backendsys.modules.common.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+@Validated
+@RestController
+public class ChatController {
+
+    @Autowired
+    private ChatService chatService;
+
+    @PreAuthorize("@sr.hasPermission('31')")
+    @PostMapping("/api/ai/chat/sendChat")
+    public Result sendChat(@Validated(Chat.Create.class) @RequestBody Chat chat) {
+        chatService.sendChat(chat);
+        return Result.success();
+    }
+
+}

+ 9 - 0
src/main/java/com/backendsys/modules/ai/chat/controller/ChatHistoryController.java

@@ -0,0 +1,9 @@
+package com.backendsys.modules.ai.chat.controller;
+
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RestController;
+
+@Validated
+@RestController
+public class ChatHistoryController {
+}

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

@@ -0,0 +1,27 @@
+package com.backendsys.modules.ai.chat.entity;
+
+import com.backendsys.entity.validator.RangeStringArray;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.Size;
+import lombok.Data;
+
+@Data
+public class Chat {
+
+    public static interface Create{}
+    public static interface Update{}
+    public static interface Delete{}
+
+    @RangeStringArray(message="对话角色取值有误,范围应是(HUNYUAN, DEEPSEEK)", value = {"HUNYUAN", "DEEPSEEK"}, groups = { Create.class, Update.class })
+    private String type;
+
+    private String model;
+
+    @Size(max = 36, message = "对话历史记录ID长度不超过 {max} 字符", groups = { Create.class })
+    private String history_code;
+
+    @Size(max = 5000, message = "对话内容长度不超过 {max} 字符", groups = { Create.class })
+    @NotEmpty(message = "对话内容不能为空", groups = { Create.class })
+    private String prompt;
+
+}

+ 9 - 0
src/main/java/com/backendsys/modules/ai/chat/service/ChatService.java

@@ -0,0 +1,9 @@
+package com.backendsys.modules.ai.chat.service;
+
+import com.backendsys.modules.ai.chat.entity.Chat;
+
+public interface ChatService {
+
+    void sendChat(Chat chat);
+
+}

+ 27 - 0
src/main/java/com/backendsys/modules/ai/chat/service/impl/ChatServiceImpl.java

@@ -0,0 +1,27 @@
+package com.backendsys.modules.ai.chat.service.impl;
+
+import com.backendsys.modules.ai.chat.entity.Chat;
+import com.backendsys.modules.ai.chat.service.ChatService;
+import com.backendsys.modules.sdk.deepseek.service.DeepSeekClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ChatServiceImpl implements ChatService {
+
+    @Autowired
+    private DeepSeekClient deepSeekClient;
+
+    /**
+     * 发起对话
+     */
+    @Override
+    public void sendChat(Chat chat) {
+
+
+
+        // deepSeekClient.chatCompletion(param.getModel(), param.getPrompt(), SecurityUtil.getUserId());
+
+    }
+
+}

+ 1 - 1
src/main/java/com/backendsys/modules/ai/chat/deepSeek/controller/DeepSeekChatController.java → src/main/java/com/backendsys/modules/sdk/deepseek/controller/DeepSeekChatController.java

@@ -1,4 +1,4 @@
-//package com.backendsys.modules.ai.chat.deepSeek.controller;
+//package com.backendsys.modules.sdk.deepseek.controller;
 //
 //import com.backendsys.modules.sdk.deepseek.service.DeepSeekChatService;
 //import io.swagger.v3.oas.annotations.tags.Tag;

+ 5 - 4
src/main/java/com/backendsys/modules/ai/chat/deepSeek/controller/DeepSeekController.java → src/main/java/com/backendsys/modules/sdk/deepseek/controller/DeepSeekController.java

@@ -1,6 +1,7 @@
-package com.backendsys.modules.ai.chat.deepSeek.controller;
+package com.backendsys.modules.sdk.deepseek.controller;
 
 import com.backendsys.modules.sdk.deepseek.entity.DSParam;
+import com.backendsys.modules.sdk.deepseek.service.DeepSeekClient;
 import com.backendsys.modules.sdk.deepseek.service.impl.DeepSeekClientImpl;
 import com.backendsys.modules.sdk.deepseek.utils.OllamaUtil;
 import com.backendsys.modules.common.config.security.utils.SecurityUtil;
@@ -24,7 +25,7 @@ public class DeepSeekController {
     private OllamaUtil ollamaUtil;
 
     @Autowired
-    private DeepSeekClientImpl deepSeekClientImpl;
+    private DeepSeekClient deepSeekClient;
 
     /**
      * Deepseek API 开放平台 (https://platform.deepseek.com)
@@ -36,7 +37,7 @@ public class DeepSeekController {
     @PreAuthorize("@sr.hasPermission('101')")
     @PostMapping("/api/deepSeek/chat")
     public Result chat(@Validated @RequestBody DSParam param) {
-        deepSeekClientImpl.chatCompletion(param.getModel(), param.getPrompt(), SecurityUtil.getUserId());
+        deepSeekClient.chatCompletion(param.getModel(), param.getPrompt(), SecurityUtil.getUserId());
         return Result.success();
     }
 
@@ -57,7 +58,7 @@ public class DeepSeekController {
     @PreAuthorize("@sr.hasPermission('101')")
     @GetMapping("/api/deepSeek/getModels")
     public Result getModels() {
-        return Result.success().put("data", deepSeekClientImpl.getModels());
+        return Result.success().put("data", deepSeekClient.getModels());
     }
 
 }