Springboot

[Spring&SpringBoot] openAI API Key 테스트

수아파파's 2023. 9. 18. 21:44
반응형

OpenAI Secret API Key를 받아야 합니다.

 

https://suapapachobocoding.tistory.com/45

 

1. Tanlend API로 테스트 해보기

 

method : post

url : https://api.openai.com/v1/chat/completions

Header Setting

 

Content-type : application/json

Authorization :Bearer ${openAI Secret API Key}

 

Body-JSON

{
  "model": "gpt-3.5-turbo",
  "stream" : false,
  "messages": [{"role": "user", "content": "Hello. GPT"}]
}

GPT-3.5 중에서 가장 유능한 모델인 'gpt-3.5-turbo'를 사용하였습니다.

 

결과

결과 응답 코드가 200이면 성공입니다.

 

 

BODY에 보면 choices 아래 message를 가지고 오면 됩니다.


chatGPT-API를 이용하기 위해 의존성 주입을 해야합니다.

 

<dependency>
    <groupId>io.github.flashvayne</groupId>
    <artifactId>chatgpt-spring-boot-starter</artifactId>
    <version>1.0.4</version>
</dependency>

application.properties에 아래와 같은 내용을 추가합니다. openAI 에서 발급 받은 키를 아래에 입력 해줍니다. 

chatgpt.api-key= {openAI.API-Key}

ChatGptController.java를 생성하고 아래와 같이 입력하여 줍니다.

@RequiredArgsConstructor
@RestController
@Slf4j
@RequestMapping("/api/v1/chat-gpt")
public class ChatGptController {
    private final ChatService chatService;

    //chat-gpt 와 간단한 채팅 서비스 소스
    @PostMapping("")
    public String test(@RequestBody String question){
        return chatService.getChatResponse(question);
        // hello gpt!
    }
}

ChatGptService는 라이브러리에서 제공해주는 핵심 chatgpt 서비스입니다. 이 서비를 활용해봅시다.

 

ChatService.java를 생성하여 아래 코드를 입력합니다.

import io.github.flashvayne.chatgpt.service.ChatgptService;

@Service
@RequiredArgsConstructor
public class ChatService{

    private final ChatgptService chatgptService;

    public String getChatResponse(String prompt) {
            // ChatGPT 에게 질문 전달
            return chatgptService.sendMessage(prompt);
    }
}

라이브러리에서 제공한 chatgptService안에 sendMessage라는 메소드가 있습니다. 

 

파라미터는 질문할 String값을 작성하여 줍니다.

 

아래 처럼 body에 내용을 입력하면, 응답 body에 대답을 해줍니다.

 

 

반응형

'Springboot' 카테고리의 다른 글

하이버네이트란?  (0) 2023.09.19
[ChatGPT] OpenAI API Key 발급 받기  (0) 2023.09.18
JPA 에 대한 설명 및 예제  (0) 2023.09.18
ORM이란  (0) 2023.09.18
오라클 연동 및 예제  (0) 2023.09.18