Pular para o conteúdo
Testar o chatObter chave de API

LangChain

O LangChain é um framework para construir aplicações e agentes com LLMs. A classe ChatOpenAI conversa com a Bayle assim que você troca a URL base.

Copia as instruções de configuração desta página, para colar no seu agente de código.
Ver o prompt
Me ajude a configurar isto para usar a Bayle AI, uma API compatível com a OpenAI. Guia completo: https://docs.bayle.ai/pt-br/guides/sdks/langchain/

Objetivo: usar modelos da Bayle no meu código do LangChain (https://www.langchain.com) pelo ChatOpenAI.

1. Instale o pacote se `python -c "import langchain_openai"` falhar:
   pip install langchain-openai
2. Escolha um modelo. Para ferramentas, escolha um com suporte a function calling:
   curl -s "https://api.bayle.ai/models?type=text" | jq -r '.data[].id'
   curl -s "https://api.bayle.ai/models?type=text" \
     | jq -r '.data[] | select(.model_spec.capabilities.supportsFunctionCalling) | .id'
   Me mostre as listas, deixe eu escolher e use esse id como MODEL_ID.
3. No meu código, monte o modelo assim. `use_responses_api=False` é obrigatório: sem isso o ChatOpenAI passa a usar a Responses API da OpenAI com alguns parâmetros e nomes de modelo, e a Bayle só serve chat completions. Para um modelo de raciocínio use `reasoning_effort=`, não `reasoning=`:
   import os
   from langchain_openai import ChatOpenAI

   llm = ChatOpenAI(
       model="MODEL_ID",
       base_url="https://api.bayle.ai",
       api_key=os.environ["BAYLE_API_KEY"],
       use_responses_api=False,
   )
   Ferramentas funcionam do jeito de sempre, com llm.bind_tools([...]). O ChatOpenAI descarta campos da resposta que não conhece, como reasoning_content.
4. Verifique rodando:
   print(llm.invoke("In one sentence, what is an embedding?").content)
   e me mostre a saída.

Regras:
1. A base URL é https://api.bayle.ai exatamente como está escrita. Não acrescente nenhum caminho a ela.
2. Leia a key da variável de ambiente BAYLE_API_KEY. Nunca escreva a key em um arquivo que você criar, em um comando, em um commit nem no chat. Onde a ferramenta guarda a key na própria tela de configurações, me diga onde colar. Se BAYLE_API_KEY não estiver definida, pare e peça que eu crie uma key em https://chat.bayle.ai/developers e a exporte.
3. Pegue os ids de modelo só de GET https://api.bayle.ai/models (sem key). Nunca chute um.
4. Termine com uma requisição de teste de verdade, me mostre o resultado e liste os arquivos que você alterou.
Janela do terminal
pip install langchain-openai

Veja o guia oficial do ChatOpenAI para a instalação e as outras opções.

Ainda não tem uma chave da Bayle?Obter chave de API
import os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="MODEL_ID",
base_url="https://api.bayle.ai",
api_key=os.environ["BAYLE_API_KEY"],
use_responses_api=False,
)
print(llm.invoke("In one sentence, what is an embedding?").content)
  • Defina use_responses_api=False. Sem isso, o ChatOpenAI passa a usar a Responses API da OpenAI com alguns parâmetros (como reasoning=) e alguns nomes de modelo, e a Bayle só serve chat completions. Para um modelo de raciocínio, use reasoning_effort= em vez de reasoning=.
  • O ChatOpenAI descarta campos da resposta que não conhece, como reasoning_content.

Ferramentas funcionam do jeito de sempre, com llm.bind_tools([...]), em um modelo que suporte function calling.

Janela do terminal
curl -s "https://api.bayle.ai/models?type=text" | jq -r '.data[].id'