완성했습니다.

일단 api key는 https://platform.openai.com/account/api-keys

 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

받으시면 되고요 .

영상 :

코드 :

@RestController
public class ChatGptController {
    @Autowired
    private ChatGptService chatGptService;

    @PostMapping("/api/ChatGptApi")
    public ResponseEntity<String> ChatGptsPost(@RequestBody ChatGpt chatGpt, HttpServletRequest request) {
        String CHATGPT_API_KEY  = "";
        HttpSession session = request.getSession(false);
        String answer="연결을 실패하였습니다.";
        if (session == null || session.getAttribute("user") == null) {
           //  세션에 사용자 정보가 없으면 로그인 페이지로 리다이렉트
            return  ResponseEntity.ok(answer);
        }

        try{
             CHATGPT_API_KEY=chatGpt.getApikey();
             answer=chatGptService.getChatResponse(chatGpt.getInput(),CHATGPT_API_KEY);
        }catch (Exception e){
            System.out.println("error");
            return  ResponseEntity.ok(answer);
        }
        return  ResponseEntity.ok(answer);
    }
}

@Service
public class ChatGptService {
    private  RestTemplate restTemplate;
    private final String chatGptApiUrl = "https://api.openai.com/v1/chat/completions";

    public ChatGptService() {
        this.restTemplate = new RestTemplate();
    }

    public String getChatResponse(String userInput,String apiKey ) {
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        headers.setBearerAuth(apiKey);

        String requestBody = "{\"model\":\"gpt-3.5-turbo\",\"messages\":[{\"role\":\"system\",\"content\":\"" + userInput + "\"}]}";
        HttpEntity<String> requestEntity = new HttpEntity<>(requestBody, headers);

        // ChatGPT API 호출
        ResponseEntity<String> responseEntity=null;
        try{
           responseEntity = restTemplate.exchange(chatGptApiUrl, HttpMethod.POST, requestEntity, String.class);
        }catch (Exception e){
            e.printStackTrace();
        }

        // ChatGPT API 응답 처리
        String chatResponse = responseEntity.getBody();

        return chatResponse;
    }
}

+ Recent posts