Errore 500: cosa fare quando gemini-3.1-pro-preview-customtools fallisce
Un 500 significa che il server ha incontrato un errore interno imprevisto durante l'elaborazione. Di solito non è un problema di formato della richiesta, ma un guasto temporaneo lato server o lato modello a monte.
500 Internal Server Error è un errore interno imprevisto del server. La maggior parte dei 500 sono guasti temporanei di un nodo e passano con un retry e backoff esponenziale. Se persiste, probabilmente una combinazione specifica di parametri colpisce un caso limite non gestito.
gemini-3.1-pro-preview-customtools è fornito da Google. Tutto in questa pagina — cause, soluzioni e dati misurati — è ricavato dal comportamento reale di questo modello al livello del gateway.
Su questo gateway, la causa più comune è: Un guasto temporaneo del servizio modello a monte. La prima azione consigliata è: Riprova dopo una breve attesa: la maggior parte dei 500 è temporanea.
Cause comuni
- Un guasto temporaneo del servizio modello a monte
- La richiesta è finita su un nodo in riavvio
- Il corpo della richiesta ha attivato un caso limite non gestito
- Un picco di carico momentaneo
Come risolvere
- Riprova dopo una breve attesa: la maggior parte dei 500 è temporanea
- Prova un altro modello dello stesso fornitore per capire se è specifico
- Semplifica il corpo (togli i parametri rari) e riprova
- Se persiste, contattaci indicando l'ora della richiesta
Retry con backoff esponenziale
Il codice qui sotto ritenta quando gemini-3.1-pro-preview-customtools restituisce 500: fino a 5 tentativi, con attesa crescente e jitter casuale per evitare che le chiamate concorrenti ritentino insieme. Leggi base URL e API key dalle variabili d’ambiente, non inserirle hardcoded.
import os, time, random
import requests
BASE = os.getenv("OPENAI_BASE_URL") # e.g. https://<your-gateway>/v1
KEY = os.getenv("OPENAI_API_KEY")
MODEL = 'gemini-3.1-pro-preview-customtools'
def chat(messages, retries=5):
"""Retry with exponential backoff + jitter."""
for i in range(retries):
try:
r = requests.post(
BASE + "/chat/completions",
headers={"Authorization": "Bearer " + KEY},
json={"model": MODEL, "messages": messages, "stream": True},
timeout=60,
)
if r.status_code == 429 or r.status_code >= 500:
time.sleep(min(2 ** i + random.uniform(0, 1), 30))
continue
r.raise_for_status()
return r.json()
except requests.exceptions.Timeout:
time.sleep(min(2 ** i + random.uniform(0, 1), 30))
raise RuntimeError("gave up after " + str(retries) + " retries")
print(chat([{"role": "user", "content": "hello"}]))Dati chiave di questo modello
| Endpoint API | https://api.airai.cc/v1 |
|---|---|
| Compatibile con OpenAI | OpenAI-compatible |
| Fornitore | |
|---|---|
| Contesto | 1M |
| Funzionalità | Reasoning, Tools, Files, Vision, Audio |
| Formati API | openai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search |
| Formula di fatturazione | p * 2 + cr * 0.2 + c * 12) : tier("200k_plus", p * 4 + cr * 0.4 + c * 18 |
Domande frequenti
Come pianificare i job batch quando gemini-3.1-pro-preview-customtools restituisce 500?
Qui le vere variabili sono la concorrenza e i timeout, non il modello. Questo modello ha una finestra di contesto di 1M ed è di Google. Un contesto di 1M significa che input lunghi aumentano la latenza del primo token. Parti da una concorrenza bassa, osserva per qualche minuto, poi aumenta. Aggiungi un livello di cache, così le richieste ripetute non arrivano tutte al modello.
Condividere una key tra più servizi rende 500 più probabile?
È soprattutto una questione di quota, non un guasto del modello. Sia alzare il limite del piano sia ridurre la frequenza delle chiamate aiuta. Il prezzo di input è circa $2.00 per milione di token. Controlla prima saldo e limiti di velocità nella console, poi il codice. Stimando il costo da p * 2 + cr * 0.2 + c * 12) : tier("200k_plus", p * 4 + cr * 0.4 + c * 18, includi anche il budget per i ritenti.
500 può causare perdita di dati?
Questo errore non dipende dalle capacità del modello, è a livello di gateway. I tag di capacità di questo modello sono Reasoning, Tools, Files, Vision, Audio. Se l’errore continua per diversi minuti, contatta il supporto della piattaforma per confermare lo stato upstream. Stabilisci prima se è a livello di account o di modello: i due casi si gestiscono in modo completamente diverso.
Un max_tokens troppo alto può causare 500?
I parametri vanno cambiati; riprovare da solo non aiuterà. La finestra di contesto 1M stabilisce l’input massimo per richiesta; oltre viene rifiutato subito. Sugli errori di parametro fallisci subito invece di sprecare ritenti. Tronca o riassumi gli input lunghi: riduce notevolmente 500.
Altri errori su questo modello
- gemini-3.1-pro-preview-customtools: errore 429 — cause e soluzioni
- gemini-3.1-pro-preview-customtools: errore timeout — cause e soluzioni
- gemini-3.1-pro-preview-customtools: errore 502 — cause e soluzioni
- gemini-3.1-pro-preview-customtools: errore 503 — cause e soluzioni
- gemini-3.1-pro-preview-customtools: errore 504 — cause e soluzioni
- gemini-3.1-pro-preview-customtools: errore 401 — cause e soluzioni
- gemini-3.1-pro-preview-customtools: errore 403 — cause e soluzioni
- gemini-3.1-pro-preview-customtools: errore 400 — cause e soluzioni
Altri modelli con lo stesso errore
- gpt-5
- claude-opus-5
- gemini-2.5-pro
- deepseek-v4-pro
- grok-4.3
- llama-3.3-70b-instruct
- qvq-max
- qwq-32b
- glm-5
- MiniMax-M3
- kimi-k3
- hy3
- doubao-seed-evolving
- mimo-v2.5
- gpt-4o
- claude-opus-4-6
Dati aggiornati: 2026-10-10 15:45