Início / Aprenda / ChatAnthropic no LangChain: importação, base_url, streaming, ferramentas e erros
Claude + LangChain. Uma sequência de elos desenhados à mão, feitos de pequenos cartões de documentos, conectando uma folha de prompt a uma janela de modelo e a um resultado final.

ChatAnthropic no LangChain: importação, base_url, streaming, ferramentas e erros

ChatAnthropic do langchain-anthropic pacote é o modelo de chat Claude do LangChain. Ele encapsula o SDK oficial da Anthropic para Python, portanto basta um argumento para configurá-lo para usar um gateway, base_url, definido como a raiz do host. Todo o restante nas suas cadeias, agentes e ferramentas permanece igual.

Instalação e importação

terminal
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)
Não /v1 em base_url aqui. O SDK da Anthropic subjacente acrescenta /v1/messages automaticamente; adicionar /v1 produz /v1/v1/messages e um campo 404 page not found.

Configure a partir do ambiente

base_url é um alias de anthropic_api_url e api_key um alias de anthropic_api_key. Quando você não os passa, ChatAnthropic lê ANTHROPIC_API_URL primeiro, depois ANTHROPIC_BASE_URL, e a chave de ANTHROPIC_API_KEY. Argumentos explícitos sempre têm prioridade.

terminal
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

Transmissão

app.py
for chunk in llm.stream("Explain backpressure in two sentences."):
    print(chunk.text, end="", flush=True)

.text coleta apenas os blocos de texto de cada fragmento, mantendo a saída limpa quando o modelo também emite blocos de raciocínio ou de uso de ferramentas. Use streaming para respostas longas: uma solicitação longa sem streaming é a causa habitual de tempos limite excedidos.

Ferramentas e saída estruturada

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."))

Novas tentativas, tempos limite e max_tokens

max_retries usa 2 por padrão, assim como o SDK da Anthropic, que repete tentativas em caso de erros de conexão, 429 e respostas 5xx. timeout (alias de default_request_timeout) é expresso em segundos. Se você deixar max_tokens sem definir, o valor será obtido do perfil do modelo.

app.py
llm = ChatAnthropic(
    model="claude-sonnet-5",
    base_url="https://aiprimetech.io",
    max_retries=4,
    timeout=120,
    max_tokens=8000,
)

Para lotes, limite o paralelismo para respeitar o limite de simultaneidade da sua chave: llm.batch(inputs, config={"max_concurrency": 3}).

A alternativa com ChatOpenAI

Se o seu código está padronizado em ChatOpenAI, o endpoint do gateway compatível com OpenAI também disponibiliza Claude. Essa rota exige /v1 no final, ao contrário de 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")

Prefira ChatAnthropic para Claude: ele mantém recursos nativos, como cache de prompts e blocos de raciocínio.

Solução de problemas

O que você vê Causa Correção
404 page not found/v1 no campo de ChatAnthropic base_urlUse a raiz do host, https://aiprimetech.io
Model "..." is not supportedUm ID que o grupo da sua chave não disponibiliza ou um nome antigo com dataUse um ID atual da tabela abaixo
AuthenticationErrorANTHROPIC_API_KEY vazio no processo em execução ou uma chave de outro endpointPasse api_key= explicitamente para testar
RateLimitError: Concurrency limit exceededChamadas paralelas em excesso (batch, gather assíncrono)max_concurrency na configuração do lote
APITimeoutErrorGerações longas sem streamingUse streaming ou aumente timeout
ID do modelo Use para
claude-sonnet-5Padrão para programação e trabalho com agentes: rápido, eficiente e de preço intermediário.
claude-opus-5-5Raciocínio mais complexo, grandes refatorações e execuções longas de agentes.
claude-fable-5-1O mais capaz e mais caro; reserve-o para as tarefas mais difíceis.
claude-haiku-4-5Barato e rápido: títulos, resumos, classificação e pequenas etapas.

Perguntas frequentes

Como importo ChatAnthropic?
Execute pip install -U langchain-anthropic e, em seguida, from langchain_anthropic import ChatAnthropic.
O base_url de ChatAnthropic precisa de /v1?
Não. Passe a raiz do host, por exemplo, https://aiprimetech.io;; o SDK da Anthropic acrescenta /v1/messages. Com ChatOpenAI é o contrário: ele precisa de /v1.
Quais variáveis de ambiente ChatAnthropic lê?
ANTHROPIC_API_KEY para a chave e ANTHROPIC_API_URL, seguida de ANTHROPIC_BASE_URL, para o endpoint quando base_url não é passado.
base_url é o mesmo que anthropic_api_url?
Sim. base_url é um alias de anthropic_api_url, e api_key é um alias de anthropic_api_key.
Comece a usar o Claude em minutos

Obtenha uma chave de API — sem precisar de conta na Anthropic nem de lista de espera.

Obtenha sua chave de API

AI Prime Tech é um gateway de API independente. Não tem afiliação com a Anthropic, não é endossado por ela e não é seu revendedor. Claude e os nomes dos modelos relacionados são marcas comerciais de seus respectivos proprietários.

Mais guias da API do Claude

Como obter uma chave de API do ClaudePreços da API Claude explicadosA maneira mais barata de usar a API do ClaudeCursor ilimitado com a API do ClaudeAcesso ilimitado ao Claude CodeGateway da API do Claude vs. acesso direto à AnthropicComo usar Claude por meio de uma API compatível com OpenAIModelos Claude explicados: uma comparação entre Claude Opus, Sonnet, Haiku e Fable — todos os modelos da API Claude, nomes e preços dos modelos Anthropic (2026)Pagamento da API do Claude com criptomoedasAcesso à API do Claude sem lista de esperaComo reduzir o uso de tokens do ClaudeCline ilimitado com a API do ClaudeRoo Code ilimitado com a API do ClaudeClaude ilimitado nas IDEs da JetBrainsAider ilimitado com a API do ClaudeClaude ilimitado no VS CodeConfiguração do OpenCode para Claude: configuração do opencode.json, modelos e erros comunsComo executar um agente Hermes ilimitado no ClaudeExecutando OpenClaw ilimitado com ClaudeO que significa uma API compatível com a AnthropicChave de API do Claude Code — ANTHROPIC_API_KEY: como obtê-la, configurá-la e quando usar claude setup-token em seu lugarCustos da API do Claude Code — Preços e como reduzi-losErros da API Claude explicados: erro de servidor 500, sobrecarga 529, limite de requisições 429, requisição inválida 400 — e a correção para cada umComo comprar créditos da API do Claude — e por que um crédito do Claude é melhor do que qualquer oferta de "comprar conta do Claude"API Claude gratuita: existe uma chave de API Claude gratuita e o que realmente é gratuito em 2026?API do Claude vs assinatura Claude Pro/Max — Qual escolherComo executar a CLI do Codex no ClaudeConectando Claude ao n8nRoteando LiteLLM para ClaudeUsando Claude no Kilo CodeIntegre Claude ao GitHub CopilotConecte o Zed ao Claude por meio do gatewayConecte o Cherry Studio ao ClaudeSDK de Python da Anthropic: instale, defina base_url, use streaming e trate errosClaude com o Vercel AI SDK: baseURL de createAnthropic, streaming e correçõesExecute o Factory Droid com o ClaudeA API do Claude Code, explicadaComo integrar a API do Claude à sua aplicaçãoComo obter uso ilimitado do Claude — e por que não existe "Claude Code crackeado"