Source: https://aiprimetech.io/ru/learn/use-claude-api-with-langchain/ [Главная](/ru/) / [Обучение](/ru/learn/) / ChatAnthropic в LangChain: импорт, base_url, потоковая передача, инструменты и ошибки # ChatAnthropic в LangChain: импорт, base_url, потоковая передача, инструменты и ошибки ChatAnthropic из langchain-anthropic пакета — это чат-модель Claude для LangChain. Она представляет собой обёртку над официальным Python SDK Anthropic, поэтому для подключения к шлюзу достаточно одного аргумента, base_url, со значением корневого адреса хоста. Всё остальное в ваших цепочках, агентах и инструментах остаётся без изменений. ## Установка и импорт терминалКопировать ``` pip install -U langchain-anthropic ``` app.pyКопировать ``` from langchain_anthropic import ChatAnthropic llm = ChatAnthropic( model="claude-sonnet-5", base_url="https://aiprimetech.io", # host root: the SDK adds /v1/messages api_key="your_gateway_key", # or set ANTHROPIC_API_KEY ) print(llm.invoke("Say hello in one word.").text) ``` Нет /v1 в base_url здесь. Используемый внутри Anthropic SDK добавляет /v1/messages самостоятельно; добавление /v1 приводит к /v1/v1/messages и 404 page not found. ## Настройка через переменные окружения base_url — это псевдоним для anthropic_api_urlи api_key — псевдоним для anthropic_api_key. Если вы их не передаёте, ChatAnthropic считывает ANTHROPIC_API_URL сначала, затем ANTHROPIC_BASE_URL, а ключ — из ANTHROPIC_API_KEY. Явно переданные аргументы всегда имеют приоритет. терминалКопировать ``` export ANTHROPIC_API_KEY=your_gateway_key export ANTHROPIC_API_URL=https://aiprimetech.io ``` app.pyКопировать ``` from langchain_anthropic import ChatAnthropic llm = ChatAnthropic(model="claude-sonnet-5") # picks up the gateway from the environment ``` ## Потоковая передача app.pyКопировать ``` for chunk in llm.stream("Explain backpressure in two sentences."): print(chunk.text, end="", flush=True) ``` .text собирает только текстовые блоки каждого фрагмента, поэтому результат остаётся чистым, даже когда модель также выдаёт блоки размышлений или использования инструментов. Используйте потоковую передачу для длинных ответов: длительный запрос без потоковой передачи — обычная причина тайм-аутов. ## Инструменты и структурированный вывод tools.pyКопировать ``` from langchain_core.tools import tool @tool def get_time(city: str) -> str: """Return the current local time in a city.""" return "12:00" msg = llm.bind_tools([get_time]).invoke("What time is it in Tokyo?") print(msg.tool_calls) ``` structured.pyКопировать ``` from pydantic import BaseModel class Weather(BaseModel): city: str temperature_c: float print(llm.with_structured_output(Weather).invoke("It is 21 degrees in Lisbon today.")) ``` ## Повторные попытки, тайм-ауты и max_tokens max_retries по умолчанию имеет значение 2, как и в Anthropic SDK, который повторяет запросы при ошибках соединения, 429 и ответах 5xx. timeout (псевдоним default_request_timeout) задаётся в секундах. Если оставить max_tokens незаданным, значение берётся из профиля модели. app.pyКопировать ``` llm = ChatAnthropic( model="claude-sonnet-5", base_url="https://aiprimetech.io", max_retries=4, timeout=120, max_tokens=8000, ) ``` Для пакетных запросов ограничьте параллелизм, чтобы не превышать лимит одновременных запросов вашего ключа: llm.batch(inputs, config={"max_concurrency": 3}). ## Альтернатива на базе ChatOpenAI Если ваш код стандартизирован на ChatOpenAI, OpenAI-совместимая конечная точка шлюза также предоставляет доступ к Claude. Для этого варианта требуется /v1 в конце адреса, в отличие от ChatAnthropic. app.pyКопировать ``` from langchain_openai import ChatOpenAI llm = ChatOpenAI(model="claude-sonnet-5", base_url="https://aiprimetech.io/v1", api_key="your_gateway_key") ``` Для Claude предпочтительнее ChatAnthropic: он сохраняет нативные возможности, такие как кеширование промптов и блоки размышлений. ## Устранение неполадок | Что вы видите | Причина | Решение | 404 page not found | /v1 в параметре ChatAnthropic base_url | Используйте корневой адрес хоста, https://aiprimetech.io | Model "..." is not supported | Идентификатор, недоступный группе вашего ключа, или старое имя с датой | Используйте актуальный идентификатор из таблицы ниже | AuthenticationError | ANTHROPIC_API_KEY не задан в запущенном процессе либо используется ключ для другой конечной точки | Передайте api_key= явно для проверки | RateLimitError: Concurrency limit exceeded | Слишком много параллельных вызовов (batch, асинхронный gather) | max_concurrency в настройках пакетных запросов | APITimeoutError | Длительная генерация без потоковой передачи | Используйте потоковую передачу или увеличьте timeout | Идентификатор модели | Для каких задач | claude-sonnet-5 | Основной выбор для программирования и работы с агентами: быстрая, мощная, со средней стоимостью. | claude-opus-5-5 | Более сложные рассуждения, масштабный рефакторинг, длительная работа агентов. | claude-fable-5-1 | Самая мощная и дорогая; используйте её для наиболее сложных задач. | claude-haiku-4-5 | Недорогая и быстрая: заголовки, краткие изложения, классификация, небольшие шаги. ## Часто задаваемые вопросы Как импортировать ChatAnthropic? Выполните pip install -U langchain-anthropic, затем from langchain_anthropic import ChatAnthropic. Нужно ли добавлять /v1 в base_url для ChatAnthropic? Нет. Передайте корневой адрес хоста, например https://aiprimetech.io;; Anthropic SDK добавит /v1/messages. Для ChatOpenAI всё наоборот: ему нужен /v1. Какие переменные окружения читает ChatAnthropic? ANTHROPIC_API_KEY для ключа, а для конечной точки — ANTHROPIC_API_URL, затем ANTHROPIC_BASE_URL, если base_url не передан. base_url — это то же самое, что anthropic_api_url? Да. base_url — псевдоним anthropic_api_url, а api_key — псевдоним anthropic_api_key. Начните использовать Claude за несколько минут Получите ключ API — учётная запись Anthropic и запись в лист ожидания не нужны.[Получить ключ API](/register) AI Prime Tech — независимый API-шлюз. Он не связан с Anthropic, не одобрен этой компанией и не является её реселлером. Claude и названия связанных моделей — товарные знаки их соответствующих владельцев. ## Другие руководства по Claude API [Как получить ключ Claude API](/ru/learn/how-to-get-a-claude-api-key/)[Как устроены цены Claude API](/ru/learn/claude-api-pricing-explained/)[Самый дешевый способ использования API Claude](/ru/learn/cheapest-way-to-use-claude-api/)[Безлимитный Cursor с API Claude](/learn/use-claude-api-with-cursor/)[Безлимитный доступ к Claude Code](/ru/learn/use-claude-api-with-claude-code/)[Шлюз API Claude и прямой доступ к Anthropic: сравнение](/ru/learn/claude-api-vs-anthropic-direct/)[Использование Claude через API, совместимый с OpenAI](/ru/learn/openai-compatible-claude-api/)[Объяснение моделей Claude: сравнение Claude Opus, Sonnet, Haiku и Fable — все модели Claude API, названия моделей Anthropic и цены (2026)](/ru/learn/claude-api-models-compared/)[Оплата API Claude криптовалютой](/ru/learn/claude-api-with-crypto-payment/)[Доступ к API Claude без листа ожидания](/ru/learn/claude-api-without-waitlist/)[Как сократить расход токенов Claude](/ru/learn/how-to-reduce-claude-token-usage/)[Безлимитный Cline с API Claude](/ru/learn/use-claude-api-with-cline/)[Безлимитный Roo Code с API Claude](/ru/learn/use-claude-api-with-roo-code/)[Безлимитный Claude в IDE JetBrains](/ru/learn/use-claude-api-with-jetbrains/)[Aider без ограничений с Claude API](/ru/learn/use-claude-api-with-aider/)[Безлимитный Claude в VS Code](/ru/learn/use-claude-api-with-vscode/)[Конфигурация OpenCode для Claude: настройка opencode.json, модели и распространённые ошибки](/ru/learn/use-claude-api-with-opencode/)[Запуск агента Hermes без ограничений на Claude](/ru/learn/run-hermes-agent-with-claude-api/)[Запуск OpenClaw с Claude без ограничений](/ru/learn/run-openclaw-with-claude-api/)[Что означает API, совместимый с Anthropic](/ru/learn/anthropic-compatible-api/)[Ключ API Claude Code — ANTHROPIC_API_KEY: как получить, настроить и когда вместо него использовать claude setup-token](/ru/learn/claude-code-api-key-setup/)[Расходы на API Claude Code — цены и способы их снизить](/ru/learn/claude-code-api-costs/)[Объяснение ошибок API Claude: ошибка сервера 500, перегрузка 529, лимит запросов 429, некорректный запрос 400 — и исправление каждой из них](/ru/learn/claude-api-errors-troubleshooting/)[Как купить кредиты Claude API — и почему кредиты Claude лучше любого предложения «купить аккаунт Claude»](/ru/learn/buy-claude-api-credits/)[Бесплатный API Claude: существует ли бесплатный ключ API Claude и что действительно бесплатно в 2026?](/ru/learn/claude-api-free-trial/)[API Claude или подписка Claude Pro/Max — что выбрать](/ru/learn/claude-api-vs-subscription/)[Запуск Codex CLI на Claude](/ru/learn/use-claude-api-with-codex/)[Подключение Claude к n8n](/ru/learn/use-claude-api-with-n8n/)[Маршрутизация LiteLLM к Claude](/ru/learn/use-claude-api-with-litellm/)[Использование Claude в Kilo Code](/ru/learn/use-claude-api-with-kilo-code/)[Подключение Claude к GitHub Copilot](/ru/learn/use-claude-api-with-github-copilot/)[Подключите Zed к Claude через шлюз](/ru/learn/use-claude-api-with-zed/)[Подключите Cherry Studio к Claude](/ru/learn/use-claude-api-with-cherry-studio/)[Anthropic Python SDK: установка, настройка base_url, потоковая передача и обработка ошибок](/ru/learn/anthropic-python-sdk/)[Claude с Vercel AI SDK: baseURL в createAnthropic, потоковая передача и устранение проблем](/ru/learn/use-claude-api-with-vercel-ai-sdk/)[Используйте Factory Droid с Claude](/ru/learn/use-claude-api-with-factory-droid/)[Как устроен API Claude Code](/ru/learn/claude-code-api/)[Интеграция API Claude в ваше приложение](/ru/learn/claude-api-integration/)[Как пользоваться Claude без ограничений — и почему «взломанного Claude Code» не существует](/ru/learn/get-unlimited-claude-usage/)