CrewAI
O CrewAI é um framework em Python para orquestrar equipes de agentes com papéis definidos. A Bayle
se conecta pela classe LLM.
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/crewai/
Objetivo: rodar os meus agentes e crews do CrewAI (https://crewai.com) em um modelo da Bayle.
1. Instale o CrewAI se `python -c "import crewai"` falhar. Ele precisa de Python 3.10 a 3.13 e do CrewAI 1.x (versões antigas mandam uma lista `stop` vazia, que a Bayle recusa com 400 invalid_request):
pip install crewai
2. Escolha um modelo com suporte a function calling, já que agentes chamam ferramentas:
curl -s "https://api.bayle.ai/models?type=text" \
| jq -r '.data[] | select(.model_spec.capabilities.supportsFunctionCalling) | .id'
Me mostre a lista, deixe eu escolher e use esse id como MODEL_ID.
3. No meu código do CrewAI, monte o LLM assim e passe como `llm=` aos meus agentes. Se eu ainda não tiver código do CrewAI, crie um exemplo pequeno a partir do trecho:
import os
from crewai import LLM
llm = LLM(
model="openai/MODEL_ID",
base_url="https://api.bayle.ai",
api_key=os.environ["BAYLE_API_KEY"],
)
O prefixo `openai/` só seleciona o cliente compatível com a OpenAI do CrewAI; a Bayle nunca o recebe. `llm.call("...")` também funciona, para um prompt avulso fora de uma crew.
4. Verifique rodando uma crew de um agente só (ou `llm.call("In one sentence, what is an embedding?")`) 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.Instalação
Seção intitulada “Instalação”pip install crewaiO CrewAI exige Python 3.10 a 3.13; veja o guia oficial de instalação.
Ainda não tem uma chave da Bayle?Obter chave de API
import osfrom crewai import LLM, Agent, Task, Crew
llm = LLM( model="openai/MODEL_ID", base_url="https://api.bayle.ai", api_key=os.environ["BAYLE_API_KEY"],)
writer = Agent( role="Writer", goal="Explain technical ideas briefly", backstory="You write one-sentence explanations.", llm=llm,)task = Task( description="Explain what an embedding is.", expected_output="One sentence", agent=writer,)print(Crew(agents=[writer], tasks=[task]).kickoff())- O prefixo
openai/seleciona o cliente OpenAI-compatible do CrewAI. Ele não faz parte do id que a Bayle recebe. llm.call("...")também funciona, para um prompt avulso fora de uma crew.
Use o CrewAI 1.x. Versões antigas mandam uma lista stop vazia numa chamada simples, que a Bayle
recusa com 400 invalid_request; se você estiver preso numa delas, passe stop=[...] com pelo
menos um valor.
Escolha um modelo
Seção intitulada “Escolha um modelo”Agentes chamam ferramentas, então escolha um modelo que as suporte:
curl -s "https://api.bayle.ai/models?type=text" \ | jq -r '.data[] | select(.model_spec.capabilities.supportsFunctionCalling) | .id'