20분
LLM API는 어떻게 작동하는가
Day 3: API 활용 & 토큰 이해
LLM API는 어떻게 작동하는가
LLM 기초 > Day 3: API 활용 & 토큰 이해
학습 목표
REST API를 통한 LLM 호출 흐름을 이해한다 OpenAI API의 요청/응답 구조를 파악한다 API 키 관리의 보안 원칙을 이해한다
LLM API 호출 흐름
전체 흐름
[클라이언트] [OpenAI 서버]
│ │
│ 1. HTTP POST 요청 │
│ ─────────────────────────────────→ │
│ { │
│ model: "gpt-4o-mini", │
│ messages: [...], │
│ temperature: 0.3 │
│ } │
│ │
│ 2. LLM이 추론 수행 │
│ ← ─ ─│
│ { │
│ choices: [{ │
│ message: { content: "답변..." } │
│ }], │
│ usage: { │
│ prompt_tokens: 150, │
│ completion_tokens: 300, │
│ total_tokens: 450 │
│ } │
│ } │
API 키 보안 관리
절대 하면 안 되는 것:
# 나쁜 예 1: 코드에 직접 입력
client = OpenAI(api_key="sk-abc123...") # 절대 금지!
# 나쁜 예 2: Git에 .env 커밋
# .gitignore에 .env가 없으면 API 키가 GitHub에 노출
올바른 방법:
# 좋은 예: .env 파일 + dotenv
# .env 파일 (Git에 절대 커밋하지 않음)
# OPENAI_API_KEY=sk-abc123...
from dotenv import load_dotenv
import os
load_dotenv()
client = OpenAI() # 자동으로 OPENAI_API_KEY 환경변수 사용
# .gitignore에 반드시 추가
echo ".env" >> .gitignore
echo ".env.local" >> .gitignore
API 키 유출 사고 실제 사례
[실제 사고]
한 회사가 GitHub public 저장소에 .env를 커밋했다.
봇이 5분 만에 키를 탈취.
하룻밤 사이에 $5,000 청구.
(GPT-4를 이용한 대량 생성)
[예방법]
1. .gitignore에 .env 추가 (프로젝트 생성 즉시)
2. .env.example 파일로 형식만 공유
3. API 사용량 제한 설정 (OpenAI 대시보드)
4. 키 주기적 교체
OpenAI vs Anthropic API 비교
| 항목 | OpenAI | Anthropic |
|---|---|---|
| 모델명 | gpt-4o, gpt-4o-mini | claude-sonnet-4-6, claude-haiku-4-5-20251001 |
| 라이브러리 | openai | anthropic |
| 메시지 구조 | messages 배열 | messages 배열 + system 분리 |
| 스트리밍 | stream=True | stream=True |
| 가격대 | 중간 | 약간 높음 |
| 강점 | 범용, 빠른 응답 | 긴 컨텍스트, 정확한 지시 따르기 |
AI로 학습하기 — 꿀팁
✅LLM API 요청/응답 구조 이해 검증AI 학습 팁
REST API로 LLM을 호출하는 흐름에서 흔히 오해하는 부분(role 순서, temperature 범위, max_tokens 위치 등)을 AI에게 확인하세요.
LLM API 호출에 대한 저의 이해를 검증해주세요. 제가 작성한 Python 코드입니다: messages=[{'role':'user','content':'불량 원인 분석해줘'},{'role':'system','content':'당신은 품질 엔지니어입니다'}], temperature=2.5, max_tokens=100000. 이 코드에서 (1) API 스펙 위반 또는 비효율적인 부분, (2) 각 문제가 실제 제조 AI 응답 품질에 미치는 영향, (3) 올바르게 수정된 코드를 제시해주세요.이 팁이 도움이 됐나요?