OpenAI API 사용법 완벽 가이드: 텍스트 생성, 이미지 분석, 웹 검색, 스트리밍, 에이전트 개발까지 실습 튜토리얼
OpenAI API 빠른 시작: 개발자를 위한 종합 튜토리얼
OpenAI API를 사용하면 최신 AI 기술을 간편하게 활용할 수 있습니다. 이 튜토리얼에서는 Python, JavaScript, 그리고 cURL을 통해 텍스트 생성, 이미지 분석, 웹 검색 도구 활용, 스트리밍 등 핵심 기능을 단계별로 소개합니다.
준비하기: 환경 설정 및 OpenAI SDK 설치
Python
pip install openai
JavaScript (Node.js)
npm install openai
API 키 필수: OpenAI 플랫폼에서 API 키를 발급받아 환경 변수(
OPENAI_API_KEY
)로 설정하십시오.
기본 텍스트 생성
사용자가 작성한 프롬프트를 AI 모델이 이어받아 자연스러운 텍스트를 생성합니다.
Python 예시
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-4.1",
input="Write a one-sentence bedtime story about a unicorn."
)
print(response.output_text)
JavaScript 예시
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-4.1",
input: "Write a one-sentence bedtime story about a unicorn."
});
console.log(response.output_text);
cURL 예시
curl "https://api.openai.com/v1/responses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4.1",
"input": "Write a one-sentence bedtime story about a unicorn."
}'
이미지 분석: 컴퓨터 비전 활용
이미지에서 내용을 추출하거나 해석할 수 있습니다.
Python 예시
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-4.1",
input=[
{"role": "user", "content": "What two teams are playing in this photo?"},
{
"role": "user",
"content": [
{
"type": "input_image",
"image_url": "https://upload.wikimedia.org/wikipedia/commons/3/3b/LeBron_James_Layup_%28Cleveland_vs_Brooklyn_2018%29.jpg"
}
]
}
]
)
print(response.output_text)
JavaScript 예시
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-4.1",
input: [
{ role: "user", content: "What two teams are playing in this photo?" },
{
role: "user",
content: [
{
type: "input_image",
image_url: "https://upload.wikimedia.org/wikipedia/commons/3/3b/LeBron_James_Layup_%28Cleveland_vs_Brooklyn_2018%29.jpg",
}
],
},
],
});
console.log(response.output_text);
웹 검색 연동: 최신 정보 활용
내장 도구를 사용해 실시간으로 인터넷 정보를 이용할 수 있습니다.
Python 예시
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-4.1",
tools=[{"type": "web_search_preview"}],
input="What was a positive news story from today?"
)
print(response.output_text)
JavaScript 예시
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-4.1",
tools: [ { type: "web_search_preview" } ],
input: "What was a positive news story from today?",
});
console.log(response.output_text);
응답 스트리밍: 실시간 AI 결과 표시
ChatGPT처럼 결과를 한 글자씩 실시간으로 받아올 수 있습니다.
Python 예시
from openai import OpenAI
client = OpenAI()
stream = client.responses.create(
model="gpt-4.1",
input=[
{
"role": "user",
"content": "Say 'double bubble bath' ten times fast.",
},
],
stream=True,
)
for event in stream:
print(event)
JavaScript 예시
import { OpenAI } from "openai";
const client = new OpenAI();
const stream = await client.responses.create({
model: "gpt-4.1",
input: [
{
role: "user",
content: "Say 'double bubble bath' ten times fast.",
},
],
stream: true,
});
for await (const event of stream) {
console.log(event);
}
에이전트 개발: 대화형 AI 시스템 구축
여러가지 역할을 가진 에이전트를 만들고, 요청에 따라 자동으로 적합한 에이전트에 업무를 분배할 수 있습니다.
Python 예시
from agents import Agent, Runner
import asyncio
spanish_agent = Agent(
name="Spanish agent",
instructions="You only speak Spanish.",
)
english_agent = Agent(
name="English agent",
instructions="You only speak English.",
)
triage_agent = Agent(
name="Triage agent",
instructions="Handoff to the appropriate agent based on the language of the request.",
handoffs=[spanish_agent, english_agent],
)
async def main():
result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())
# 출력 예시: ¡Hola! Estoy bien, gracias por preguntar. ¿Y tú, cómo estás?
참고 자료 & 더 알아보기
이 튜토리얼을 활용하면 OpenAI API의 핵심 기능을 빠르게 실습하며, 자신만의 다양한 AI 기반 애플리케이션을 만들 수 있습니다!
궁금한 점이 있거나 더 깊이 학습하고 싶다면 공식 문서를 꼭 참고하세요.
공유하기



조회수 : 34