지난 1편에서는 환경세팅을 하였다면 이제는 본격적으로 API를 활용해보려 한다.

2. CHATGPT의 API key를 발급받자.

우선 https://openai.com/ 에 접속하여 Sign UP (회원가입) 을 한다.
로그인 후 본인 계정설정 에서, “create new secret key” 를 눌러 API를 발급해준다.
해당 API는 한번 생성 후 다시 열어볼 수가 없으니 복사하여 본인만 아는 곳에 잘 붙여넣고 관리해야 한다.

캡쳐1

3. 파이썬 코드를 넣어보자.

위 링크의 예시들을 토대로 나의 vscode 에디터에 복붙해볼 것이다.
가상환경을 만들었던 CHATGPT_API 폴더 내에 ‘chatgpt.py’ 라는 임의의 파이썬 파일을 생성해주었다.

import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")

모든 openai 의 API 사용 시 가장 기본이 되야 할 것은 위의 3줄이다.
여기 셋째 줄에서 API KEY 를 넣을 때에는 2가지 방법이 있다.

(1) 나의 os 환경변수 안에 저장해두고 사용하기

환경변수로 저장해둘 경우 코드 자체에서 API가 노출되지 않아 안전하다고 한다.
Terminal - CMD 창에서 os.environ.get 함수 등을 활용하여 가능하다.
이 방법은 나의 경우에 오류가 발생하였기에 그냥 키값을 그대로 넣어서 사용하는 방법을 소개한다.

(2) key값 그대로 코드에 넣어서 사용하기

개인 PC에 한하여 사용한다면 os.getenv 함수를 사용하지 않고 그냥 아래와 같이 Key값을 바로 넣어 사용할 수 있다.
요금이 과금되므로 타인에게 공유하지 않도록 조심하자!

import os
import openai
openai.api_key = "sk-ti~~~~~~jq"


프롬프트 입력 후 답변받기

OPENAI - API 예시 참고링크

공식홈페이지에서의 예시를 그대로 넣어 사용해보았다.
“Content”: 뒤에 오는 Hello! 가 내가 챗GPT 에게 넣은 프롬프트에 해당한다.

response = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "user", "content": "Hello!"},
  ]
)

print(response['choices'][0]['message']['content'])


챗봇 형태로 주고받기

위에서는 특정내용 (ex”HELLO!”) 을 넣는 식으로 진행하면 한가지 답변이 뜨고 끝이나버린다.
계속 질문답변을 주고받는 채팅형식으로 진행하기 위해 ‘질문:’ 이라는 프롬프트를 추가하고 While 반복문을 사용함으로써, 질문 → 답변 → 질문 (반복) 의 형태가 이어지도록 수정해보았다.
읽기에 편하도록 답변의 앞에는 “답변:” 이 달리도록, 뒤에는 “======” 와 같이 구분선까지 추가해보니 제법 그럴싸하다.

while True:
  prompt = input("질문:")

  response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
      {'role': 'user', 'content': prompt}
    ]
  )
  
  print("답변:")
  print(response['choices'][0]['message']['content'])
  print("================================")

이제 해당파일을 실행하면 (cmd 명령창에 py 파일명.py 로 실행)
짜잔~~ 아래처럼 파이썬으로 실행할 수 있는 나만의 챗봇 완성 ^^ !!

움짤