프로그래밍/2023

파이썬 OpenAI ChatGPT API 사용법(gpt-3.5-turbo) 나만의 챗GPT(인공지능 챗봇) 만들기

김플 2023. 4. 24. 18:30
반응형

파이썬 코드 단 10줄만으로 OpenAI API를 사용해서 챗GPT와 똑같이 사용할 수 있는 나만의 인공지능 챗봇을 만드는 파이썬&OpenAI API 사용법 강의입니다.
chatgpt와 같은 gpt-3.5-turbo 모델을 사용해서 실제로 챗gpt처럼 채팅을 주고받는 게 가능합니다.
만드는 방법은 파이썬 기초만 알아도 따라올 수 있을 정도로 쉽습니다.

openai의 API를 사용하려면 먼저 설치를 해야 합니다. 

pip install openai

openai documentation의 api 레퍼런스에서 제공되는 파이썬 샘플 코드는 아래와 같습니다.

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

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

print(completion.choices[0].message)

샘플에서 제공되는 os.getenv("OPENAI_API_KEY") 이 코드를 사용하려면 우선 api key를 발급받은 다음 사용하는 os의 환경 변수에 OPENAI_API_KEY라는 이름으로 저장을 해야 합니다. 강의에서는 간단하게 변수에 바로 api key를 저장하여 사용합니다.
아래 파이썬 코드는 챗gpt처럼 반복하면서 대화가 가능하도록 수정한 코드입니다.

import openai

openai.api_key = "자신의 api key"

messages = []
while True:
    user_content = input("user : ")
    messages.append({"role": "user", "content": f"{user_content}"})

    completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=messages)

    assistant_content = completion.choices[0].message["content"].strip()

    messages.append({"role": "assistant", "content": f"{assistant_content}"})

    print(f"GPT : {assistant_content}")

messages.append({"role": "user", "content": f"{user_content}"}) 이 코드로 유저가 보낼 메시지를 리스트에 저장하고,
messages.append({"role": "assistant", "content": f"{assistant_content}"}) 이 코드로 챗봇에게 응답받은 메세지를 리스트에 저장하면서 대화를 이어나갈 수 있습니다.

아래는 실제 대화를 나눈 예시입니다.

봄에 가기 좋은 여행지를 물어봤을 때 제주도를 추천해 줬고 다시 질문할 때 제주도를 언급하지 않고 '거기'라고만 했지만 chatgpt처럼 자신이 응답한 제주도를 기억하고 응답하는 걸 알 수 있습니다.

자세한 사용법은 아래 강의 영상을 참고 바랍니다.
https://youtu.be/b-QeMi1A2go

반응형

▼웹크롤링&자동화를 제대로 배워보고 싶다면?▼

 

실습으로 끝장내는 파이썬 웹 크롤링과 웹 페이지 자동화 - 인프런 | 강의

쉬운 설명과 다양한 실습으로 어떠한 사이트라도 원하는 대로 파이썬(Python) 웹 크롤링을 할 수 있게 됩니다., - 강의 소개 | 인프런...

www.inflearn.com