|
|
|
package com.zhonglai.luhui.openai.controller;
|
|
|
|
|
|
|
|
import com.ruoyi.common.core.controller.BaseController;
|
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
import com.ruoyi.common.core.domain.Message;
|
|
|
|
import com.ruoyi.common.core.domain.MessageCode;
|
|
|
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
|
|
import com.ruoyi.system.service.PublicService;
|
|
|
|
import com.theokanning.openai.completion.CompletionChoice;
|
|
|
|
import com.zhonglai.luhui.openai.utils.OpenAiUtils;
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
@Api(tags = "chatGPT接口")
|
|
|
|
@RestController
|
|
|
|
@RequestMapping("/chatgpt")
|
|
|
|
public class ChatGPTController {
|
|
|
|
public class ChatGPTController extends BaseController {
|
|
|
|
@Autowired
|
|
|
|
private PublicService publicService;
|
|
|
|
|
|
|
|
@ApiOperation("与AI机器进行聊天")
|
|
|
|
@RequestMapping(value = "/aiChatbot",method = RequestMethod.POST)
|
|
|
|
public Message aiChatbot(@RequestBody String data)
|
|
|
|
public Message aiChatbot(HttpServletRequest httpServletRequest, @RequestBody String data)
|
|
|
|
{
|
|
|
|
HttpSession session = httpServletRequest.getSession();
|
|
|
|
if(session!=null)
|
|
|
|
{
|
|
|
|
logger.info("{}生成聊天会话:",session.getId());
|
|
|
|
List<CompletionChoice> list = OpenAiUtils.getAiChatbot(data,session.getId());
|
|
|
|
int i=0;
|
|
|
|
for (CompletionChoice completionChoice:list)
|
|
|
|
{
|
|
|
|
i+=completionChoice.getText().length();
|
|
|
|
}
|
|
|
|
logger.info("{}请求的流量:{},回复的流量:{}",session.getId(),data.length(),i);
|
|
|
|
return new Message(MessageCode.DEFAULT_SUCCESS_CODE,list);
|
|
|
|
}
|
|
|
|
List<CompletionChoice> list = OpenAiUtils.getAiChatbot(data);
|
|
|
|
return new Message(MessageCode.DEFAULT_SUCCESS_CODE,list);
|
|
|
|
}
|
|
|
|
|
|
|
|
} |
...
|
...
|
|