Início rápido
Tudo abaixo conversa com https://api.bayle.ai.
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/quickstart/
Objetivo: fazer minha primeira chat completion na Bayle a partir deste projeto, usando o próprio SDK da OpenAI apontado para a Bayle.
1. Veja se este projeto usa Python ou Node (um pyproject.toml ou requirements.txt, ou um package.json). Se não usar nenhum, pergunte qual usar. Instale o SDK se faltar: `pip install openai` ou `npm install openai`.
2. Escolha um modelo. Liste os modelos de texto (não precisa de key) e me mostre uma lista curta:
curl -s "https://api.bayle.ai/models?type=text" | jq -r '.data[].id'
Deixe eu escolher e use esse id como MODEL_ID.
3. Crie um script pequeno (first_call.py ou first_call.mjs) que monta o client a partir do ambiente e envia uma chat completion.
Python:
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ["BAYLE_API_KEY"], base_url="https://api.bayle.ai")
completion = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": "In one sentence, what is an embedding?"}],
)
print(completion.choices[0].message.content)
Node:
import OpenAI from 'openai'
const client = new OpenAI({ apiKey: process.env.BAYLE_API_KEY, baseURL: 'https://api.bayle.ai' })
const completion = await client.chat.completions.create({
model: 'MODEL_ID',
messages: [{ role: 'user', content: 'In one sentence, what is an embedding?' }],
})
console.log(completion.choices[0].message.content)
4. Rode o script e me mostre a resposta.
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.-
Liste os modelos, sem key nenhuma
Seção intitulada “Liste os modelos, sem key nenhuma”GET /modelsnão exige credencial, o que faz dele o jeito mais rápido de conferir que você consegue alcançar a API. Ele também traz os identificadores de modelo que os próximos exemplos vão usar.Janela do terminal curl https://api.bayle.ai/modelsimport httpxmodels = httpx.get("https://api.bayle.ai/models").json()for model in models["data"]:print(model["id"], model["type"])const res = await fetch('https://api.bayle.ai/models')const { data } = await res.json()for (const model of data) console.log(model.id, model.type)Restrinja a uma classe de modelo com
?type=text,?type=image,?type=embedding, e assim por diante. Veja Modelos para a lista completa. -
Configure sua API key
Seção intitulada “Configure sua API key”Todo outro endpoint exige uma. Mantenha-a fora do seu código-fonte e leia-a a partir do ambiente.
Janela do terminal export BAYLE_API_KEY="your-key"Ainda não tem uma key? Veja Autenticação.
-
Gere uma chat completion
Seção intitulada “Gere uma chat completion”Escolha um identificador de modelo
textdo passo 1 e envie-o com uma lista de mensagens.Janela do terminal curl https://api.bayle.ai/chat/completions \-H "Authorization: Bearer $BAYLE_API_KEY" \-H "Content-Type: application/json" \-d '{"model": "MODEL_ID_FROM_STEP_1","messages": [{"role": "user", "content": "In one sentence, what is an embedding?"}]}'import osfrom openai import OpenAIclient = OpenAI(api_key=os.environ["BAYLE_API_KEY"],base_url="https://api.bayle.ai",)completion = client.chat.completions.create(model="MODEL_ID_FROM_STEP_1",messages=[{"role": "user", "content": "In one sentence, what is an embedding?"}],)print(completion.choices[0].message.content)import OpenAI from 'openai'const client = new OpenAI({apiKey: process.env.BAYLE_API_KEY,baseURL: 'https://api.bayle.ai',})const completion = await client.chat.completions.create({model: 'MODEL_ID_FROM_STEP_1',messages: [{ role: 'user', content: 'In one sentence, what is an embedding?' }],})console.log(completion.choices[0].message.content)Os exemplos em Python e JavaScript usam o próprio SDK da OpenAI, apontado para a Bayle. Essa é a forma pretendida de usar a API, e ela está coberta em detalhes em Compatibilidade com OpenAI.
Para onde ir agora
Seção intitulada “Para onde ir agora”- Geração de texto para streaming, function calling e vision.
- Imagens, onde três comportamentos diferem da API da OpenAI de formas que vale a pena conhecer antes de precisar debugar.
- Vídeo, que é uma fila que você consulta em vez de uma única chamada.
- Erros para todo código que a API pode retornar.