From cc4a46e0b5febd929fbb6ed5b8ec4c6fa4646ae7 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 01 Sep 2025 16:27:44 +0800
Subject: [PATCH] fix(ai): 修复模型平台 AK/SK 配置

---
 src/main/java/cc/mrbird/febs/ai/controller/TestController.java |   63 +++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 16 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/controller/TestController.java b/src/main/java/cc/mrbird/febs/ai/controller/TestController.java
index fd74b56..7d7f0fe 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/TestController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/TestController.java
@@ -42,10 +42,7 @@
 import com.alibaba.dashscope.exception.NoApiKeyException;
 import reactor.core.publisher.Flux;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author Administrator
@@ -155,18 +152,52 @@
         if (StrUtil.isEmpty(dto.getQuestion())){
             return Flux.just(new FebsResponse().fail().message("请输入问题"));
         }
-        LlmStrategyDto llmStrategyDto = new LlmStrategyDto();
-        Message systemMsg = Message.builder()
-                .role(Role.SYSTEM.getValue())
-                .content(dto.getPrompt())
-                .build();
-        Message userMsg = Message.builder()
-                .role(Role.USER.getValue())
-                .content(dto.getQuestion())
-                .build();
-        List<Message> messages = Arrays.asList(systemMsg, userMsg);
-        llmStrategyDto.setMessages(messages);
-        return llmStrategyFactory.getCalculationStrategyMap().get(LlmStrategyEnum.ALI.getName()).llmInvokeStreaming(llmStrategyDto);
+
+        ArrayList<LlmStrategyDto> llmStrategyDtoList = new ArrayList<>();
+        if (dto.getPrompt() != null){
+            LlmStrategyDto llmStrategyDto = new LlmStrategyDto();
+            llmStrategyDto.setRole(Role.SYSTEM.getValue());
+            llmStrategyDto.setContent(dto.getPrompt());
+            llmStrategyDtoList.add(llmStrategyDto);
+        }
+        if (dto.getQuestion() != null){
+            LlmStrategyDto llmStrategyDto = new LlmStrategyDto();
+            llmStrategyDto.setRole(Role.USER.getValue());
+            llmStrategyDto.setContent(dto.getQuestion());
+            llmStrategyDtoList.add(llmStrategyDto);
+        }
+        String modelName = LlmStrategyEnum.getName(dto.getType());
+
+        return llmStrategyFactory.getCalculationStrategyMap().get(modelName).llmInvokeStreaming(llmStrategyDtoList);
+    }
+
+
+
+    @ApiOperation("提问AI(非流式响应)V4")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "非流式响应", response = ApiMemberTalkStreamVo.class),
+    })
+    @PostMapping("/answerStreamV4")
+    public FebsResponse answerStreamV4(@RequestBody @Validated AiTalkAnswerStream dto) {
+        if (StrUtil.isEmpty(dto.getQuestion())){
+            return new FebsResponse().fail().message("请输入问题");
+        }
+        ArrayList<LlmStrategyDto> llmStrategyDtoList = new ArrayList<>();
+        if (dto.getPrompt() != null){
+            LlmStrategyDto llmStrategyDto = new LlmStrategyDto();
+            llmStrategyDto.setRole(Role.SYSTEM.getValue());
+            llmStrategyDto.setContent(dto.getPrompt());
+            llmStrategyDtoList.add(llmStrategyDto);
+        }
+        if (dto.getQuestion() != null){
+            LlmStrategyDto llmStrategyDto = new LlmStrategyDto();
+            llmStrategyDto.setRole(Role.USER.getValue());
+            llmStrategyDto.setContent(dto.getQuestion());
+            llmStrategyDtoList.add(llmStrategyDto);
+        }
+        String modelName = LlmStrategyEnum.getName(dto.getType());
+
+        return llmStrategyFactory.getCalculationStrategyMap().get(modelName).llmInvokeNonStreaming(llmStrategyDtoList);
     }
 
 

--
Gitblit v1.9.1