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 openai4. 스트리밍 방식으로 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 > General 화면에서 ‘Organization ID’ 및 Settings > Project > General 화면에서 ‘Project ID’ 를 확인할 수 있습니다.

실행 결과

결론
예제를 통해 OpenAI API를 사용하여 Python으로 스트리밍 방식의 응답을 처리하는 방법에 대해 알아보았습니다. 스트리밍 방식을 사용하면 대용량 데이터를 실시간으로 효율적으로 처리할 수 있습니다. 이를 통해 다양한 응용 프로그램에서 OpenAI의 강력한 언어 모델을 활용할 수 있습니다.
함께 보면 좋은 게시글
- 인공 지능 SUNO AI 음악 생성하기: Copilot 및 ChatGPT 활용
- 구글 스프레드시트에서 ChatGPT 확장 설치 및 함수 사용하기
- 파이썬 json 라이브러리: JSON 데이터 처리
- 파이썬 urllib 라이브러리: 웹 페이지 데이터의 추출 및 파싱
- 파이썬 webbrowser 라이브러리: 크롬, 엣지, 웨일 등 웹 브라우저 열기
이 글이 도움이 되셨다면 공유 부탁 드립니다.



