# Интеграции SDK и фреймворков - GateLLM

> Подключите любой SDK или фреймворк к GateLLM: OpenAI, Anthropic, Gemini, DashScope, LangChain, LlamaIndex, CrewAI, Vercel AI SDK, OpenAI Agents SDK, Ollama и ещё 30+ — одна замена base_url, включая подводные камни для каждого SDK.

Канонический URL: https://www.gatellm.io/ru/integrations/

## Интеграции SDK и фреймворков
Каждый SDK подключается к GateLLM одинаковыми тремя шагами. Найдите свой SDK, запомните его конвенцию base_url и подводный камень, затем скопируйте шаблон.
Шлюз ориентирован на протоколы: какой бы SDK вы ни использовали, если он говорит на OpenAI / Anthropic / Gemini / DashScope / Realtime / MCP, достаточно направить его base_url на шлюз и подставить ключ доступа, чтобы вызывать любую настроенную модель — включая межпротокольные вызовы моделей других производителей.
## Работает с SDK, который у вас уже есть
Направьте любой SDK или фреймворк на шлюз одной строкой. OpenAI, Anthropic, Gemini и DashScope подключаются нативно; LangChain, LlamaIndex, CrewAI, Vercel AI SDK и ещё 30+ — через ту же замену base_url.
### Направьте base_url на шлюз
По умолчанию https://your-gateway.gatellm.io — наличие /v1 зависит от SDK (в каждом примере указано точное значение).
### Подставьте ключ доступа к шлюзу
Это не upstream-ключ sk-… — один и тот же ключ доступа подставляется в тот заголовок, который ожидает ваш SDK.
### Используйте имя модели шлюза
То, которое вы задали в консоли, — а не официальное имя производителя.
```
# base_url convention differs by SDK — match the one you're using
from openai import OpenAI
OpenAI(base_url="https://your-gateway.gatellm.io/v1")        # OpenAI SDK: /v1

import anthropic
anthropic.Anthropic(base_url="https://your-gateway.gatellm.io")  # Anthropic SDK: root (appends /v1/messages)

# Vercel AI SDK createAnthropic: baseURL ".../v1" (appends /messages) — the reverse
# LangChain ChatOpenAI: base_url="https://your-gateway.gatellm.io/v1"
```
### `Authorization: Bearer <key>`
- SDK / фреймворк: OpenAI · DashScope · универсально
- Префикс Bearer без учёта регистра

### `x-api-key: <key>`
- SDK / фреймворк: Anthropic SDK
- Authorization также принимается

### `x-goog-api-key: <key>`
- SDK / фреймворк: Gemini SDK
- Authorization также принимается

## Матрица выбора SDK

### Официальные SDK производителей
SDK OpenAI / Anthropic / Google подключаются нативно — меняется только base_url
| SDK / фреймворк | Язык | Протокол | Документация |
| --- | --- | --- | --- |
| OpenAI SDK | Python, Node.js | OpenAI | https://docs.gatellm.io/en/sdk/vendor-sdks |
| Anthropic SDK | Python, Node.js | Anthropic | https://docs.gatellm.io/en/sdk/vendor-sdks |
| Google GenAI SDK | Python, JavaScript | Gemini | https://docs.gatellm.io/en/sdk/vendor-sdks |
| OpenAI-compatible third parties | Python, Node.js | OpenAI-compatible | https://docs.gatellm.io/en/sdk/vendor-sdks |

### Нативный DashScope
Текст, изображения, асинхронное видео, эмбеддинги и rerank через одну конечную точку
| SDK / фреймворк | Язык | Протокол | Документация |
| --- | --- | --- | --- |
| DashScope SDK | Python | DashScope | https://docs.gatellm.io/en/quickstart/dashscope |

### Унифицированные SDK и шлюзы
Vercel AI SDK, LiteLLM, Portkey, Semantic Kernel, Spring AI
| SDK / фреймворк | Язык | Протокол | Документация |
| --- | --- | --- | --- |
| Vercel AI SDK | TypeScript | OpenAI / Anthropic | https://docs.gatellm.io/en/sdk/unified-sdks |
| LiteLLM | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/unified-sdks |
| Portkey | Node.js, Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/unified-sdks |
| Braintrust / Langbase | TypeScript, Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/unified-sdks |
| Semantic Kernel | Python, .NET | OpenAI-compatible | https://docs.gatellm.io/en/sdk/unified-sdks |
| Spring AI | Java | OpenAI-compatible | https://docs.gatellm.io/en/sdk/unified-sdks |

### Фреймворки оркестрации
LangChain, LlamaIndex, CrewAI, AutoGen, DSPy, Haystack
| SDK / фреймворк | Язык | Протокол | Документация |
| --- | --- | --- | --- |
| LangChain | Python, TypeScript | OpenAI / Anthropic | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| LangGraph | Python, TypeScript | OpenAI / Anthropic | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| LlamaIndex | Python, TypeScript | OpenAI-compatible | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| CrewAI | Python | OpenAI-compatible (LiteLLM) | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| AutoGen / AG2 | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| DSPy | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| Haystack | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| Llama Stack | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/orchestration-frameworks |

### SDK для агентов
OpenAI Agents, Claude Agent, Pydantic AI, ADK, Mastra
| SDK / фреймворк | Язык | Протокол | Документация |
| --- | --- | --- | --- |
| OpenAI Agents SDK | Python, TypeScript | OpenAI Responses | https://docs.gatellm.io/en/sdk/agent-sdks |
| Claude Agent SDK | Python, TypeScript | Anthropic | https://docs.gatellm.io/en/quickstart/anthropic-interop |
| Pydantic AI | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/agent-sdks |
| Google ADK | Python | OpenAI-compatible (LiteLLM) | https://docs.gatellm.io/en/sdk/agent-sdks |
| Mastra | TypeScript | OpenAI-compatible | https://docs.gatellm.io/en/sdk/agent-sdks |
| Microsoft Agent Framework | .NET, Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/agent-sdks |
| MCP SDK | Python, TypeScript | MCP | https://docs.gatellm.io/en/reference/mcp-config |

### Реальное время и аудио
Голос по WebSocket в реальном времени + openai_audio ASR / TTS
| SDK / фреймворк | Язык | Протокол | Документация |
| --- | --- | --- | --- |
| Realtime WebSocket | Any WS client | OpenAI Realtime | https://docs.gatellm.io/en/sdk/realtime-and-audio |
| openai_audio (ASR / TTS) | Python, Node.js | OpenAI audio | https://docs.gatellm.io/en/sdk/realtime-and-audio |

### Локальные / self-hosted
Ollama, vLLM, llama.cpp как upstream — любой клиентский SDK сохраняется
| SDK / фреймворк | Язык | Протокол | Документация |
| --- | --- | --- | --- |
| Ollama | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |
| vLLM | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |
| llama.cpp server | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |
| SGLang | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |
| Text Generation Inference (TGI) | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |
| LM Studio | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |

## Подводные камни
### Имя модели должно совпадать с конфигурацией шлюза
Не официальное имя производителя и не ID модели в upstream, а то имя, которое вы задали в консоли. Неверное имя → 404 model_not_found.

### Наличие /v1 в base_url зависит от SDK
OpenAI SDK принимает /v1; Anthropic SDK принимает корень (он сам добавляет /v1/messages); createAnthropic из Vercel AI SDK принимает /v1 (он добавляет /messages). Ошибка добавляет или удаляет сегмент пути.

### Поля транслируются и ограничиваются между протоколами
max_tokens может стать max_output_tokens с нижней границей (например, ≥16), если upstream — модель протокола Responses; слишком маленькое значение → 400.

### Блоки размышлений оборачиваются шлюзом
Содержимое и подписи thinking от Claude / Gemini передаются как есть или удаляются — берите элемент content-массива с type == "text", не предполагайте, что content[0] — текст.

### OpenAI Agents SDK по умолчанию использует /v1/responses
Он вызывает Responses API, а не Chat Completions. Если upstream — 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
### GateLLM работает с LangChain / LlamaIndex / CrewAI?
Да — направьте базовую chat-модель каждого фреймворка на OpenAI-compatible endpoint шлюза. У каждого есть своя точка входа «изменить base_url»: LangChain использует ChatOpenAI(base_url=…), LlamaIndex — OpenAILike, CrewAI задаёт переменную окружения OPENAI_API_BASE (под капотом это LiteLLM).
### Можно ли использовать Claude Agent SDK или Claude Code через GateLLM?
Да. Они читают переменные окружения ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN — направьте их на корень шлюза и используйте ключ доступа к шлюзу. Назовите модель шлюза точно тем ID, который запрашивает агент (или согласуйте через ANTHROPIC_MODEL).
### Как подключить OpenAI Agents SDK?
Направьте его клиент OpenAI на шлюз и задайте модель. Учтите, что по умолчанию он использует /v1/responses — если ваш upstream — модель протокола Chat, явно переключитесь через OpenAIChatCompletionsModel. Отключите трассировку (set_tracing_disabled), чтобы трассировки не шли на шлюз.
### Может ли GateLLM обслуживать Ollama / vLLM / llama.cpp?
Да — настройте их как OpenAI-compatible upstream и сохраните любой клиентский SDK. Шлюз добавляет сверху маршрутизацию, fallback и управление для ваших self-hosted моделей.
### base_url включает /v1 или нет?
Зависит от SDK: OpenAI SDK принимает /v1; Anthropic SDK принимает корень (он сам добавляет /v1/messages); createAnthropic из Vercel AI SDK принимает /v1 (он добавляет /messages). В документации указано точное значение для каждого SDK.
### Чем ключ доступа к шлюзу отличается от upstream-ключа?
Ключ доступа к шлюзу — то, что предъявляет ваш клиент, в том заголовке, который использует ваш SDK (Authorization, x-api-key или x-goog-api-key). Ключи upstream-производителей остаются в шлюзе и никогда не раскрываются клиенту.

## Связанные страницы
- [Главная](https://www.gatellm.io/ru/index.md)
- [Тарифы](https://www.gatellm.io/ru/pricing.md)
- [Калькулятор стоимости LLM](https://www.gatellm.io/ru/calculator.md)
- [О нас](https://www.gatellm.io/ru/about.md)
- [Заказать демо](https://www.gatellm.io/ru/demo.md)
- [FAQ](https://www.gatellm.io/ru/faq.md)
- [Сравнить AI-шлюзы](https://www.gatellm.io/ru/compare.md)
- [Сравнить LiteLLM](https://www.gatellm.io/ru/compare/litellm.md)
- [Сравнить OpenRouter](https://www.gatellm.io/ru/compare/openrouter.md)
- [Сравнить Alibaba Cloud AI Gateway](https://www.gatellm.io/ru/compare/alibaba-cloud.md)
- [Сравнить Azure API Management](https://www.gatellm.io/ru/compare/azure-apim.md)
- [Сравнить Apigee](https://www.gatellm.io/ru/compare/apigee.md)
- [Сравнить Cloudflare AI Gateway](https://www.gatellm.io/ru/compare/cloudflare.md)
- [Сравнить Kong AI Gateway](https://www.gatellm.io/ru/compare/kong.md)
- [Сравнить Portkey](https://www.gatellm.io/ru/compare/portkey.md)
- [LiteLLM vs Kong AI Gateway](https://www.gatellm.io/ru/compare/litellm-vs-kong.md)
- [LiteLLM vs OpenRouter](https://www.gatellm.io/ru/compare/litellm-vs-openrouter.md)
- [LiteLLM vs Portkey](https://www.gatellm.io/ru/compare/litellm-vs-portkey.md)
- [Сценарии использования](https://www.gatellm.io/ru/use-cases.md)
- [Снижение затрат на LLM](https://www.gatellm.io/ru/use-cases/reduce-cost.md)
- [Высокая доступность](https://www.gatellm.io/ru/use-cases/high-availability.md)
- [Мультитенантная изоляция](https://www.gatellm.io/ru/use-cases/multi-tenant.md)
- [Комплаенс и аудит](https://www.gatellm.io/ru/use-cases/compliance-audit.md)
- [Диагностика по симптомам](https://www.gatellm.io/ru/use-cases/troubleshooting.md)
- [Смешанный стек моделей от разных поставщиков](https://www.gatellm.io/ru/use-cases/mixed-model-stack.md)
- [ИИ в собственном контуре внутри Office](https://www.gatellm.io/ru/use-cases/self-hosted-office-ai.md)
- [Видимость и атрибуция использования токенов](https://www.gatellm.io/ru/use-cases/token-ops.md)
- [Token FinOps: распределение и контроль затрат на ИИ](https://www.gatellm.io/ru/use-cases/token-finops.md)
- [Управление инструментами MCP](https://www.gatellm.io/ru/use-cases/mcp-tool-governance.md)
- [Веб-поиск для всех моделей](https://www.gatellm.io/ru/use-cases/web-search-grounding.md)
- [Ротация и резерв нескольких ключей](https://www.gatellm.io/ru/use-cases/multi-key-pooling.md)
- [Контроль доступа подключённых клиентов](https://www.gatellm.io/ru/use-cases/client-admission-control.md)
- [Принудительная политика использования моделей](https://www.gatellm.io/ru/use-cases/enforce-model-policy.md)
- [Без выбора модели на клиенте](https://www.gatellm.io/ru/use-cases/automatic-model-tiering.md)
- [Один протокол — любая модель](https://www.gatellm.io/ru/use-cases/one-protocol-any-model.md)
- [Надстройка Office / Microsoft 365](https://www.gatellm.io/ru/office-addin.md)
- [Глоссарий](https://www.gatellm.io/ru/glossary.md)
- [Каталог моделей](https://www.gatellm.io/ru/models.md)
- [ИИ-агенты для кодирования и harness](https://www.gatellm.io/ru/coding-agents.md)
- [Безопасность и комплаенс](https://www.gatellm.io/ru/security.md)
