From fb0722b250d3f77c93a32cbdd347c474008638ca Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Fri, 22 Aug 2025 13:33:22 +0800 Subject: [PATCH] feat(ai): 添加 AI 对话流式接口并优化相关服务 --- src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkController.java | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkController.java b/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkController.java index a2d4df5..80348df 100644 --- a/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkController.java +++ b/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkController.java @@ -3,7 +3,9 @@ import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkAnswerDto; import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkDto; import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto; +import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkStreamDto; import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo; +import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkStreamVo; import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkVo; import cc.mrbird.febs.ai.service.AiMemberTalkService; import cc.mrbird.febs.common.entity.FebsResponse; @@ -11,11 +13,9 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import reactor.core.publisher.Flux; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @@ -93,4 +93,14 @@ return emitter; } + + // 修改接口定义 + @ApiOperation("开始AI对话(流式)") + @ApiResponses({ + @ApiResponse(code = 200, message = "流式响应", response = ApiMemberTalkStreamVo.class), + }) + @GetMapping("/answer-stream") + public Flux<FebsResponse> answerStream(@RequestParam String question) { + return aiMemberTalkService.answerStream(question); + } } -- Gitblit v1.9.1