Administrator
2025-09-01 1f7c85d6c632f50fd145bd8517933bd55202aef1
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,23 @@
        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);
    }
@@ -180,18 +182,22 @@
        if (StrUtil.isEmpty(dto.getQuestion())){
            return 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()).llmInvokeNonStreaming(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).llmInvokeNonStreaming(llmStrategyDtoList);
    }