client.ai.chat(request) chiama l’AI Gateway, un endpoint di chat completion compatibile con OpenAI. Richiede lo scope ai:chat e un piano Standard o superiore.
Richiesta
request è un dict inviato come body così com’è, quindi qualsiasi altro parametro di OpenAI viene inoltrato. È tipizzato come squarecloud.types.ChatRequest.
La risposta ha la forma di OpenAI:
id, object, created, model, choices (index, message, finish_reason) e usage.
Niente streaming
ai.chat() non effettua streaming: restituisce l’intera completion. "stream": True produce 400 stream_not_supported.
Timeout
Il gateway concede a ogni richiesta 90 secondi in totale, poi risponde 503server_overloaded. L’SDK attende almeno 120 s prima di andare in timeout, così ricevi la risposta del gateway.
Errori
Gli errori dell’AI usano il formato di OpenAI, quindi i loro codici sono in minuscolo. Sollevano comunque unSquareCloudAPIError, con code impostato sul codice di OpenAI (o sul suo type quando non c’è un codice):
L’SDK non ripete mai gli errori dell’AI: la richiesta è un
POST non idempotente. Vedi il riferimento dell’AI Gateway per i limiti dei piani.
