Errore 500: cosa fare quando gemini-2.5-pro 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-2.5-pro è 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-2.5-pro 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-2.5-pro'


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 APIhttps://api.airai.cc/v1
Compatibile con OpenAIOpenAI-compatible
FornitoreGoogle
Contesto1M
FunzionalitàReasoning, Tools, Files, Vision, Audio
Formati APIopenai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search
Formula di fatturazionep * 1.25 + cr * 0.125 + c * 10) : tier("200k_plus", p * 2.5 + cr * 0.25 + c * 15

Domande frequenti

Cambiare modello permette di evitare 500 su gemini-2.5-pro?

Tieni pronto anche un modello di riserva. Questo modello di Google ha più nodi upstream tra cui il gateway può commutare. Metti il nome del modello in configurazione, così cambiare upstream non richiede modifiche al codice.

500 è legato a come viene fatturato gemini-2.5-pro?

Nessun addebito: conta solo l’output effettivamente generato. Viene fatturato solo l’output già prodotto, non la parte fallita. La fatturazione segue p * 1.25 + cr * 0.125 + c * 10) : tier("200k_plus", p * 2.5 + cr * 0.25 + c * 15: senza output nessun addebito. Stimando il costo da p * 1.25 + cr * 0.125 + c * 10) : tier("200k_plus", p * 2.5 + cr * 0.25 + c * 15, includi anche il budget per i ritenti.

Un contesto lungo rende 500 più probabile?

I parametri vanno cambiati; riprovare da solo non aiuterà. È un problema di configurazione lato client; lato server non cambia nulla. I tag delle capacità sono Reasoning, Tools, Files, Vision, Audio e i limiti dei parametri derivano da quel set. 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.

L’elaborazione asincrona o batch evita 500?

Abbassa prima la concorrenza: la maggior parte dei problemi di throughput scompare. Questo modello ha una finestra di contesto di 1M ed è di Google. Per output lunghi, porta il timeout a 60 secondi o più. Appiana i picchi con batch o una coda: più stabile che alzare la concorrenza al volo.

Altri errori su questo modello

Altri modelli con lo stesso errore

Dati aggiornati: 2026-10-10 08:15

Supporto tecnicoAssistenza online
Torna in alto