ChatLogApi.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.caimei365.user.controller;
  2. import com.baidubce.qianfan.model.chat.ChatResponse;
  3. import com.caimei365.user.model.ResponseJson;
  4. import com.caimei365.user.model.dto.ChatCompletionResponse;
  5. import com.caimei365.user.model.dto.ChatDto;
  6. import com.caimei365.user.model.dto.ChatHistory;
  7. import com.caimei365.user.model.dto.ChatHistoryMessage;
  8. import com.caimei365.user.service.ChatLogService;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import lombok.RequiredArgsConstructor;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.util.List;
  14. import java.util.Map;
  15. @Api(tags = "百度ai聊天")
  16. @RestController
  17. @RequiredArgsConstructor
  18. @RequestMapping("/user/chat")
  19. public class ChatLogApi {
  20. private final ChatLogService chatLogService;
  21. @ApiOperation("开启新对话")
  22. @GetMapping("/new/chat")
  23. public ResponseJson<ChatCompletionResponse> getAnswer(Integer userId, String question) {
  24. return chatLogService.getAnswer(userId, question);
  25. }
  26. @ApiOperation("对话历史")
  27. @GetMapping("/chat/history")
  28. public ResponseJson<List<ChatHistory>> getHistory(Integer userId) {
  29. return chatLogService.getHistory(userId);
  30. }
  31. @ApiOperation("对话历史详情")
  32. @GetMapping("/history/detail")
  33. public ResponseJson<List<ChatHistoryMessage>> getHistoryDetail(Integer userId, Integer chatId) {
  34. return chatLogService.getHistoryDetail(userId, chatId);
  35. }
  36. @ApiOperation("多轮对话")
  37. @GetMapping("/second/chat")
  38. public ResponseJson<ChatCompletionResponse> getSecondAnswer(Integer chatId, Integer userId, String question) {
  39. return chatLogService.getSecondAnswer(chatId, userId, question);
  40. }
  41. }