흔자
article thumbnail
반응형

OpenAI에서 ChatGPT와 Whisper의 공식 api를 공개하였다. Postman을 통해서 간단하게 사용하는 방법에 대해 전달하려고 한다. OpenAI의 공식문서는 아래에서 링크를 통해 참고.

 

Introducing ChatGPT and Whisper APIs

Developers can now integrate ChatGPT and Whisper models into their apps and products through our API.

openai.com

 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

 

 

OpenAI api key 발급

아래의 링크에 들어가서 Add your API key를 찾는다.

 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

 

+ Create new secret key 버튼을 눌러서 key를 생성한다.

해석하자면 "이 비밀 키를 안전하고 접근 가능한 곳에 저장해 주세요. 보안상의 이유로, OpenAI 계정을 통해서 다시 보거나 확인할 수 없습니다. 이 비밀 키를 잃어버리면 새로운 비밀 키를 생성해야 합니다." 이다. 키를 생성할 때만 전체키에 대한 내용을 보여주므로 주의해서 사용해야 한다.

 

 

Postman 사용

Authorization 탭에 api key 설정

 

Authorization 탭에서 Bearer Token으로 변경 후에 복사한 api key를 넣는다.

 

 

Headers 탭 설정

Headers에 Content-Type, application/json을 추가한다.

 

 

Body 탭 설정

raw에 JSON으로 변경 후에 사용한다.

 

 

요청

POST 요청으로 URL https://api.openai.com/v1/engines/text-davinci-003/completions 로 설정한다.

Body에 들어갈 JSON은 다음과 같이 설정해 주면 된다.

{
    "prompt": "Postman에 대해 알려줘",
    "temperature": 0.7,
    "max_tokens": 4000,
    "top_p": 1,
    "frequency_penalty": 0,
    "presence_penalty": 0
}

"prompt": GPT-3가 생성할 텍스트의 시작 부분을 지정하는 속성. 이 속성에 입력된 텍스트를 기반으로 GPT-3가 텍스트를 생성.

"temperature": 생성된 텍스트의 다양성을 조절하는 속성. 값이 높을수록 더욱 창의적이고 예측하지 못한 텍스트가 생성될 가능성이 있지만, 값이 너무 높으면 무작위성이 지나치게 증가하여 생성된 텍스트가 의미 없을 수도 있다.

"max_tokens": 생성될 최대 토큰 수를 지정하는 속성. GPT-3는 입력된 prompt와 이전에 생성된 텍스트를 기반으로 일정한 수의 토큰을 생성하고 이 속성에 입력된 값을 초과하지 않도록 한다.

"top_p": 생성될 텍스트의 다양성을 더욱 세밀하게 조절하는 속성. 값이 높을수록 예측 가능한 텍스트가 생성되고, 값이 낮을수록 예측하지 못한 텍스트가 생성.

"frequency_penalty": 생성된 텍스트 중, 이전에 생성된 텍스트와 중복되는 단어 또는 구문을 최소화하는 속성. 값이 높을수록 중복이 최소화된다.

"presence_penalty": 생성된 텍스트에서 원하지 않는 단어나 구문을 배제하도록 하는 속성. 값이 높을수록 배제되는 단어나 구문이 많아진다.

 

 

위에 요청으로 받은 결과 값은 다음과 같다.

{
    "id": "cmpl-6pUUZv36xPik04WeAjxY8qSuKdZY1",
    "object": "text_completion",
    "created": 1677729959,
    "model": "text-davinci-003",
    "choices": [
        {
            "text": "
            \n\nPostman은 API 개발 및 테스트를 위한 소프트웨어 플랫폼입니다.
            Postman은 API 명세를 작성하고 API 테스트를 실행하는 데 필요한 
            다양한 기능을 제공합니다.
            Postman의 다양한 기능 중 가장 중요한 것은 API 리퀘스트,
            반응 및 결과를 최소한의 노력으로 쉽게 디버깅하는 것입니다.
            Postman은 또한 외부 API 연결, 다양한 인증 방법 지원 및 다양한 기능의 
            스크립트 지원 등의 기능을 제공합니다.",
            "index": 0,
            "logprobs": null,
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 19,
        "completion_tokens": 402,
        "total_tokens": 421
    }
}

"id": OpenAI API에서 생성된 요청에 대한 고유 식별자.

"object": OpenAI API 요청에 대한 응답 유형이다. 이 경우 "text_completion"이다.

"created": 요청이 만들어진 Unix 시간.

"model": 사용된 GPT 모델의 식별자. 이 경우 "text-davinci-003" 모델이 사용.

"choices": 모델이 생성한 완성된 텍스트가 포함된 객체 배열이다. 이 경우, 하나의 객체만 존재한다. 객체에는 생성된 텍스트, 시작 인덱스, logprobs 및 finish_reason 정보가 포함된다.

"usage": API 요청 시 사용한 토큰 수와 생성된 텍스트에 대한 토큰 수가 포함된 객체. 이 경우, 19개의 프롬프트 토큰과 402개의 생성 토큰이 사용되었다. 총 토큰 수는 421이다.

 

 

정리

1. OpenAI 공식 api 문서를 통해서 키를 발급받는다.

2. Postman으로 테스트할 경우 설정해야 되는 필수 값들을 넣어준다.

3. 요청을 보내고 응답을 확인한다.

 

요청 결과에 대한 전체 화면.

반응형
profile

흔자

@heun_n

즐겁게 개발하고 싶은 사람입니다.