Commit 1ea94d9245c33e4f21bcbbf8511375836df980df

Authored by cherishsince
1 parent 238ef898

注释 chat controller,现在没用了,需要修改

yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/ChatController.java
1   -package cn.iocoder.yudao.module.ai.controller.admin;
2   -
3   -import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
4   -import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5   -import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
6   -import cn.iocoder.yudao.module.ai.controller.admin.vo.AiChatReqVO;
7   -import cn.iocoder.yudao.module.ai.enums.OpenAiModelEnum;
8   -import io.swagger.v3.oas.annotations.Operation;
9   -import io.swagger.v3.oas.annotations.tags.Tag;
10   -import jakarta.servlet.http.HttpServletResponse;
11   -import lombok.extern.slf4j.Slf4j;
12   -import org.springframework.ai.chat.ChatClient;
13   -import org.springframework.ai.chat.ChatResponse;
14   -import org.springframework.ai.chat.prompt.Prompt;
15   -import org.springframework.ai.openai.OpenAiChatClient;
16   -import org.springframework.beans.factory.annotation.Autowired;
17   -import org.springframework.context.ApplicationContext;
18   -import org.springframework.validation.annotation.Validated;
19   -import org.springframework.web.bind.annotation.PostMapping;
20   -import org.springframework.web.bind.annotation.RequestBody;
21   -import org.springframework.web.bind.annotation.RequestMapping;
22   -import org.springframework.web.bind.annotation.RestController;
23   -import reactor.core.publisher.Flux;
24   -
25   -import java.util.function.Consumer;
26   -
27   -// TODO done @fansili:有了 swagger 注释,就不用类注释了
28   -@Tag(name = "AI模块")
29   -@RestController
30   -@RequestMapping("/ai-api")
31   -@Slf4j
32   -public class ChatController {
33   -
34   - @Autowired
35   - private ApplicationContext applicationContext;
36   -
37   - @PostMapping("/chat")
38   - @Operation(summary = "对话聊天", description = "简单的ai聊天")
39   - public CommonResult chat(@RequestBody @Validated AiChatReqVO reqVO) {
40   - ChatClient chatClient = getChatClient(reqVO.getAiModel());
41   - String res;
42   - try {
43   - res = chatClient.call(reqVO.getPrompt());
44   - } catch (Exception e) {
45   - res = e.getMessage();
46   - }
47   - return CommonResult.success(res);
48   - }
49   -
50   - @PostMapping("/chatStream")
51   - @Operation(summary = "对话聊天chatStream", description = "简单的ai聊天")
52   - public CommonResult chatStream(HttpServletResponse response, @RequestBody @Validated AiChatReqVO reqVO) throws InterruptedException {
53   - OpenAiChatClient chatClient = applicationContext.getBean(OpenAiChatClient.class);
54   - Flux<ChatResponse> chatResponse = chatClient.stream(new Prompt(reqVO.getPrompt()));
55   - chatResponse.subscribe(new Consumer<ChatResponse>() {
56   - @Override
57   - public void accept(ChatResponse chatResponse) {
58   - System.err.println(chatResponse.getResults().get(0).getOutput().getContent());
59   - }
60   - });
61   - return CommonResult.success(null);
62   - }
63   -
64   - /**
65   - * 根据 ai模型 获取对于的 模型实现类
66   - *
67   - * @param aiModelEnum
68   - * @return
69   - */
70   - private ChatClient getChatClient(OpenAiModelEnum aiModelEnum) {
71   - if (OpenAiModelEnum.OPEN_AI_GPT_3_5 == aiModelEnum) {
72   - return applicationContext.getBean(OpenAiChatClient.class);
73   - }
74   - // AI模型暂不支持
75   - throw ServiceExceptionUtil.exception(ErrorCodeConstants.AI_MODULE_NOT_SUPPORTED);
76   - }
77   -}
  1 +//package cn.iocoder.yudao.module.ai.controller.admin;
  2 +//
  3 +//import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
  4 +//import cn.iocoder.yudao.framework.common.pojo.CommonResult;
  5 +//import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
  6 +//import cn.iocoder.yudao.module.ai.controller.admin.vo.AiChatReqVO;
  7 +//import cn.iocoder.yudao.module.ai.enums.OpenAiModelEnum;
  8 +//import io.swagger.v3.oas.annotations.Operation;
  9 +//import io.swagger.v3.oas.annotations.tags.Tag;
  10 +//import jakarta.servlet.http.HttpServletResponse;
  11 +//import lombok.extern.slf4j.Slf4j;
  12 +//import org.springframework.ai.chat.ChatClient;
  13 +//import org.springframework.ai.chat.ChatResponse;
  14 +//import org.springframework.ai.chat.prompt.Prompt;
  15 +//import org.springframework.ai.openai.OpenAiChatClient;
  16 +//import org.springframework.beans.factory.annotation.Autowired;
  17 +//import org.springframework.context.ApplicationContext;
  18 +//import org.springframework.validation.annotation.Validated;
  19 +//import org.springframework.web.bind.annotation.PostMapping;
  20 +//import org.springframework.web.bind.annotation.RequestBody;
  21 +//import org.springframework.web.bind.annotation.RequestMapping;
  22 +//import org.springframework.web.bind.annotation.RestController;
  23 +//import reactor.core.publisher.Flux;
  24 +//
  25 +//import java.util.function.Consumer;
  26 +//
  27 +//// TODO done @fansili:有了 swagger 注释,就不用类注释了
  28 +//@Tag(name = "AI模块")
  29 +//@RestController
  30 +//@RequestMapping("/ai-api")
  31 +//@Slf4j
  32 +//public class ChatController {
  33 +//
  34 +// @Autowired
  35 +// private ApplicationContext applicationContext;
  36 +//
  37 +// @PostMapping("/chat")
  38 +// @Operation(summary = "对话聊天", description = "简单的ai聊天")
  39 +// public CommonResult chat(@RequestBody @Validated AiChatReqVO reqVO) {
  40 +// ChatClient chatClient = getChatClient(reqVO.getAiModel());
  41 +// String res;
  42 +// try {
  43 +// res = chatClient.call(reqVO.getPrompt());
  44 +// } catch (Exception e) {
  45 +// res = e.getMessage();
  46 +// }
  47 +// return CommonResult.success(res);
  48 +// }
  49 +//
  50 +// @PostMapping("/chatStream")
  51 +// @Operation(summary = "对话聊天chatStream", description = "简单的ai聊天")
  52 +// public CommonResult chatStream(HttpServletResponse response, @RequestBody @Validated AiChatReqVO reqVO) throws InterruptedException {
  53 +// OpenAiChatClient chatClient = applicationContext.getBean(OpenAiChatClient.class);
  54 +// Flux<ChatResponse> chatResponse = chatClient.stream(new Prompt(reqVO.getPrompt()));
  55 +// chatResponse.subscribe(new Consumer<ChatResponse>() {
  56 +// @Override
  57 +// public void accept(ChatResponse chatResponse) {
  58 +// System.err.println(chatResponse.getResults().get(0).getOutput().getContent());
  59 +// }
  60 +// });
  61 +// return CommonResult.success(null);
  62 +// }
  63 +//
  64 +// /**
  65 +// * 根据 ai模型 获取对于的 模型实现类
  66 +// *
  67 +// * @param aiModelEnum
  68 +// * @return
  69 +// */
  70 +// private ChatClient getChatClient(OpenAiModelEnum aiModelEnum) {
  71 +// if (OpenAiModelEnum.OPEN_AI_GPT_3_5 == aiModelEnum) {
  72 +// return applicationContext.getBean(OpenAiChatClient.class);
  73 +// }
  74 +// // AI模型暂不支持
  75 +// throw ServiceExceptionUtil.exception(ErrorCodeConstants.AI_MODULE_NOT_SUPPORTED);
  76 +// }
  77 +//}
... ...