OpenAI API 사용하기: Python으로 스트리밍 방식 예제

OpenAI API 사용하기: Python으로 스트리밍 방식 예제

이 글에서는 OpenAI API를 활용하여 Python으로 스트리밍 방식으로 질문하고 응답을 받는 방법에 대해 알아봅니다. 스트리밍 방식은 응답을 실시간으로 처리할 수 있어, 빠르고 효율적인 데이터 처리에 유용합니다.

1. OpenAI API 소개

OpenAI API는 다양한 언어 모델을 통해 텍스트 생성, 번역, 질문 응답 등 여러 작업을 수행할 수 있는 서비스입니다. Python 라이브러리를 사용하면 손쉽게 API를 호출할 수 있습니다.

2. API 키 설정 및 인증

API를 사용하기 위해서는 OpenAI에서 제공하는 API 키가 필요합니다. API 키는 OpenAI 계정에서 생성할 수 있으며, 이를 통해 API에 접근할 수 있습니다.

 'API keys' 메뉴에서 새로운 API 키를 생성하거나 기존 키 관리

OpenAI API 키 사용 시 비용 발생

OpenAI API를 사용하면 비용이 발생합니다. 모델별 사용량에 따라 비용이 청구되므로, API 사용 시 이를 고려하여 관리해야 합니다. 자세한 요금 제한 가이드는 아래 링크를 참고하시면 됩니다.

3. Python에서 OpenAI API 사용하기

먼저 OpenAI Python 라이브러리를 설치해야 합니다. 터미널에서 다음 명령어를 실행하여 설치합니다.

pip install openai

4. 스트리밍 방식으로 API 사용하기

다음은 스트리밍 방식으로 OpenAI API를 사용하는 Python 코드 예제입니다.

import openai

# OpenAI API 키 설정
openai.api_key = "your_openai_api_key"

# OpenAI API를 사용하여 질문하기 (스트리밍 방식)
try:
  response = openai.ChatCompletion.create(
    # model="gpt-4o-2024-05-13",
    model="gpt-3.5-turbo",
    messages=[
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "한국의 수도는? 답만 알려줘"}
    ],
    max_tokens=100,
    stream=True,
    headers={
      "OpenAI-Organization": "your_organization_id",
      "OpenAI-Project": "your_project_id"
    }
  )

  # 스트리밍 응답 처리
  print("응답: ", end="")
  for chunk in response:
    if chunk.choices[0].delta.get("content"):
      print(chunk.choices[0].delta["content"], end="")
  print("\n응답 완료.")

except openai.error.OpenAIError as e:
  print(f"OpenAI API 요청 중 오류가 발생했습니다: {e}")

API 키, 조직 ID 및 프로젝트 ID는 보안성이 민감한 정보이므로 설정 파일이나 환경 변수 등을 통해 안전하게 관리하는 것이 좋습니다. 이를 통해 코드 내에서 직접적으로 키를 노출하지 않도록 주의해야 합니다.

Settings 설정 화면에서 'Organization ID', 'Project ID' 확인

실행 결과

Python에서 OpenAI API 사용 예제 실행 화면

결론

예제를 통해 OpenAI API를 사용하여 Python으로 스트리밍 방식의 응답을 처리하는 방법에 대해 알아보았습니다. 스트리밍 방식을 사용하면 대용량 데이터를 실시간으로 효율적으로 처리할 수 있습니다. 이를 통해 다양한 응용 프로그램에서 OpenAI의 강력한 언어 모델을 활용할 수 있습니다.

함께 보면 좋은 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤