LangChain через AI Gateway — Python и JavaScript
Фреймворк для LLM-приложений на Python и JS: цепочки, агенты, RAG
https://ai-gatewey.ru/v1sk-aigate-…anthropic/claude-sonnet-5.5LangChain — фреймворк для приложений на языковых моделях: цепочки, агенты с инструментами, RAG, память диалога. Классы под OpenAI (ChatOpenAI) принимают кастомный адрес API, поэтому весь код LangChain работает через AI Gateway без правок логики — меняются только base_url и ключ, а модель выбирается из каталога.
Подключение
- Получите API-ключ
Зарегистрируйтесь и создайте ключ в кабинете — он начинается с
sk-aigate-. Удобно завести отдельный ключ на каждое приложение: у него свой потолок расхода и RPM. - Установите пакеты
Для Python нужен интеграционный пакет OpenAI, для JavaScript — соответствующий npm-модуль:
bashbash# Pythonpip install langchain langchain-openai# JavaScript / TypeScriptnpm install langchain @langchain/openai - Настройте ChatOpenAI на Python
Передайте адрес шлюза в
base_urlи ключ AI Gateway вapi_key, а вmodel— код модели из каталога:pythonpythonfrom langchain_openai import ChatOpenAIllm = ChatOpenAI(base_url="https://ai-gatewey.ru/v1",api_key="sk-aigate-...",model="anthropic/claude-sonnet-5.5",)print(llm.invoke("Объясни, что такое RAG, в двух предложениях").content) - То же самое на JavaScript
В JS-версии адрес шлюза передаётся через
configuration.baseURL:jsjsimport { ChatOpenAI } from "@langchain/openai";const llm = new ChatOpenAI({apiKey: "sk-aigate-...",model: "openai/gpt-6-luna",configuration: { baseURL: "https://ai-gatewey.ru/v1" },});const res = await llm.invoke("Привет!");console.log(res.content); - Соберите цепочку или агента
Дальше — обычный LangChain:
prompt | llm | parser, агенты с инструментами, RAG. Расход по токенам виден в кабинете AI Gateway в реальном времени.
llm.stream(...)) и function calling проходят через шлюз прозрачно. Агентов в актуальной версии собирают функцией create_agent из langchain.agents — AgentExecutor и initialize_agent переехали в пакет langchain-classic. Для инструментов выбирайте модель с поддержкой function calling.Какие модели выбрать
Для агентов и сложных цепочек берите флагман, для типовых цепочек суммаризации и извлечения — быструю модель среднего класса:
Частые вопросы
Работает ли стриминг ответов?
Да. llm.stream(...) в Python и потоковый режим в JS проходят через AI Gateway прозрачно — токены приходят по мере генерации, как с прямым API.
Проходят ли агенты с инструментами (function calling)?
Да, bind_tools и агент из create_agent работают через шлюз без изменений (в коде на старых версиях это был AgentExecutor — он объявлен устаревшим и живёт теперь в langchain-classic). Убедитесь, что выбранная модель поддерживает инструменты — на карточке модели в каталоге есть бейдж «инструменты».
Как переключить модель, не переписывая цепочку?
Смените только значение model на другой код из каталога — остальной код цепочки не меняется. Так удобно сравнивать модели на одном пайплайне.
https://ai-gatewey.ru/v1sk-aigate-…anthropic/claude-sonnet-5.5