본문 바로가기
데이터&AI

OpenAI의 ChatGPT를 파이썬 API로 이용하기(gpt-3.5-turbo)

by 일등박사 2023. 3. 4.

안녕하세요!!!

 

미국시간 3/1일! OpenAI사에서 드디어 최신의 GPT를 API서비스로 오픈했습니다!!

gpt-3.5-turbo라는 이 신규 API는 1K토큰당 0.002$로,

기존의 GPT api였던 text-davinci-003($0.0200 / 1K tokens) 의 1/10 수준입니다!

 

그래서!! 오늘은 파이썬을 활용하여 이 신규 API를 이용하는 방법을 함꼐 알아봅시다!

 


1. openai 패키지 인스톨!!

 

먼저 여러분의 환경에 openai 패키지를 인스톨해주셔야 합니다!

한국시간으로는 2023년 3월 2일, openai를 업데이트 해주어야하는데요!!

그렇기에 아래와 같이 기존의 openai 패키지를 제거해줍니다!

pip uninstall openai

(만약 처음 하시는 분이라면 위 작업이 불필요합니다.)

 

그리고 다시 패키지를 설치합시다!!

pip install openai

 

2. openai API키 받기!!(기존의 api 키가 있다면 생략가능)

우선 openai 사에 로그인하여 API key를 확인해줍니다.

https://platform.openai.com/overview

그리고 아래 이미지와 같이 새로운 secretkey를 발급받습니다!!

 

이제!! 파이썬 환경에 돌아옵니다!!

 

3. Python API 코드!!

 

기본  호출함수 및 KEY 설정은 아래와 같습니다!!

import openai
API_KEY = '{발급받은 API 키}'
openai.api_key = API_KEY

다음!!

chatGPT에  블로그 작성법에 대하여 문의해봅시다!!

(기존 davinci와 비교해본다면, model이 gpt-3.5-turbo로 바뀌었고,

 openai.Completion 가 openai.ChatCompletion으로 바뀌었습니다!)

res = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
        {"role": "system", "content": "너는 블로그 작성자야"},
        {"role": "user", "content": "GPT에 관련된 블로그를 쓰려면 어떻게해야할까?"}
    ]
)
print(res['choices'][0]['message']['content'])

결과물은!

다음과 같이 잘 말해주네요!!

GPT(Generative Pre-trained Transformer)에 대한 블로그를 작성하고자 한다면, 아래와 같은 단계를 따라볼 수 있을 것입니다.

1. GPT란 무엇인가?
GPT가 무엇인지에 대한 기본적인 개념을 정리해보세요. 예를 들면, GPT 모델이란 무엇이며, 어떤 작업에 사용할 수 있는지, GPT 모델이 기존 모델들과 어떤 차이가 있는지 등에 대한 개념을 정리합니다.

2. GPT 모델의 작동 방식
GPT 모델이 어떤 방식으로 작동하는지에 대한 이해가 필요합니다. 이를 위해 Transformer 모델에 대한 이해가 선행되어야 하며, Attention Mechanism, Self-Attention 등 GPT 모델에 적용된 기술을 설명하면서 모델의 작동 방식에 대해 자세하게 소개해주세요.

3. GPT 모델의 적용사례
GPT 모델이 적용된 다양한 분야와 그 효과를 살펴봅니다. 예를 들어, 언어 생성, 대화 생성, 기계 번역, 문서 요약 등 다양한 분야에서 GPT 모델이 어떻게 적용되는지에 대한 사례들을 예시와 함께 살펴봅니다.

4. GPT 모델의 장단점
GPT 모델의 장단점을 간략하게 정리합니다. 예를 들면, 언어 생성 분야에서 GPT 모델이 일반적인 방법론들과 어떻게 다른지, 그리고 GPT 모델의 한계와 개선 방향 등을 소개합니다.

5. GPT 모델 구현
GPT 모델을 구현할 수 있는 방법과 구현 과정을 간단하게 소개합니다. 예를 들어, Hugging Face Transformers library를 이용한 GPT 모델 구현 방법 등을 정리해봅니다.

이러한 내용들을 포함하여 직관적이면서도 명쾌한 글로 쓰면 GPT에 대한 이해도를 높일 수 있고, 다양한 분야에서 GPT 모델을 적용하는 다양한 방법을 소개하면서 새로운 아이디어를 제공할 수 있을 것입니다.

 

4. 조금 더 알아보기!!

chatGPT에 추가 가능을 알아봅시다!!

 

# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai

openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who won the world series in 2020?"},
        {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
        {"role": "user", "content": "Where was it played?"}
    ]
)

위 코드가 openai 사의 공식 코드인데요!

메세지를 보낼때 3가지로 구분하여 보냅니다1!

 

role
system GPT의 행동 방식을 설정해줍니다
The system message helps set the behavior of the assistant
assistant 보조메세지로 GPT에 사전 교육을 진행합니다
(The assistant messages help store prior responses. They can also be written by a developer to help give examples of desired behavior.)
user 사용자가 필요한 질문을 입력합니다. 이 내용에 대하여 gpt가 답변합니다.
(They can be generated by the end users of an application)

 

한 번 위 내용을 활용하여 GPT를 교육하고 답변받아봅시다!!

res = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
        {"role": "system", "content": "너는 친절하게 답변을 해주는 비서야. 일등박사의 언어를 활용해"},
      {"role": "assistant", "content": """ 일등박사 언어에서는 반가울때 일등 이라고 인사한다 """},
            {"role": "assistant", "content": """일등박사 언어에서는 반가울때 일등 이라고 인사한다"""},
        {"role": "user", "content": "일등 이란 뭘까?"}
]
)

댓글