SDK 및 프레임워크 통합

모든 SDK는 동일한 세 단계로 GateLLM에 연결됩니다. SDK를 찾고 base_url 규칙과 주의사항을 확인한 뒤 패턴을 복사하세요.

게이트웨이는 프로토콜 지향적입니다: 어떤 SDK를 쓰든 OpenAI / Anthropic / Gemini / DashScope / Realtime / MCP를 사용한다면, base_url을 게이트웨이로 지정하고 액세스 키를 교체하는 것만으로 구성된 모든 모델 — 다른 벤더 모델로의 프로토콜 교차 호출 포함 — 을 호출할 수 있습니다.

1

base_url을 게이트웨이로 지정

기본값은 https://your-gateway.gatellm.io 입니다 — /v1 포함 여부는 SDK마다 다릅니다(각 예시에 정확한 값을 표기).

2

게이트웨이 액세스 키로 교체

업스트림 sk-… 키가 아닙니다 — 같은 액세스 키가 SDK가 기대하는 헤더에 맞춰 들어갑니다.

3

게이트웨이 모델 이름 사용

콘솔에서 구성한 이름을 쓰세요 — 벤더의 공식 이름이 아닙니다.

Authorization: Bearer <key>
OpenAI · DashScope · 범용
Bearer 접두사는 대소문자를 구분하지 않습니다
x-api-key: <key>
Anthropic SDK
Authorization도 허용됩니다
x-goog-api-key: <key>
Gemini SDK
Authorization도 허용됩니다

SDK 선택 매트릭스

SDK / 프레임워크언어프로토콜문서
공식 벤더 SDKGitHub 예제 ↗
OpenAI SDKPython, Node.jsOpenAI예시
Anthropic SDKPython, Node.jsAnthropic예시
Google GenAI SDKPython, JavaScriptGemini예시
OpenAI-compatible third partiesPython, Node.jsOpenAI-compatible예시
DashScope 네이티브
DashScope SDKPythonDashScope예시
통합 SDK 및 게이트웨이GitHub 예제 ↗
Vercel AI SDKTypeScriptOpenAI / Anthropic예시
LiteLLMPythonOpenAI-compatible예시
PortkeyNode.js, PythonOpenAI-compatible예시
Braintrust / LangbaseTypeScript, PythonOpenAI-compatible예시
Semantic KernelPython, .NETOpenAI-compatible예시
Spring AIJavaOpenAI-compatible예시
오케스트레이션 프레임워크GitHub 예제 ↗
LangChainPython, TypeScriptOpenAI / Anthropic예시
LangGraphPython, TypeScriptOpenAI / Anthropic예시
LlamaIndexPython, TypeScriptOpenAI-compatible예시
CrewAIPythonOpenAI-compatible (LiteLLM)예시
AutoGen / AG2PythonOpenAI-compatible예시
DSPyPythonOpenAI-compatible예시
HaystackPythonOpenAI-compatible예시
Llama StackPythonOpenAI-compatible예시
에이전트 SDK
OpenAI Agents SDKPython, TypeScriptOpenAI Responses예시
Claude Agent SDKPython, TypeScriptAnthropic예시
Pydantic AIPythonOpenAI-compatible예시
Google ADKPythonOpenAI-compatible (LiteLLM)예시
MastraTypeScriptOpenAI-compatible예시
Microsoft Agent Framework.NET, PythonOpenAI-compatible예시
MCP SDKPython, TypeScriptMCP예시
실시간 및 오디오
Realtime WebSocketAny WS clientOpenAI Realtime예시
openai_audio (ASR / TTS)Python, Node.jsOpenAI audio예시
로컬 / 자체 호스팅
OllamaRESTOpenAI-compatible (upstream)예시
vLLMRESTOpenAI-compatible (upstream)예시
llama.cpp serverRESTOpenAI-compatible (upstream)예시
SGLangRESTOpenAI-compatible (upstream)예시
Text Generation Inference (TGI)RESTOpenAI-compatible (upstream)예시
LM StudioRESTOpenAI-compatible (upstream)예시

주의사항

모델 이름은 게이트웨이 구성과 일치해야 합니다

벤더의 공식 이름도, 업스트림 모델 ID도 아닙니다 — 콘솔에서 지정한 이름입니다. 이름이 틀리면 404 model_not_found가 발생합니다.

base_url에 /v1이 포함되는지는 SDK마다 다릅니다

OpenAI SDK는 /v1을 사용하고, Anthropic SDK는 루트를 사용하며(내부에서 /v1/messages를 붙임), Vercel AI SDK의 createAnthropic은 /v1을 사용합니다(내부에서 /messages를 붙임). 잘못 지정하면 경로 세그먼트가 하나 더 붙거나 빠집니다.

필드는 프로토콜 간에 번역되며 제약이 달라집니다

업스트림이 Responses 프로토콜 모델이면 max_tokens가 더 낮은 하한(예: ≥16)을 가진 max_output_tokens로 바뀔 수 있습니다 — 너무 작으면 400이 발생합니다.

사고(thinking) 블록은 게이트웨이가 감쌉니다

Claude / Gemini의 사고 콘텐츠와 서명은 그대로 전달되거나 제거됩니다 — content 배열에서 type == "text"인 요소를 취하고, content[0]이 텍스트라고 가정하지 마세요.

OpenAI Agents SDK는 기본적으로 /v1/responses를 사용합니다

Chat Completions가 아니라 Responses API를 호출합니다. 업스트림이 openai(Chat)라면 OpenAIChatCompletionsModel로 명시적으로 전환하고, openai_response라면 문자열 모델 이름이 그대로 동작합니다.

LlamaIndex는 모델 이름을 허용 목록으로 검증합니다

OpenAI 클래스는 인식하는 계열만 허용하고 사용자 정의 게이트웨이 이름을 거부합니다 — OpenAILike(Python)를 사용하거나 모델 정보를 명시적으로 선언하세요.

CrewAI는 내부적으로 LiteLLM으로 구동됩니다

base_url은 프레임워크 파라미터가 아니라 OPENAI_API_BASE 환경 변수이며, 모델에는 openai/ 접두사가 필요합니다.

AutoGen은 명시적인 model_info를 요구합니다

알 수 없는 모델 이름은 기본 목록에서 오류가 납니다 — model_info를 명시적으로 선언해 검사를 우회하세요.

Google GenAI SDK는 루트를 가리킵니다

base_url은 http_options.base_url로 전달하며(/v1 없음), 키는 x-goog-api-key 헤더에 들어갑니다.

FAQ