From b3e9345114427838f27a98d14c3fe4ba8599747d Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Wed, 03 Sep 2025 14:21:16 +0800 Subject: [PATCH] actorref(ai): 优化 AI 输出内容和提示信息 --- src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkStreamController.java | 38 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 36 insertions(+), 2 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkStreamController.java b/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkStreamController.java index 277d56e..b13f133 100644 --- a/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkStreamController.java +++ b/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkStreamController.java @@ -1,18 +1,26 @@ package cc.mrbird.febs.ai.controller.memberTalk; import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto; -import cc.mrbird.febs.ai.req.memberTalkStream.ApiMemberTalkReloadStreamDto; -import cc.mrbird.febs.ai.req.memberTalkStream.ApiMemberTalkStreamDto; +import cc.mrbird.febs.ai.req.memberTalkStream.*; +import cc.mrbird.febs.ai.req.talk.AiTalkAnswerStream; import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo; import cc.mrbird.febs.ai.res.memberTalkStream.ApiMemberTalkReloadStreamVo; import cc.mrbird.febs.ai.res.memberTalkStream.ApiMemberTalkStreamVo; import cc.mrbird.febs.ai.service.ApiMemberTalkStreamService; +import cc.mrbird.febs.ai.strategy.enumerates.LlmStrategyEnum; +import cc.mrbird.febs.ai.strategy.param.LlmStrategyDto; import cc.mrbird.febs.common.entity.FebsResponse; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.dashscope.common.Role; import io.swagger.annotations.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import reactor.core.publisher.Flux; + +import java.util.ArrayList; /** * @author Administrator @@ -56,4 +64,30 @@ return apiMemberTalkStreamService.historyPage(dto); } + @ApiOperation(value = "保存用户回答", notes = "保存答案") + @PostMapping(value = "/saveMemberAnswer") + public FebsResponse saveMemberAnswer(@RequestBody @Validated ApiMemberTalkMemberAnswerSavaDto dto) { + + return apiMemberTalkStreamService.saveMemberAnswer(dto); + } + + @ApiOperation("回答(流式)") + @ApiResponses({ + @ApiResponse(code = 200, message = "流式响应", response = cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkStreamVo.class), + }) + @PostMapping("/answer") + public Flux<FebsResponse> answer(@RequestBody @Validated AiTalkAnswerStreamDto dto) { + if (StrUtil.isEmpty(dto.getId()) || StrUtil.isEmpty(dto.getReqContext())|| StrUtil.isEmpty(dto.getReqContext())){ + return Flux.just(new FebsResponse().fail().message("参数异常")); + } + return apiMemberTalkStreamService.answer(dto); + } + + @ApiOperation(value = "保存AI回答", notes = "保存AI回答") + @PostMapping(value = "/saveAnswer") + public FebsResponse saveAnswer(@RequestBody @Validated ApiMemberTalkAnswerSavaDto dto) { + + return apiMemberTalkStreamService.saveAnswer(dto); + } + } -- Gitblit v1.9.1