client.ai.chat(request) chama o AI Gateway, um endpoint de chat completions compatível com OpenAI. Requer o escopo ai:chat e um plano Standard ou superior.
Requisição
request é um dict enviado como corpo, como está, então qualquer outro parâmetro da OpenAI é repassado. Ele é tipado como squarecloud.types.ChatRequest.
A resposta segue o formato da OpenAI:
id, object, created, model, choices (index, message, finish_reason) e usage.
Sem streaming
ai.chat() não faz streaming: ele retorna a completion inteira. "stream": True resulta em 400 stream_not_supported.
Timeout
O gateway dá a cada requisição 90 segundos no total e então responde 503server_overloaded. O SDK espera pelo menos 120 s antes de expirar, então você recebe a resposta do gateway.
Erros
Os erros de IA usam o formato da OpenAI, então seus códigos são em minúsculas. Eles ainda lançam umSquareCloudAPIError, com code definido como o código da OpenAI (ou seu type quando não há código):
O SDK nunca tenta novamente erros de IA: a requisição é um
POST não idempotente. Veja a referência do AI Gateway para os limites dos planos.
