사전 준비
시작하기 전에 다음을 준비해야 합니다:
OpenAI API 키:
OpenAI 계정에서 API 키를 발급받아야 합니다.
프로젝트 루트 디렉토리에 .env 파일을 생성하고, API 키를 다음과 같이 저장합니다:
OPENAI_API_KEY=your-api-key-here
필요한 라이브러리 설치:
openai: OpenAI API를 호출하기 위한 Python 라이브러리
python-dotenv: .env 파일에서 환경 변수를 로드하기 위한 라이브러리
bash
pip install openai python-dotenv
코드 실행:
코드를 .py 파일(예: conversation.py)로 저장합니다.
터미널에서 다음 명령어로 실행합니다:
bash
python conversation.py
[강의 내 소스코드]
"""
OpenAI API 대화 예제 - 여러 턴의 대화
이 예제는 OpenAI API를 사용하여 여러 턴의 대화를 이어가는 방법을 보여줍니다.
"""
from openai import OpenAI
import os
from dotenv import load_dotenv
# .env 파일에서 API 키 로드
load_dotenv()
# OpenAI 클라이언트 초기화
client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))
def conversation():
# 대화 기록을 저장할 리스트
messages = [
{"role": "system", "content": "당신은 친절한 AI 비서입니다. 대화를 자연스럽게 이어가세요."}
]
# 첫 번째 대화
messages.append({"role": "user", "content": "안녕하세요! 오늘 기분이 어때요?"})
# API 호출 및 응답 저장
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=messages,
temperature=0.7
)
# AI 응답을 대화 기록에 추가
messages.append({"role": "assistant", "content": response.choices[0].message.content})
print("AI:", response.choices[0].message.content)
# 두 번째 대화
messages.append({"role": "user", "content": "파이썬에 대해 설명해주세요."})
# API 호출 및 응답 저장
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
temperature=0.7
)
# AI 응답을 대화 기록에 추가
messages.append({"role": "assistant", "content": response.choices[0].message.content})
print("\\nAI:", response.choices[0].message.content)
# 대화 기록 출력
print("\\n전체 대화 기록:")
for msg in messages:
if msg["role"] != "system": # 시스템 메시지는 제외
print(f"{msg['role'].upper()}: {msg['content']}")
if __name__ == "__main__":
conversation()
코드 주요 부분 설명
from openai import OpenAI
import os
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))