Eine Whizi Nachricht wird nicht gesendet, oder die Antwort kommt nie an

Kurzantwort

Eine Whizi Nachricht, die nicht gesendet wird, ist eines von fünf Dingen: Eine andere Antwort wird noch generiert, du hast denselben Text zweimal gesendet, du hast ein Minuten- oder Stundenlimit überschritten, die Nachricht ist bei der Validierung durchgefallen, oder dein Sitzungstoken ist abgelaufen. Whizi nennt den Grund im Fehlertext, und eine ratenlimitierte Anfrage kostet nichts.

Die kurze Antwort

Eine Whizi Nachricht, die nicht gesendet wird, ist eines von fünf Dingen: Eine andere Antwort wird noch generiert, du hast denselben Text zweimal gesendet, du hast ein Minuten- oder Stundenlimit überschritten, die Nachricht selbst ist bei der Validierung durchgefallen, oder dein Sitzungstoken ist abgelaufen. Whizi nennt den Grund im Fehlertext, sodass der angezeigte Text die Lösung bestimmt.

Was du siehstCodeWarumWas zu tun ist
Generation already in progress. Please stop it or wait for it to finish.409Auf deinem Konto läuft bereits eine andere AntwortStoppen oder warten
Duplicate message ignored. Please wait for the current response to finish.409Derselbe Text (und dasselbe Bild) wurde vor kurzem bereits an diesen Chat gesendetAuf die bereits laufende Antwort warten
Too many requests. Please wait and try again.429Ein Minutenfenster hat die Anfrage abgelehntWarten, dann erneut senden
Hourly message limit reached. Please try again later.429Die stündliche Chat-Obergrenze hat sie abgelehntWarten, dann erneut senden
A non-empty message is required.400Die Nachricht fehlt oder enthält nur LeerzeichenEtwas eingeben
This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time.400Eine Nachricht hat 100.000 Zeichen überschrittenAufteilen oder nach jeweils einem Abschnitt fragen
The model is temporarily rate-limited. Please retry shortly.429Der Modellanbieter hat die Verbindung mit einem 429 beantwortetErneut versuchen oder Modell wechseln
Failed to send message.keine, ein Website-ToastDas Senden ist fehlgeschlagen und das Backend hat keine Nachricht geliefertVerbindung prüfen und erneut senden
Something went wrong. Please retry.500Ein beliebiger unbehandelter Fehler im BackendErneut senden, bei Wiederholung melden
Invalid or expired session token.401Die Tokenprüfung ist fehlgeschlagenSeite neu laden und erneut anmelden

Ratenlimit-Ablehnungen werden rückgängig gemacht, sodass eine abgelehnte Anfrage nie eine Nachricht von deinem Kontingent verbraucht.

Beim Drücken von Enter passiert nichts

Wenn Enter überhaupt nichts bewirkt, wird noch eine Antwort generiert. Das Eingabefeld ignoriert Enter absichtlich, solange eine Antwort läuft, das ist also kein verlorener Tastendruck. Umschalt und Enter fügt weiterhin einen Zeilenumbruch ein.

Whizi lässt pro Konto immer nur eine Generierung gleichzeitig laufen, erzwungen durch eine Pro-Nutzer-Sperre, sodass zwei Geräte niemals gleichzeitig für dasselbe Konto generieren können. Ein zweiter Versuch wird mit Generation already in progress. Please stop it or wait for it to finish. abgelehnt, HTTP 409, Code generation_in_progress. Derselbe Text erscheint, wenn der Generierungskoordinator beim Verbindungsaufbau einen Konflikt meldet.

Wird derselbe Text zweimal gesendet, erscheint Duplicate message ignored. Please wait for the current response to finish., HTTP 409, Code duplicate_message. Das passiert, wenn derselbe Nachrichtentext (und dasselbe Bild) vor kurzem bereits an dieses Gespräch gesendet wurde, was ein Doppelklick oder ein ungeduldiges zweites Enter erzeugt.

Die Lösung ist in beiden Fällen dieselbe: die laufende Antwort stoppen oder sie fertig werden lassen. Das Stoppen wird auf dem Server abgewickelt. Der Koordinator bricht das Lesen beim Anbieter ab, speichert den bereits eingetroffenen Text, gibt die Sperre frei und erstattet eine nicht zugestellte Runde zurück. Bleibt eine Sperre irgendwie zurück, erholt sie sich von selbst: Eine Sperre wird übernehmbar, sobald ihr Inhaber als verwaist oder festgefahren eingestuft wird, und abgelaufene Sperren werden nach einem Zeitplan aufgeräumt.

Hinterlässt ein Stopp eine Lücke, steht in der Assistenten-Sprechblase Generation stopped., der Text, der gespeichert wird, wenn eine Generierung gestoppt wird und kein Teiltext erfasst wurde. Generation stopped, but it could not be saved. bedeutet, dass der Stopp funktioniert hat, das Speichern der Teilantwort aber nicht.

Die Nachricht wird abgelehnt, bevor ein Modell sie sieht

Das sind HTTP 400 Validierungsablehnungen, die ausgelöst werden, bevor überhaupt etwas ein Modell erreicht. Es wurde nichts an vorgelagerte Systeme gesendet.

NachrichtCodeAuslöser
A non-empty message is required.empty_messagecontent fehlt oder enthält nur Leerzeichen
A model is required.invalid_modelmodel fehlt oder ist leer
That model is not available for text chat.unsupported_modelDie Modell-ID lässt sich im Katalog keinem Textmodell zuordnen
This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time.message_too_longEine einzelne Nachricht hat 100.000 Zeichen überschritten
That system prompt is missing or over the 32,000 character limit.invalid_system_promptDer System-Prompt fehlt oder überschreitet 32.000 Zeichen
That image reference is not valid.invalid_image_urlDie Bildreferenz ist keine Zeichenkette oder länger als 2.048 Zeichen
This conversation has {count} messages, over the 100 message limit.too_many_messagesDie App-Chat-Route hat einen Verlauf mit mehr als 100 Nachrichten in einer Anfrage abgelehnt

Die Obergrenze von 100.000 Zeichen zählt die gesamte Nachricht, einschließlich jedes aus einem Anhang extrahierten Textes. Was Whizi tut, wenn extrahierter Anhangstext nicht ins Nachrichtenbudget passt, steht unter Datei-Upload fehlgeschlagen.

Ratenlimits, und eine Ablehnung, bei der es nicht um Geschwindigkeit geht

Beide 429 Ratenlimit-Texte stehen in der obigen Tabelle, und beide tragen den Code rate_limit_reached. Eine abgelehnte Anfrage wird rückgängig gemacht, sodass ein 429 nie eine Nachricht von deinem Kontingent verbraucht: das Zeitfenster abwarten und erneut senden. Die Fensterwerte und die dahinterliegenden Plan-Kontingente stehen unter Ratenlimits und Kontingent aufgebraucht.

Eine Ablehnung aus derselben Familie hat überhaupt nichts mit Geschwindigkeit zu tun: Account sharing limit reached. Please use your own Whizi account., HTTP 403, Code account_sharing_limit, tritt auf, wenn mehr als 3 verschiedene Geräte- oder Sitzungsschlüssel in den letzten 24 Stunden für ein Konto gesehen wurden. Eine Minute zu warten behebt das nicht.

Die Antwort beginnt, stoppt dann oder wird nie angezeigt

Sobald die Verbindung offen ist, kommt ein Fehler entweder vom Modellanbieter oder von der Technik, die den Stream trägt. Die Texte unterscheiden sich danach, wo der Fehler aufgetreten ist.

NachrichtWoher sie kommt
The model is temporarily rate-limited. Please retry shortly.HTTP 429 provider_rate_limited, wenn der Anbieter die Verbindung mit einem 429 beantwortet
The model provider rejected the request.Wird verwendet, wenn der Fehlertext des Anbieters nicht geparst werden kann oder zu einer leeren Nachricht führt
The model provider returned an empty stream.HTTP 502, vorgelagertes System hat OK geantwortet, aber keinen Inhalt gesendet
The model provider returned an error.In-Stream-Fehlerereignis, wenn der Anbieter einen Fehlerframe ohne eigene Nachricht sendet
The model stream was interrupted.In-Stream-Fehlerereignis für jeden anderen Fehler mitten im Stream
Generation failed mid-stream.Die Generierung endete mit einem Fehler, nachdem bereits Daten gesendet worden waren
Generation failed to start.Der interne Ausweichtext bei einem Startfehler des Koordinators, der keine eigene Nachricht trägt
The generation stream is unavailable.Ausgelöst, wenn der Koordinator keinen Stream zum Andocken zurückgeben kann
Generation aborted before it started.Als AbortError ausgelöst, wenn der Client die Verbindung trennt, bevor der Verbindungsaufbau zum vorgelagerten System abgeschlossen ist
Something went wrong. Please retry.HTTP 500 internal_error, der Text für jeden unbehandelten Backend-Fehler
Sorry, there was an error generating the response.Wird in die Assistenten-Sprechblase geschrieben, wenn ein Stream ohne endgültige Nachricht und ohne angesammelten Inhalt endet

Jeder Fehler eines vorgelagerten Systems außer einem 429 ist HTTP 502 provider_error mit der Anbieter-Nachricht, gekürzt auf 300 Zeichen. Auf dem Mid-Stream-Pfad gibt es kein In-Band-Fehlerereignis: Die Verbindung bricht einfach ab.

Einer dieser Texte ist eher ein Protokolleintrag als eine Nachricht. Generation aborted before it started. wird als AbortError ausgelöst, wenn der Client die Verbindung trennt, bevor der Verbindungsaufbau zum vorgelagerten System abgeschlossen ist, und die Route beantwortet diesen Fall mit HTTP 408 und leerem Inhalt, sodass der Text das ist, was der Server aufzeichnet, nicht das, was der Browser anzeigt. In einer Netzwerkaufzeichnung bedeutet ein leerer 408 auf der Generate-Route, dass die Anfrage verschwand, bevor überhaupt ein Modell erreicht wurde.

Darunter liegt der Auffangfall: Alles, was das Backend nicht erkennt, endet als HTTP 500 internal_error mit dem Text Something went wrong. Please retry. HTTP 500 nennt keine Ursache. Einmal erneut senden, dann den Support kontaktieren, falls es sich wiederholt.

Was zu tun ist: erneut senden, und wenn es sich wiederholt, in demselben Gespräch zu einem anderen Modell wechseln. Diese Fehler entstehen vorgelagert zu Whizi, nicht in deinem Konto oder deinen Einstellungen.

Eine Sache, die du nicht tun musst, ist den Tab offen zu halten. Die Generierung läuft in einem Durable Object pro Gespräch, sodass das Schließen des Tabs mitten im Stream die Antwort nicht abbricht und die Antwort trotzdem gespeichert wird. Ein wieder geöffneter Tab oder ein zweites Gerät kann sich an eine bereits laufende Generierung erneut andocken. The generation stream is unavailable. wird ausgelöst, wenn der Koordinator keinen Stream zum Andocken zurückgeben kann. Lade das Gespräch neu und lies, was gespeichert wurde, anstatt auf den Stream zu warten.

In der Nebeneinander-Vergleichsansicht sind die Texte pro Seite noch einmal anders: The model did not respond. Please try again. wenn eine Generate-Antwort nicht OK ist und keinen lesbaren Fehler enthält, Could not start a comparison chat. wenn der zugrunde liegende Chat nicht erstellt werden kann, und Something went wrong. als letzte Möglichkeit. Letzteres ist die Kurzform ohne den Wiederholungssatz danach, woran man es vom Something went wrong. Please retry. Text eines 500 unterscheidet.

Deine Sitzung ist abgelaufen

Authentifizierungsfehler sehen wie Sendefehler aus, weil sie beim Senden auftauchen. Authentication required. ist HTTP 401 unauthorized und tritt auf, wenn die Anfrage kein Bearer-Token enthält. Invalid or expired session token. hat denselben Status und Code, wenn die Tokenprüfung aus irgendeinem Grund fehlschlägt: abgelaufenes Token, falsche Signatur, falscher Aussteller.

Auf der Website-Seite siehst du stattdessen möglicherweise Failed to retrieve session token., was die Seite auslöst, wenn der Token-Abruf nichts zurückgibt, bevor ein Chatlisten-, Chat-Lade-, Lösch-, Umbenenn- oder Upload-Aufruf erfolgt. Die Vergleichsansicht hat ihren eigenen Wortlaut: Your session expired. Please refresh and try again.

Die Lösung ist ein Neuladen der Seite, dann eine erneute Anmeldung, falls das Neuladen die Sitzung nicht wiederherstellt. Am Konto geht nichts verloren, und es wurde keine Nachricht gesendet.

Das ist kein Fehler, das ist ein Limit

Eine Kontingent-Ablehnung und eine Stufen-Ablehnung sind keine Sendefehler. Die Anfrage war korrekt geformt, und Whizi hat sie absichtlich abgelehnt, sodass es im Eingabefeld nichts zu reparieren gibt: Kontingent-Ablehnungen sind unter Kontingent aufgebraucht behandelt, und ein als gesperrt angezeigtes Modell ist unter Fehlerbehebung behandelt.

Ein durch die Inhaltsprüfung abgelehnter Prompt ist ebenfalls kein Sendefehler. Die Prüfung läuft, bevor irgendein Kontingent reserviert und bevor der Anbieter aufgerufen wird, sodass ein abgelehnter Prompt kein Kontingent kostet, und die Ablehnung kommt als HTTP 400 mit dem im Chat angezeigten Grund an.

Stattdessen schlägt das Bearbeiten einer gesendeten Nachricht fehl

Einen Prompt zu bearbeiten und erneut zu senden ist die Art, wie du eine Runde erneut ausführst, da Whizi keine Regenerieren-Funktion hat. Dieser Weg hat seine eigenen zwei Fehler.

That message is no longer part of this conversation. Reload and try again. ist HTTP 404 replace_anchor_not_found, das zurückgegeben wird, wenn die Bearbeitung eine Nachrichten-ID nennt, die nicht mehr im Gespräch ist. Das Gespräch neu laden. Der Client hält eine Nachrichten-ID, die der Server nicht mehr hat.

Conversation not found. ist HTTP 404 not_found, das zurückgegeben wird, wenn die Gespräch-ID nicht existiert oder nicht dem Aufrufer gehört. Es erscheint auf der Generate-Route und auch auf den Routen für Lesen, Löschen, Umbenennen, Nachricht anhängen, Version wechseln und Teilen.

Checkliste
  • Wenn Enter nichts bewirkt, wird noch eine Antwort generiert, kein verlorener Tastendruck
  • Pro Konto läuft immer nur eine Generierung, über alle deine Geräte hinweg
  • Ein doppeltes Senden wird absichtlich ignoriert, mit einem 409 und einer entsprechenden Nachricht
  • Der Chat hat ein Minuten- und ein Stundenlimit, das kein Plan aufhebt
  • Eine ratenlimitierte Anfrage kostet nichts von deinem Kontingent
  • Eine Nachricht ist auf 100.000 Zeichen begrenzt
  • Anbieterfehler werden durch erneutes Senden oder Modellwechsel behoben, nicht durch Einstellungen
  • Das Schließen des Tabs mitten in der Antwort beendet die Antwort nicht
  • Authentifizierungsfehler werden durch Neuladen und erneutes Anmelden behoben

Häufige Fragen

Was bedeutet "Generation already in progress. Please stop it or wait for it to finish."?

Stoppe die laufende Antwort oder warte, bis sie fertig ist, und sende dann erneut. Die Ablehnung ist HTTP 409 mit dem Code generation_in_progress, und sie erscheint auch, wenn ein anderes Gerät für dasselbe Konto generiert. Das Stoppen wird auf dem Server abgewickelt: Die Teilantwort wird gespeichert, die Sperre wird freigegeben, und eine nicht zugestellte Runde wird erstattet.

Meine Antwort ist auf halbem Weg gestoppt. Wurde mir etwas berechnet?

Ein Fehler mitten im Stream unterbricht die Verbindung ohne In-Band-Fehlerereignis, und der Text, der vor dem Abbruch eingetroffen ist, bleibt erhalten. Wenn du eine Generierung selbst stoppst, bricht der Server das Lesen beim Anbieter ab, speichert die Teilantwort und erstattet eine nicht zugestellte Runde. Bei einem wiederholten Anbieterfehler wechsle in demselben Gespräch zu einem anderen Modell, da der Fehler vorgelagert zu Whizi entsteht. Wenn du stattdessen HTTP 500 mit "Something went wrong. Please retry." zurückbekommst, ist das der allgemeine Text für einen unbehandelten Backend-Fehler und kein Modellproblem, also einmal erneut senden und es melden, falls es weiter passiert.

Bricht das Schließen des Tabs meine Antwort ab?

Nein, mit einem schmalen Zeitfenster ganz am Anfang. Wenn der Client die Verbindung trennt, bevor der Verbindungsaufbau zum vorgelagerten System abgeschlossen ist, zeichnet der Server "Generation aborted before it started." auf und antwortet mit HTTP 408 und leerem Inhalt, weshalb diese Anfrage so aussieht, als hätte sie überhaupt nichts zurückgegeben. Danach übersteht die Antwort den Client, weil die Generierung in einem Durable Object pro Gespräch läuft und die Antwort trotzdem gespeichert wird. "The generation stream is unavailable." wird ausgelöst, wenn der Koordinator keinen Stream zum Andocken zurückgeben kann, und das Neuladen des Gesprächs zeigt, was gespeichert wurde.

Whizi sagt, meine Nachricht überschreitet das 100.000-Zeichen-Limit. Was jetzt?

Eine einzelne Nachricht ist auf 100.000 Zeichen begrenzt, und die Ablehnung ist HTTP 400, Code message_too_long. Die Zählung umfasst die gesamte Nachricht, einschließlich aus einem Anhang extrahiertem Text. Frage nach jeweils einem Abschnitt, oder hänge eine kürzere Datei an. Wenn extrahierter Anhangstext nicht ins Nachrichtenbudget passt, kürzt Whizi ihn, statt abzulehnen, und warnt dich, dass nur der erste Teil gesendet wurde.