Fehler 403: was tun, wenn mimo-v2.5 fehlschlägt
Ein 403 bedeutet, dass Sie authentifiziert sind, aber keine Berechtigung haben: Der Key ist gültig, darf dieses Modell oder diese Gruppe jedoch nicht aufrufen.
403 Forbidden bedeutet, dass die Identität erkannt wurde, der Zugriff aber verweigert ist. Der Unterschied zu 401: 401 fragt wer du bist, 403 sagt dir fehlen die Rechte. Meist muss das Modell in die Allowed-Liste oder Gruppe des Schlüssels aufgenommen werden.
mimo-v2.5 wird von Xiaomi bereitgestellt. Alles auf dieser Seite — Ursachen, Lösungen und gemessene Daten — basiert auf dem tatsächlichen Laufzeitverhalten dieses Modells auf der Gatewayschicht.
An diesem Gateway ist die häufigste Ursache: Dieser Key ist für dieses Modell nicht freigegeben. Empfohlene erste Maßnahme: Fügen Sie dieses Modell auf der Tokens-Seite zur Allowlist des Keys hinzu.
Häufige Ursachen
- Dieser Key ist für dieses Modell nicht freigegeben
- Das Modell liegt nicht in der Gruppe, an die der Key gebunden ist
- Der Key hat eine IP-Allowlist, die Ihre aktuelle IP ausschließt
- Das Modell wurde eingestellt oder erfordert höhere Rechte
So beheben Sie es
- Fügen Sie dieses Modell auf der Tokens-Seite zur Allowlist des Keys hinzu
- Prüfen Sie, ob die Gruppe des Keys dieses Modell enthält
- Überprüfen Sie die Einstellungen der IP-Allowlist
- Wechseln Sie zu einem Modell, das Sie aufrufen dürfen
Wiederholung mit exponentiellem Backoff
Der folgende Code wiederholt den Aufruf, wenn mimo-v2.5 403 liefert: bis zu 5 Versuche, mit wachsender Wartezeit und zufälligem Jitter, damit parallele Anfragen nicht gleichzeitig wiederholen. Base-URL und API-Key werden aus Umgebungsvariablen gelesen — nicht hart codieren.
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 = 'mimo-v2.5'
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"}]))Wichtige Daten zu diesem Modell
| API-Endpunkt | https://api.airai.cc/v1 |
|---|---|
| OpenAI-kompatibel | OpenAI-compatible |
| Anbieter | Xiaomi |
|---|---|
| Kontext | 1M |
| Funktionen | Reasoning, Tools, Files, Open Weights, Vision, Audio |
| API-Formate | openai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search |
| Abrechnungsformel | p * 0.14 + cr * 0.0028 + c * 0.28 |
Häufige Fragen
Kann ein zu hohes max_tokens 403 auslösen?
Die Request-Parameter müssen geändert werden; Retry allein hilft nicht. Das Kontextfenster 1M bestimmt die maximale Eingabe pro Anfrage, darüber wird direkt abgelehnt. Lassen Sie Parameterfehler sofort fehlschlagen, statt Retries zu verschwenden.
Zählen fehlgeschlagene Anfragen zum Rate-Limit-Kontingent?
Keine Berechnung: Nur tatsächlich erzeugter Output zählt zum Verbrauch. Die Abrechnung folgt p * 0.14 + cr * 0.0028 + c * 0.28, ohne Ausgabe also keine Kosten. Prüfen Sie zuerst Guthaben und Rate-Limits in der Konsole, dann den Code. Wenn Sie Kosten nach p * 0.14 + cr * 0.0028 + c * 0.28 schätzen, rechnen Sie das Retry-Budget mit ein.
Kann 403 von einem Proxy oder einem anderen Netz-Hop verursacht sein?
Behalten Sie die Request-ID und den rohen Antworttext, sonst lässt sich nichts zuordnen. Tritt es nur in Produktion auf, ist es meist eine Umgebungsdifferenz, kein Modellfehler. Das Modell wird von Xiaomi bereitgestellt, der Upstream-Status richtet sich nach den Ankündigungen des Anbieters. Protokollieren Sie bei jedem Fehler die Request-ID — sie hilft mehr als der Statuscode. Reproduzieren Sie es zuerst in der Testumgebung mit demselben Request-Body.
Das offizielle SDK retryt bereits — brauche ich eigene Logik?
Business-Code muss meist nicht geändert werden, nur der Aufruftakt. Ein Retry ist der wirksamste erste Schritt. Bei der Abrechnung p * 0.14 + cr * 0.0028 + c * 0.28 werden fehlgeschlagene Anfragen nicht angerechnet. Setzen Sie die Obergrenze auf 3–5 Versuche und ergänzen Sie Jitter. Wiederholbare Fehler mit exponentiellem Backoff, der Rest sofort als Fehler zurückgeben.
Weitere Fehler bei diesem Modell
- mimo-v2.5: Fehler 429 — Ursachen und Lösungen
- mimo-v2.5: Fehler timeout — Ursachen und Lösungen
- mimo-v2.5: Fehler 500 — Ursachen und Lösungen
- mimo-v2.5: Fehler 502 — Ursachen und Lösungen
- mimo-v2.5: Fehler 503 — Ursachen und Lösungen
- mimo-v2.5: Fehler 504 — Ursachen und Lösungen
- mimo-v2.5: Fehler 401 — Ursachen und Lösungen
- mimo-v2.5: Fehler 400 — Ursachen und Lösungen
Andere Modelle mit demselben Fehler
- 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
- gpt-4o
- claude-opus-4-6
- gemini-2.5-flash
Daten aktualisiert: 2026-10-10 08:15