Warp

Getting Started

빠른 시작

이미 OpenAI SDK를 쓰고 있다면 이전은 두 줄입니다. baseURL을 Warp 게이트웨이로 바꾸고, API 키를 sk-warp-* 키로 교체하세요. 나머지 코드는 그대로 동작합니다.

두 줄이면 끝나는 마이그레이션

Warp은 OpenAI 호환 API를 그대로 노출합니다. 요청·응답 포맷, 스트리밍, function calling까지 기존 코드와 호환되며, 게이트웨이가 중간에서 라우팅·캐싱·거버넌스를 처리합니다.

client.ts
 const client = new OpenAI({
-  baseURL: "https://api.openai.com/v1",
-  apiKey: process.env.OPENAI_API_KEY,
+  baseURL: "https://api.warp.inc/v1", // ← Warp 게이트웨이
+  apiKey: process.env.WARP_API_KEY,   // ← sk-warp-…
 });

첫 요청 보내기 — curl

model"warp/auto"를 넘기면 분류기가 프롬프트 난이도를 점수화해 가장 저렴한 적정 티어의 모델로 라우팅합니다. 특정 모델을 원하면 카탈로그 id(예: openai/gpt-5.2)를 그대로 쓰면 됩니다.

terminal
curl https://api.warp.inc/v1/chat/completions \
  -H "Authorization: Bearer sk-warp-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "warp/auto",
    "messages": [
      { "role": "user", "content": "PostgreSQL 인덱스를 한 문장으로 설명해줘" }
    ]
  }'

응답 본문의 warp 필드와 x-warp-* 헤더에서 어떤 모델로 라우팅됐는지, 비용과 절감액이 얼마인지 확인할 수 있습니다. 자세한 내용은 Warp 라우터 문서를 참고하세요.

Python — openai SDK

main.py
from openai import OpenAI

client = OpenAI(
    base_url="https://api.warp.inc/v1",  # Warp 게이트웨이
    api_key="sk-warp-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
)

res = client.chat.completions.create(
    model="warp/auto",  # 분류기가 난이도에 맞는 티어를 결정
    messages=[{"role": "user", "content": "PostgreSQL 인덱스를 한 문장으로 설명해줘"}],
)
print(res.choices[0].message.content)

TypeScript — openai 패키지

main.ts
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.warp.inc/v1", // Warp 게이트웨이
  apiKey: process.env.WARP_API_KEY,   // sk-warp-…
});

const res = await client.chat.completions.create({
  // 코딩은 "warp/code", 속도는 "warp/nitro"
  model: "warp/auto",
  messages: [{ role: "user", content: "PostgreSQL 인덱스를 한 문장으로 설명해줘" }],
});

console.log(res.choices[0].message.content);

로컬에서 게이트웨이 실행

모노레포 루트에서 세 줄이면 게이트웨이가 뜹니다. WARP_ENABLE_MOCK=1이 기본값이라 업스트림 프로바이더 키가 하나도 없어도 내장 mock 모델(warp/mock)로 라우팅·캐싱 전체 플로우를 시연할 수 있습니다.

terminal
cp .env.example .env   # WARP_ENABLE_MOCK=1 기본값 — 업스트림 키 없이 동작
pnpm install
pnpm dev:gateway       # → http://localhost:8787

프로바이더 키(OPENAI_API_KEY, ANTHROPIC_API_KEY 등)는 전부 선택 사항입니다 — 키가 있는 프로바이더의 어댑터만 등록됩니다.