Commit 20657ccaf36b1b261447d1d5d77435df743e7760
1 parent
c5aab1ae
【新增】AI:聊天对话的更新模型
Showing
2 changed files
with
5 additions
and
4 deletions
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/AiChatMessageController.java
| @@ -18,24 +18,21 @@ import java.util.List; | @@ -18,24 +18,21 @@ import java.util.List; | ||
| 18 | 18 | ||
| 19 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | 19 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 20 | 20 | ||
| 21 | -// TODO @芋艿:权限标识; | ||
| 22 | @Tag(name = "管理后台 - 聊天消息") | 21 | @Tag(name = "管理后台 - 聊天消息") |
| 23 | @RestController | 22 | @RestController |
| 24 | @RequestMapping("/ai/chat/message") | 23 | @RequestMapping("/ai/chat/message") |
| 25 | @Slf4j | 24 | @Slf4j |
| 26 | public class AiChatMessageController { | 25 | public class AiChatMessageController { |
| 26 | + | ||
| 27 | @Resource | 27 | @Resource |
| 28 | private AiChatService chatService; | 28 | private AiChatService chatService; |
| 29 | 29 | ||
| 30 | @Operation(summary = "发送消息(段式)", description = "一次性返回,响应较慢") | 30 | @Operation(summary = "发送消息(段式)", description = "一次性返回,响应较慢") |
| 31 | @PostMapping("/send") | 31 | @PostMapping("/send") |
| 32 | public CommonResult<AiChatMessageRespVO> sendMessage(@Validated @RequestBody AiChatMessageSendReqVO sendReqVO) { | 32 | public CommonResult<AiChatMessageRespVO> sendMessage(@Validated @RequestBody AiChatMessageSendReqVO sendReqVO) { |
| 33 | - // TODO done @fan:使用 static import;这样就 success 就行了; | ||
| 34 | return success(chatService.chat(sendReqVO)); | 33 | return success(chatService.chat(sendReqVO)); |
| 35 | } | 34 | } |
| 36 | 35 | ||
| 37 | - // TODO @芋艿:调用这个方法异常,Unable to handle the Spring Security Exception because the response is already committed.;可以再试试 | ||
| 38 | - // TODO @fan:要不要使用 Flux 来返回;可以使用 Flux<AiChatMessageRespVO> | ||
| 39 | @Operation(summary = "发送消息(流式)", description = "流式返回,响应较快") | 36 | @Operation(summary = "发送消息(流式)", description = "流式返回,响应较快") |
| 40 | @PostMapping(value = "/send-stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE) | 37 | @PostMapping(value = "/send-stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE) |
| 41 | @PermitAll // 解决 SSE 最终响应的时候,会被 Access Denied 拦截的问题 | 38 | @PermitAll // 解决 SSE 最终响应的时候,会被 Access Denied 拦截的问题 |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/vo/conversation/AiChatConversationRespVO.java
| @@ -32,11 +32,15 @@ public class AiChatConversationRespVO implements VO { | @@ -32,11 +32,15 @@ public class AiChatConversationRespVO implements VO { | ||
| 32 | private Long roleId; | 32 | private Long roleId; |
| 33 | 33 | ||
| 34 | @Schema(description = "模型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 34 | @Schema(description = "模型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 35 | + @Trans(type = TransType.SIMPLE, target = AiChatModelDO.class, fields = "name", ref = "modelName") | ||
| 35 | private Long modelId; | 36 | private Long modelId; |
| 36 | 37 | ||
| 37 | @Schema(description = "模型标志", requiredMode = Schema.RequiredMode.REQUIRED, example = "ERNIE-Bot-turbo-0922") | 38 | @Schema(description = "模型标志", requiredMode = Schema.RequiredMode.REQUIRED, example = "ERNIE-Bot-turbo-0922") |
| 38 | private String model; | 39 | private String model; |
| 39 | 40 | ||
| 41 | + @Schema(description = "模型名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 42 | + private String modelName; | ||
| 43 | + | ||
| 40 | @Schema(description = "角色设定", example = "一个快乐的程序员") | 44 | @Schema(description = "角色设定", example = "一个快乐的程序员") |
| 41 | private String systemMessage; | 45 | private String systemMessage; |
| 42 | 46 |