| | |
| | | package cc.mrbird.febs.ai.controller.memberTalk; |
| | | |
| | | 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.*; |
| | | import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo; |
| | | import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkReloadVo; |
| | | import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkStreamVoOld; |
| | | import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkVo; |
| | | import cc.mrbird.febs.ai.service.AiMemberTalkService; |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | |
| | | 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; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author Administrator |
| | |
| | | public FebsResponse start(@RequestBody @Validated ApiMemberTalkDto dto) { |
| | | |
| | | return aiMemberTalkService.start(dto); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "再练一次(重新回答)", notes = "再练一次(重新回答)") |
| | | @ApiResponses({ |
| | | @ApiResponse(code = 200, message = "success", response = ApiMemberTalkReloadVo.class) |
| | | }) |
| | | @PostMapping(value = "/reload") |
| | | public FebsResponse reload(@RequestBody @Validated ApiMemberTalkReloadDto dto) { |
| | | |
| | | return aiMemberTalkService.reload(dto); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | return emitter; |
| | | } |
| | | |
| | | // 修改接口定义 |
| | | @ApiOperation("开始AI对话(流式)") |
| | | @ApiResponses({ |
| | | @ApiResponse(code = 200, message = "流式响应", response = ApiMemberTalkStreamVoOld.class), |
| | | }) |
| | | @GetMapping("/answer-stream") |
| | | public Flux<FebsResponse> answerStream(@RequestParam String question) { |
| | | return aiMemberTalkService.answerStream(question); |
| | | } |
| | | } |