사전 준비

시작하기 전에 다음을 준비해야 합니다:

  1. OpenAI API 키:

  2. 필요한 라이브러리 설치:

  3. 코드 실행:

[강의 내 소스코드]

"""
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() 

코드 주요 부분 설명

  1. 라이브러리 임포트
from openai import OpenAI
import os
from dotenv import load_dotenv
  1. 환경 변수 로드 및 클라이언트 초기화
load_dotenv()
client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))