검색
검색
공개 노트 검색
회원가입로그인

OpenAI API 사용법 완벽 가이드: 텍스트 생성, 이미지 분석, 웹 검색, 스트리밍, 에이전트 개발까지 실습 튜토리얼

OpenAI API 빠른 시작: 개발자를 위한 종합 튜토리얼

OpenAI API를 사용하면 최신 AI 기술을 간편하게 활용할 수 있습니다. 이 튜토리얼에서는 Python, JavaScript, 그리고 cURL을 통해 텍스트 생성, 이미지 분석, 웹 검색 도구 활용, 스트리밍 등 핵심 기능을 단계별로 소개합니다.


  1. 준비하기: 환경 설정 및 OpenAI SDK 설치


Python

pip install openai

JavaScript (Node.js)

npm install openai

API 키 필수: OpenAI 플랫폼에서 API 키를 발급받아 환경 변수(OPENAI_API_KEY)로 설정하십시오.


  1. 기본 텍스트 생성


사용자가 작성한 프롬프트를 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."
    }'

  1. 이미지 분석: 컴퓨터 비전 활용


이미지에서 내용을 추출하거나 해석할 수 있습니다.

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);

  1. 웹 검색 연동: 최신 정보 활용


내장 도구를 사용해 실시간으로 인터넷 정보를 이용할 수 있습니다.

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);

  1. 응답 스트리밍: 실시간 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);
}

  1. 에이전트 개발: 대화형 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?

  1. 참고 자료 & 더 알아보기



이 튜토리얼을 활용하면 OpenAI API의 핵심 기능을 빠르게 실습하며, 자신만의 다양한 AI 기반 애플리케이션을 만들 수 있습니다!
궁금한 점이 있거나 더 깊이 학습하고 싶다면 공식 문서를 꼭 참고하세요.

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 34
heart