Commit 7024c5ab608832e69da3321f7f05f4516a6cd565

Authored by cherishsince
1 parent 009914ed

增加 client name 枚举

yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiClientNameEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.ai.enums;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * ai client 名字
  8 + *
  9 + * 这个需要根据配置文件起的来决定
  10 + *
  11 + * @author fansili
  12 + * @time 2024/4/14 16:02
  13 + * @since 1.0
  14 + */
  15 +@AllArgsConstructor
  16 +@Getter
  17 +public enum AiClientNameEnum {
  18 +
  19 + QIAN_WEN("qianWen", "千问模型!"),
  20 + YI_YAN("yiYan", "一言模型!"),
  21 + XING_HUO("xingHuo", "星火模型!"),
  22 +
  23 + ;
  24 +
  25 + private String name;
  26 +
  27 + private String message;
  28 +}
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/ChatController.java
@@ -5,6 +5,8 @@ import cn.iocoder.yudao.framework.ai.chat.ChatResponse; @@ -5,6 +5,8 @@ import cn.iocoder.yudao.framework.ai.chat.ChatResponse;
5 import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt; 5 import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;
6 import cn.iocoder.yudao.framework.ai.config.AiClient; 6 import cn.iocoder.yudao.framework.ai.config.AiClient;
7 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 7 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
  8 +import cn.iocoder.yudao.module.ai.enums.AiClientNameEnum;
  9 +import cn.iocoder.yudao.module.ai.service.ChatService;
8 import io.swagger.v3.oas.annotations.Operation; 10 import io.swagger.v3.oas.annotations.Operation;
9 import io.swagger.v3.oas.annotations.tags.Tag; 11 import io.swagger.v3.oas.annotations.tags.Tag;
10 import lombok.AllArgsConstructor; 12 import lombok.AllArgsConstructor;
@@ -22,6 +24,8 @@ import java.io.IOException; @@ -22,6 +24,8 @@ import java.io.IOException;
22 import java.util.function.Consumer; 24 import java.util.function.Consumer;
23 25
24 /** 26 /**
  27 + * ia 模块
  28 + *
25 * @author fansili 29 * @author fansili
26 * @time 2024/4/13 17:44 30 * @time 2024/4/13 17:44
27 * @since 1.0 31 * @since 1.0
@@ -35,11 +39,12 @@ public class ChatController { @@ -35,11 +39,12 @@ public class ChatController {
35 39
36 @Autowired 40 @Autowired
37 private AiClient aiClient; 41 private AiClient aiClient;
  42 + private final ChatService chatService;
38 43
39 @Operation(summary = "聊天-chat", description = "这个一般等待时间比较久,需要全部完成才会返回!") 44 @Operation(summary = "聊天-chat", description = "这个一般等待时间比较久,需要全部完成才会返回!")
40 @GetMapping("/chat") 45 @GetMapping("/chat")
41 public CommonResult<String> chat(@RequestParam("prompt") String prompt) { 46 public CommonResult<String> chat(@RequestParam("prompt") String prompt) {
42 - ChatResponse callRes = aiClient.call(new Prompt(prompt), "qianWen"); 47 + ChatResponse callRes = aiClient.call(new Prompt(prompt), AiClientNameEnum.QIAN_WEN.getName());
43 return CommonResult.success(callRes.getResult().getOutput().getContent()); 48 return CommonResult.success(callRes.getResult().getOutput().getContent());
44 } 49 }
45 50
@@ -48,7 +53,7 @@ public class ChatController { @@ -48,7 +53,7 @@ public class ChatController {
48 @GetMapping(value = "/chatStream", produces = MediaType.TEXT_EVENT_STREAM_VALUE) 53 @GetMapping(value = "/chatStream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
49 public SseEmitter chatStream(@RequestParam("prompt") String prompt) { 54 public SseEmitter chatStream(@RequestParam("prompt") String prompt) {
50 Utf8SseEmitter sseEmitter = new Utf8SseEmitter(); 55 Utf8SseEmitter sseEmitter = new Utf8SseEmitter();
51 - Flux<ChatResponse> streamResponse = aiClient.stream(new Prompt(prompt), "qianWen"); 56 + Flux<ChatResponse> streamResponse = aiClient.stream(new Prompt(prompt), AiClientNameEnum.QIAN_WEN.getName());
52 streamResponse.subscribe( 57 streamResponse.subscribe(
53 new Consumer<ChatResponse>() { 58 new Consumer<ChatResponse>() {
54 @Override 59 @Override