사전 준비

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

  1. OpenAI API 키: OpenAI 계정에서 API 키를 발급받아야 합니다.

  2. .env 파일: API 키를 안전하게 저장하기 위해 프로젝트 루트 디렉토리에 .env 파일을 생성하고, 아래와 같이 API 키를 입력합니다.

    OPENAI_API_KEY=your-api-key-here
    
  3. 필요한 라이브러리 설치:

    bash

    pip install openai python-dotenv
    

이제 코드와 주요 부분을 하나씩 살펴보겠습니다.

"""
OpenAI API 기본 사용법 - 채팅 완성(Chat Completion)
이 예제는 OpenAI API를 사용하여 간단한 대화를 생성하는 방법을 보여줍니다.
.env 파일을 생성하여 - OpenAI API KEY를 저장해야 함
"""

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 basic_chat():
    # 대화 메시지 구성
    messages = [
        {"role": "system", "content": "너는 나와 함께 게임을 하는 어린이야"},
        {"role": "user", "content": "'오'로 시작하는 단어 5개를 말해줘"}
    ]
    
    # API 호출
    response = client.chat.completions.create(
        model="gpt-4o-mini",  # 사용할 모델
        messages=messages,      # 대화 내용
        max_tokens=100,         # 최대 토큰 수
        temperature=0.7         # 응답의 다양성 (0.0 ~ 1.0)
    )
    
    # 응답 출력
    print("AI 응답:", response.choices[0].message.content)

if __name__ == "__main__":
    basic_chat() 

Chat Completion은 OpenAI API의 핵심 기능 중 하나로, 대화형 AI 모델(예: GPT 시리즈)을 사용하여 사용자와의 대화를 생성하거나 특정 질문에 대한 응답을 생성하는 프로세스를 의미합니다. 이를 통해 텍스트 기반의 대화, 질문 응답, 작업 수행 등을 구현할 수 있습니다.

정의

Chat Completion은 사용자가 제공한 일련의 메시지(대화 기록)를 입력으로 받아, AI 모델이 맥락에 맞는 자연스러운 텍스트 응답을 생성하는 API 호출입니다. 주로 대화형 애플리케이션, 챗봇, 텍스트 생성 등에 사용됩니다.

주요 구성 요소

  1. Messages: 대화의 흐름을 정의하는 입력.

  2. 모델(Model): 응답을 생성하는 데 사용되는 언어 모델(예: gpt-4o-mini, gpt-3.5-turbo 등).

  3. 매개변수:

  4. 응답: API는 입력 메시지에 기반하여 생성된 텍스트를 반환. 응답은 보통 choices 배열에 포함되며, 각 선택지는 AI의 생성된 메시지(message.content)를 포함.

동작 원리