| | |
| | | import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkVo; |
| | | import cc.mrbird.febs.ai.res.talk.ApiTalkItemPageVo; |
| | | import cc.mrbird.febs.ai.res.talk.ApiTalkPageVo; |
| | | import cc.mrbird.febs.ai.res.talk.ApiTalkQuestionVo; |
| | | import cc.mrbird.febs.ai.res.talk.ApiTalkVo; |
| | | import cc.mrbird.febs.ai.service.AiMemberTalkService; |
| | | import cc.mrbird.febs.ai.service.AiTalkService; |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import io.swagger.annotations.*; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | public class ApiAiTalkController { |
| | | |
| | | private final AiTalkService aiTalkService; |
| | | |
| | | @ApiOperation(value = "题目轮播", notes = "题目轮播") |
| | | @ApiResponses({ |
| | | @ApiResponse(code = 200, message = "success", response = ApiTalkQuestionVo.class) |
| | | }) |
| | | @GetMapping(value = "/questionList") |
| | | public FebsResponse questionList() { |
| | | |
| | | return aiTalkService.questionList(); |
| | | } |
| | | |
| | | @ApiOperation(value = "用户AI问答", notes = "用户AI问答") |
| | | @ApiResponses({ |
| | |
| | | }) |
| | | @PostMapping("/answer-streamV2") |
| | | public Flux<FebsResponse> answerStreamV2(@RequestBody @Validated AiTalkAnswerStream dto) { |
| | | |
| | | if (StrUtil.isEmpty(dto.getQuestion())){ |
| | | return Flux.just(new FebsResponse().fail().message("请输入问题")); |
| | | } |
| | | return aiTalkService.answerStreamV2(dto); |
| | | } |
| | | |
| | | @ApiOperation("提问AI(流式带思考过程)V3") |
| | | @ApiResponses({ |
| | | @ApiResponse(code = 200, message = "流式响应", response = ApiMemberTalkStreamVo.class), |
| | | }) |
| | | @PostMapping("/answer-streamV3") |
| | | public Flux<FebsResponse> answerStreamV3(@RequestBody @Validated AiTalkAnswerStream dto) { |
| | | if (StrUtil.isEmpty(dto.getQuestion())){ |
| | | return Flux.just(new FebsResponse().fail().message("请输入问题")); |
| | | } |
| | | return aiTalkService.answerStreamV3(dto); |
| | | } |
| | | } |