Getting Started
빠른 시작
이미 OpenAI SDK를 쓰고 있다면 이전은 두 줄입니다. baseURL을 Celon 게이트웨이로 바꾸고, API 키를 sk-celon-* 키로 교체하세요. 나머지 코드는 그대로 동작합니다.
두 줄이면 끝나는 마이그레이션
Celon은 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.celon.ai/v1", // ← Celon 게이트웨이
+ apiKey: process.env.CELON_API_KEY, // ← sk-celon-…
});첫 요청 보내기 — curl
model에 "celon/auto"를 넘기면 분류기가 프롬프트 난이도를 점수화해 가장 저렴한 적정 티어의 모델로 라우팅합니다. 특정 모델을 원하면 카탈로그 id(예: openai/gpt-5.2)를 그대로 쓰면 됩니다.
terminal
curl https://api.celon.ai/v1/chat/completions \
-H "Authorization: Bearer sk-celon-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "celon/auto",
"messages": [
{ "role": "user", "content": "PostgreSQL 인덱스를 한 문장으로 설명해줘" }
]
}'응답 본문의 celon 필드와 x-celon-* 헤더에서 어떤 모델로 라우팅됐는지, 비용과 절감액이 얼마인지 확인할 수 있습니다. 자세한 내용은 스마트 라우팅 문서를 참고하세요.
Python — openai SDK
main.py
from openai import OpenAI
client = OpenAI(
base_url="https://api.celon.ai/v1", # Celon 게이트웨이
api_key="sk-celon-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
)
res = client.chat.completions.create(
model="celon/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.celon.ai/v1", // Celon 게이트웨이
apiKey: process.env.CELON_API_KEY, // sk-celon-…
});
const res = await client.chat.completions.create({
// 코딩은 "celon/code", 품질은 "celon/quality", 속도는 "celon/nitro", 최저가는 "celon/floor"
model: "celon/auto",
messages: [{ role: "user", content: "PostgreSQL 인덱스를 한 문장으로 설명해줘" }],
});
console.log(res.choices[0].message.content);로컬에서 게이트웨이 실행
모노레포 루트에서 세 줄이면 게이트웨이가 뜹니다. CELON_ENABLE_MOCK=1이 기본값이라 업스트림 프로바이더 키가 하나도 없어도 내장 mock 모델(celon/mock)로 라우팅·캐싱 전체 플로우를 시연할 수 있습니다.
terminal
cp .env.example .env # CELON_ENABLE_MOCK=1 기본값 — 업스트림 키 없이 동작
pnpm install
pnpm dev:gateway # → http://localhost:8787프로바이더 키(OPENAI_API_KEY, ANTHROPIC_API_KEY 등)는 전부 선택 사항입니다 — 키가 있는 프로바이더의 어댑터만 등록됩니다.