파이썬 코드 단 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
'프로그래밍 > 2023' 카테고리의 다른 글
차단당하지 않고 웹 크롤링 하는 방법(쿠팡 크롤링 파이썬 코드 제공) (1) | 2023.10.13 |
---|---|
파이썬 기초 강의 - 독학하는 프로그래밍 입문자, 초보자를 위한 무료 강의 (0) | 2023.04.24 |
파이썬 셀레니움(selenium) 웹브라우저 스크린샷 찍는 방법(save_screenshot 사용법) (0) | 2023.04.24 |
파이썬 moviepy로 동영상(mp4)에서 mp3 추출하는 방법 (0) | 2023.04.24 |