| | |
| | | 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 |
| | |
| | | if (StrUtil.isEmpty(dto.getQuestion())){ |
| | | return Flux.just(new FebsResponse().fail().message("请输入问题")); |
| | | } |
| | | |
| | | ArrayList<LlmStrategyDto> llmStrategyDtoList = new ArrayList<>(); |
| | | if (dto.getPrompt() != null){ |
| | | 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); |
| | | 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); |
| | | } |
| | | |
| | | |
| | |
| | | if (StrUtil.isEmpty(dto.getQuestion())){ |
| | | return new FebsResponse().fail().message("请输入问题"); |
| | | } |
| | | ArrayList<LlmStrategyDto> llmStrategyDtoList = new ArrayList<>(); |
| | | if (dto.getPrompt() != null){ |
| | | 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); |
| | | 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); |
| | | } |
| | | |
| | | |