LangChain com um base URL personalizado

Crie o ChatOpenAI com este base_url e a sua chave, e o LangChain executa modelos Claude, GPT e Grok através da sua chave da AIGROW, tanto em chains como em agentes.

Já tem um código? Resgate-o em Acesso à API e depois crie uma chave.

Python, com langchain-openai

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="claude-opus-5.5",
    base_url="https://aigrow.gg/v1",
    api_key="ag_your_key_here",
    use_responses_api=False,
)

print(llm.invoke("Reply with the word ready").content)

Substitua ag_your_key_here por uma chave de Acesso à API.

Onde fica a definição

Python, todos os modelos
pip install -U langchain-openai
Python, Claude no ChatAnthropic
pip install -U langchain-anthropic
JavaScript
npm install @langchain/openai @langchain/anthropic @langchain/core

Claude no ChatAnthropic

O ChatAnthropic acrescenta /v1/messages por si, pelo que o base_url é https://aigrow.gg, sem nada depois. Defina max_tokens com o tamanho que pretende; para um id que o LangChain não conhece, ele recorre a um valor predefinido próprio.

from langchain_anthropic import ChatAnthropic

llm = ChatAnthropic(
    model="claude-opus-5.5",
    base_url="https://aigrow.gg",
    api_key="ag_your_key_here",
    max_tokens=1024,
)

Em JavaScript

Os mesmos dois modelos no LangChain.js: configuration.baseURL no ChatOpenAI, anthropicApiUrl no ChatAnthropic.

import { ChatOpenAI } from '@langchain/openai';
import { ChatAnthropic } from '@langchain/anthropic';

const gpt = new ChatOpenAI({
  model: 'gpt-6-astra',
  apiKey: 'ag_your_key_here',
  configuration: { baseURL: 'https://aigrow.gg/v1' },
});

const claude = new ChatAnthropic({
  model: 'claude-opus-5.5',
  apiKey: 'ag_your_key_here',
  anthropicApiUrl: 'https://aigrow.gg',
});

Ou com variáveis de ambiente

O ChatOpenAI lê OPENAI_API_BASE e depois OPENAI_BASE_URL. O ChatAnthropic lê ANTHROPIC_API_URL e depois ANTHROPIC_BASE_URL. Um base_url no código tem prioridade sobre todos eles.

export OPENAI_API_BASE=https://aigrow.gg/v1
export OPENAI_API_KEY=ag_your_key_here
export ANTHROPIC_BASE_URL=https://aigrow.gg
export ANTHROPIC_API_KEY=ag_your_key_here

Que modelo usar

Introduza o id exatamente como está escrito aqui.

Claude Opus 5.5claude-opus-5.5
A opção predefinida em todos os blocos desta página e o modelo Claude mais barato aqui por token enviado e recebido. Contexto: 1 000 000 tokens.
Grok 4.7grok-4.7
O preço de saída mais baixo aqui. O seu contexto tem metade do tamanho dos modelos Claude. Contexto: 500 000 tokens.
GPT-6 Astragpt-6-astra
Para um modelo GPT. Custa o mesmo por token que o Fable e mais do que o Opus. Contexto: 1 050 000 tokens.
Claude Fable 5.1claude-fable-5.1
Custa mais por token do que o Opus. Compare os dois no ranking de programação antes de mudar. Contexto: 1 000 000 tokens.

A lista de preços tem todos os ids e a respetiva taxa de crédito, os preços da API do Claude indicam os preços de tabela e o ranking de programação compara os modelos em prompts de programação.

Verifique se funciona

Primeiro a chave isolada, depois o LangChain com ela.

A chave

Peça a lista de modelos. Requer uma chave válida e não custa nada.

curl https://aigrow.gg/v1/models -H "Authorization: Bearer ag_your_key_here"

Uma chave válida devolve a lista:

{
  "object": "list",
  "data": [
    { "id": "claude-opus-5.5", "object": "model", ... },
    { "id": "claude-fable-5.1", "object": "model", ... },
    { "id": "gpt-6-astra", "object": "model", ... },
    { "id": "claude-sonnet-5.5", "object": "model", ... },
    { "id": "gpt-6.1-sol", "object": "model", ... },
    { "id": "grok-4.7", "object": "model", ... },
    ...
  ],
  "has_more": false
}

LangChain

Guarde o bloco como check.py, insira a sua chave e execute-o.

python check.py

Uma configuração que funcione imprime a resposta:

ready

Quando falha

Primeiro os erros do LangChain, depois as respostas que o endpoint dá a qualquer ferramenta.

404 ao adicionar ferramentas ou raciocínio
O ChatOpenAI passou a chamada para a Responses API, algo que faz sozinho para ferramentas integradas, definições de raciocínio e alguns modelos GPT. use_responses_api=False, como no bloco, mantém todas as chamadas em chat completions.
404 no ChatAnthropic
O base_url termina em /v1. O ChatAnthropic acrescenta /v1/messages por si, pelo que deve ser https://aigrow.gg.
A chave é enviada para a OpenAI ou a Anthropic
O base URL não chegou ao modelo. Passe base_url diretamente ao ChatOpenAI ou ao ChatAnthropic; tem prioridade sobre todas as variáveis de ambiente.
A minha ferramenta indica 401 ou erro de autenticação
A chave está em falta ou foi escrita incorretamente. Copie-a de novo em Acesso à API no painel e certifique-se de que é enviada como chave, e não como nome de modelo. Uma chave revogada falha da mesma forma: crie uma nova e substitua-a.
Recebo 402 ou uma mensagem sobre crédito
O seu saldo está vazio. Abra Acesso à API no painel, resgate um código ou compre outro pacote e o pedido seguinte será processado. Não é preciso mudar mais nada.
Aparece 404 ou Unknown model
O modelo tem de ser um dos que o endpoint disponibiliza, por exemplo claude-opus-5.5. A grafia própria do fornecedor também funciona (claude-opus-5-5, anthropic/claude-opus-5.5), mas um id com data ou qualquer modelo fora do catálogo é rejeitado antes de o pedido ser encaminhado e nada é cobrado. Peça GET /v1/models com a sua chave para obter a lista atual, ou consulte os ids na lista de preços.
Os pedidos são rejeitados com 429
A capacidade do endpoint é partilhada por todos os clientes: cerca de 20 pedidos por minuto e 4 em simultâneo. Cada resposta 429 inclui um cabeçalho retry-after, e os SDKs da OpenAI e da Anthropic esperam esse tempo e voltam a tentar por conta própria. Num ciclo seu, aguarde os segundos indicados ou reduza a concorrência.
O modelo está indisponível neste momento
Um 404 que indica que o modelo não está disponível neste momento significa que ele está brevemente em baixo no fornecedor de origem, e não um problema com a sua chave ou saldo. Tente novamente daqui a pouco ou envie o pedido para outro modelo.
Recebo um 502 ou 503
Uma falha transitória na origem ou na configuração, sem qualquer cobrança no seu saldo. Repita o pedido; se continuar a falhar, contacte-nos através da loja e vamos analisar.

O que não funciona através da AIGROW

  • Ferramentas integradas da OpenAI, como pesquisa na web, pesquisa de ficheiros e code interpreter, que o ChatOpenAI envia para a Responses API. As ferramentas que associa com bind_tools são executadas no seu próprio código e funcionam.

  • Pesquisa web em tempo real dentro do modelo. Uma ferramenta de pesquisa web enviada num pedido é respondida com o que o modelo já sabe, sem resultados em tempo real. Uma ferramenta que obtém páginas na sua própria máquina continua a funcionar.

  • Qualquer endpoint além destes três: /v1/messages, /v1/chat/completions e /v1/models. A Responses API, os embeddings e a contagem de tokens respondem 404.

  • Campos de router como models, route, provider e plugins. São descartados, por isso um pedido vai sempre para o único modelo que indica.

Quanto custa um mês de LangChain

O LangChain é faturado por token às taxas de crédito da lista de preços. Um agente volta a enviar a conversa inteira a cada passo, por isso uma tarefa longa custa mais do que a última mensagem sugere; o registo de atividade em Acesso à API mostra quanto custou cada pedido.

Perguntas sobre o LangChain e uma API personalizada

Como defino o base_url no ChatOpenAI do LangChain?
Passe base_url="https://aigrow.gg/v1" e api_key com a sua chave ao criar o ChatOpenAI. openai_api_base é outro nome para a mesma definição, e OPENAI_API_BASE ou OPENAI_BASE_URL no ambiente também funcionam.
Como defino um base URL para o ChatAnthropic?
Passe base_url="https://aigrow.gg" em Python, ou anthropicApiUrl em JavaScript. Não inclua /v1, porque o cliente acrescenta /v1/messages por si. ANTHROPIC_BASE_URL no ambiente também funciona.
Porquê definir use_responses_api=False?
O ChatOpenAI passa sozinho para a Responses API quando usa ferramentas integradas, definições de raciocínio e alguns modelos GPT, e o endpoint só disponibiliza chat completions. Com False, todas as chamadas ficam em chat completions.
O ChatOpenAI pode executar modelos Claude?
Sim. O endpoint também disponibiliza modelos Claude no protocolo da OpenAI, pelo que model="claude-opus-5.5" funciona no ChatOpenAI com o mesmo base_url. O ChatAnthropic é a forma de os enviar no protocolo da Anthropic.

Fontes: LangChain ChatOpenAI · LangChain ChatAnthropic reference · LangChain ChatOpenAI for JavaScript. Consultado em 21 de outubro de 2026.

Configurar outra ferramenta

  • Claude CodeProtocolo Anthropic

    Quatro variáveis de ambiente, na shell ou no settings.json.

  • ClineProtocolo OpenAI

    O fornecedor OpenAI Compatible, quatro campos no ecrã de definições.

  • Roo CodeProtocolo OpenAI

    O fornecedor OpenAI Compatible, os mesmos campos do Cline.

  • Kilo CodeProtocolo OpenAI

    Um fornecedor personalizado no separador Providers; a lista de modelos preenche-se sozinha.

  • ContinueProtocolo OpenAI

    Uma entrada models no config.yaml, com provider openai e um apiBase.

  • AiderProtocolo OpenAI

    OPENAI_API_BASE e OPENAI_API_KEY, depois openai/ antes do ID do modelo.

  • OpenCodeProtocolo OpenAI

    Um bloco provider no opencode.json e a chave através de /connect.

  • ZedProtocolos Anthropic e OpenAI

    Um fornecedor compatível com Anthropic para Claude, um compatível com OpenAI para GPT e Grok.

  • GooseProtocolo OpenAI

    O fornecedor OpenAI com OPENAI_HOST, ou um ficheiro de fornecedor personalizado.

  • Vercel AI SDKProtocolos Anthropic e OpenAI

    O fornecedor OpenAI Compatible para todos os modelos, ou o fornecedor Anthropic para o Claude.

  • OpenAI Agents SDKProtocolo OpenAI

    O seu próprio cliente AsyncOpenAI, mudado para chat completions, com o tracing desativado.

O guia da API inclui os SDKs, o curl, os endpoints e os limites de utilização.

Cole o bloco e o LangChain passa a funcionar com o seu crédito.

Compre um pacote de crédito, resgate o código do seu email em Acesso à API, crie uma chave e coloque-a no lugar de ag_your_key_here.