Integraciones de SDK y frameworks

Todos los SDK se conectan a GateLLM con los mismos tres pasos. Encuentre su SDK, fíjese en su convención de base_url y en su particularidad, y copie el patrón.

El gateway está orientado a protocolos: sea cual sea el SDK que use, siempre que hable OpenAI / Anthropic / Gemini / DashScope / Realtime / MCP, apuntar su base_url al gateway y cambiar a una clave de acceso le permite llamar a cualquier modelo configurado, incluidas llamadas entre protocolos a modelos de otros proveedores.

1

Apunte base_url al gateway

Por defecto https://your-gateway.gatellm.io; que incluya /v1 depende del SDK (cada ejemplo indica el valor exacto).

2

Cambie a una clave de acceso del gateway

No es una clave upstream sk-…; la misma clave de acceso se monta en la cabecera que espere su SDK.

3

Use el nombre del modelo del gateway

El que haya configurado en la consola, no el nombre oficial del proveedor.

Authorization: Bearer <key>
OpenAI · DashScope · genérico
El prefijo Bearer no distingue mayúsculas de minúsculas
x-api-key: <key>
SDK de Anthropic
También se acepta Authorization
x-goog-api-key: <key>
SDK de Gemini
También se acepta Authorization

Matriz de selección de SDK

SDK / frameworkLenguajeProtocoloDocumentación
SDK oficiales de proveedoresEjemplos en GitHub ↗
OpenAI SDKPython, Node.jsOpenAIEjemplos
Anthropic SDKPython, Node.jsAnthropicEjemplos
Google GenAI SDKPython, JavaScriptGeminiEjemplos
OpenAI-compatible third partiesPython, Node.jsOpenAI-compatibleEjemplos
DashScope nativo
DashScope SDKPythonDashScopeEjemplos
SDK y gateways unificadosEjemplos en GitHub ↗
Vercel AI SDKTypeScriptOpenAI / AnthropicEjemplos
LiteLLMPythonOpenAI-compatibleEjemplos
PortkeyNode.js, PythonOpenAI-compatibleEjemplos
Braintrust / LangbaseTypeScript, PythonOpenAI-compatibleEjemplos
Semantic KernelPython, .NETOpenAI-compatibleEjemplos
Spring AIJavaOpenAI-compatibleEjemplos
Frameworks de orquestaciónEjemplos en GitHub ↗
LangChainPython, TypeScriptOpenAI / AnthropicEjemplos
LangGraphPython, TypeScriptOpenAI / AnthropicEjemplos
LlamaIndexPython, TypeScriptOpenAI-compatibleEjemplos
CrewAIPythonOpenAI-compatible (LiteLLM)Ejemplos
AutoGen / AG2PythonOpenAI-compatibleEjemplos
DSPyPythonOpenAI-compatibleEjemplos
HaystackPythonOpenAI-compatibleEjemplos
Llama StackPythonOpenAI-compatibleEjemplos
SDK de agentes
OpenAI Agents SDKPython, TypeScriptOpenAI ResponsesEjemplos
Claude Agent SDKPython, TypeScriptAnthropicEjemplos
Pydantic AIPythonOpenAI-compatibleEjemplos
Google ADKPythonOpenAI-compatible (LiteLLM)Ejemplos
MastraTypeScriptOpenAI-compatibleEjemplos
Microsoft Agent Framework.NET, PythonOpenAI-compatibleEjemplos
MCP SDKPython, TypeScriptMCPEjemplos
Tiempo real y audio
Realtime WebSocketAny WS clientOpenAI RealtimeEjemplos
openai_audio (ASR / TTS)Python, Node.jsOpenAI audioEjemplos
Local / autoalojado
OllamaRESTOpenAI-compatible (upstream)Ejemplos
vLLMRESTOpenAI-compatible (upstream)Ejemplos
llama.cpp serverRESTOpenAI-compatible (upstream)Ejemplos
SGLangRESTOpenAI-compatible (upstream)Ejemplos
Text Generation Inference (TGI)RESTOpenAI-compatible (upstream)Ejemplos
LM StudioRESTOpenAI-compatible (upstream)Ejemplos

Particularidades

El nombre del modelo debe coincidir con la configuración del gateway

No es el nombre oficial del proveedor ni el ID del modelo upstream, sino el nombre que le dio en la consola. Un nombre incorrecto produce 404 model_not_found.

Que base_url incluya /v1 varía según el SDK

El SDK de OpenAI usa /v1; el SDK de Anthropic usa la raíz (añade /v1/messages); createAnthropic del Vercel AI SDK usa /v1 (añade /messages). Equivocarse añade o elimina un segmento de ruta.

Los campos se traducen y restringen entre protocolos

Un max_tokens puede convertirse en max_output_tokens con un límite inferior (por ejemplo, ≥16) cuando el upstream es un modelo de protocolo Responses; un valor demasiado pequeño produce 400.

El gateway envuelve los bloques de pensamiento

El contenido y las firmas de pensamiento de Claude / Gemini se pasan o se eliminan; tome el elemento con type == "text" del arreglo content y no asuma que content[0] es texto.

El SDK de OpenAI Agents usa /v1/responses por defecto

Llama a la API de Responses, no a Chat Completions. Si el upstream es openai (Chat), cambie explícitamente con OpenAIChatCompletionsModel; si es openai_response, un nombre de modelo como cadena funciona tal cual.

LlamaIndex valida el nombre del modelo contra una lista permitida

La clase OpenAI solo acepta familias que reconoce y rechaza nombres personalizados del gateway; use OpenAILike (Python) o declare la información del modelo explícitamente.

CrewAI funciona con LiteLLM por debajo

base_url no es un parámetro del framework: es la variable de entorno OPENAI_API_BASE, y el modelo necesita el prefijo openai/.

AutoGen requiere model_info explícito

Los nombres de modelo desconocidos dan error con la lista predeterminada; declare model_info explícitamente para omitir la comprobación.

El SDK de Google GenAI apunta a la raíz

base_url se pasa mediante http_options.base_url (sin /v1) y la clave se monta en la cabecera x-goog-api-key.

Preguntas frecuentes