🤖 AI/ML

OpenRouter

여러 LLM을 통합 제공하는 API 서비스

📖 상세 설명

OpenRouter는 다양한 대형 언어 모델(LLM)을 하나의 통합 API로 접근할 수 있게 해주는 AI 모델 라우팅 서비스입니다. OpenAI의 GPT, Anthropic의 Claude, Google의 Gemini, Meta의 Llama 등 400개 이상의 AI 모델을 단일 엔드포인트로 호출할 수 있어, 개발자가 여러 API 키를 관리할 필요 없이 다양한 모델을 실험하고 활용할 수 있습니다.

OpenRouter는 2023년에 설립되어 AI 생태계의 파편화 문제를 해결하기 위해 등장했습니다. 각 AI 제공사마다 다른 API 형식과 인증 방식을 통일된 OpenAI 호환 형식으로 표준화하여, 개발자들이 손쉽게 모델을 전환하고 비교할 수 있게 되었습니다.

핵심 원리는 API 게이트웨이 패턴입니다. 사용자의 요청을 받아 해당 모델 제공사에 전달하고, 응답을 표준화된 형식으로 반환합니다. 자동 폴백(fallback) 기능으로 한 모델이 응답하지 않으면 대체 모델로 자동 전환되어 서비스 안정성을 보장합니다.

실무에서는 프로토타이핑 단계에서 다양한 모델을 빠르게 테스트하거나, 비용 최적화를 위해 작업별로 다른 모델을 사용할 때 유용합니다. Pass-through 가격 정책으로 원가 그대로 이용할 수 있어 비용 효율적입니다.

💻 코드 예제

# OpenRouter API 사용 예제
import requests

OPENROUTER_API_KEY = "your-api-key"

response = requests.post(
    url="https://openrouter.ai/api/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {OPENROUTER_API_KEY}",
        "Content-Type": "application/json"
    },
    json={
        # 다양한 모델 선택 가능
        "model": "anthropic/claude-3.5-sonnet",  # 또는 "openai/gpt-4o"
        "messages": [
            {"role": "user", "content": "AI의 미래에 대해 설명해주세요"}
        ]
    }
)

result = response.json()
print(result["choices"][0]["message"]["content"])

# OpenAI SDK 호환 방식 (권장)
from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key=OPENROUTER_API_KEY,
)

completion = client.chat.completions.create(
    model="google/gemini-pro-1.5",  # 모델만 변경하면 됨
    messages=[
        {"role": "user", "content": "한국의 수도는?"}
    ]
)
print(completion.choices[0].message.content)

📊 성능 & 비용

2025년 1월 기준 - OpenRouter는 Pass-through 가격 정책으로 원가 그대로 제공합니다.

항목가격/사양비고
가격 마진0% (Pass-through)원가 그대로 제공
플랫폼 수수료~5%크레딧 구매 시
지원 모델 수400+GPT, Claude, Gemini, Llama 등
무료 사용자 제한50 요청/일$10 충전 시 1,000 요청/일
Claude 3.5 Sonnet$3/$15 (입출력 1M)원가 동일
GPT-4o$2.50/$10 (입출력 1M)원가 동일
Llama 3.1 70B$0.52/$0.75 (입출력 1M)오픈소스 모델

🗣️ 실무에서 이렇게 말하세요

💬 회의에서
"프로토타입 단계에서 OpenRouter로 여러 모델 성능을 비교해봤는데, Claude가 코드 생성에서 가장 좋은 결과를 보였습니다. 프로덕션에서는 해당 모델로 직접 전환하면 됩니다."
💬 면접에서
"OpenRouter 같은 API 게이트웨이를 활용하면 단일 코드베이스로 400개 이상의 모델에 접근할 수 있어, 벤더 종속을 피하고 최적의 비용-성능 조합을 찾을 수 있습니다."
💬 기술 토론에서
"OpenRouter의 폴백 기능을 활용하면 특정 모델이 다운되어도 자동으로 대체 모델로 전환되어 서비스 가용성을 99.9% 이상 유지할 수 있습니다."

⚠️ 흔한 실수 & 주의사항

프로덕션에서 무조건 OpenRouter 사용

대량 트래픽 시에는 각 제공사의 직접 API가 더 안정적일 수 있습니다. 프로토타입과 프로덕션 전략을 분리하세요.

API 키 하드코딩

OpenRouter API 키를 코드에 직접 입력하면 보안 위험이 있습니다. 환경 변수나 시크릿 매니저를 사용하세요.

올바른 방법

개발/테스트 단계에서 OpenRouter로 다양한 모델을 비교하고, 프로덕션에서는 선택한 모델의 직접 API로 전환하거나 폴백 설정을 구성하세요.

🔗 관련 용어

📚 더 배우기