Whizi-meddelande skickas inte, eller svaret kommer aldrig

Snabbt svar

Ett Whizi-meddelande som inte går att skicka beror på en av fem saker: ett annat svar genereras fortfarande, du skickade samma text två gånger, du överskred en gräns per minut eller per timme, meddelandet klarade inte valideringen, eller din sessionstoken har gått ut. Whizi anger orsaken i feltexten, och en frekvensbegränsad förfrågan kostar dig ingenting.

Det korta svaret

Ett Whizi-meddelande som inte går att skicka beror på en av fem saker: ett annat svar genereras fortfarande, du skickade samma text två gånger, du överskred en gräns per minut eller per timme, meddelandet i sig klarade inte valideringen, eller din sessionstoken har gått ut. Whizi anger orsaken i feltexten, så strängen du ser avgör lösningen.

Vad du serKodVarförVad du ska göra
Generation already in progress. Please stop it or wait for it to finish.409Ett annat svar körs på ditt kontoStoppa det, eller vänta
Duplicate message ignored. Please wait for the current response to finish.409Samma text (och bild) skickades redan till den här chatten nyligenVänta på svaret som redan körs
Too many requests. Please wait and try again.429Ett fönster per minut nekade förfråganVänta, skicka sedan igen
Hourly message limit reached. Please try again later.429Timtaket för chatten nekade denVänta, skicka sedan igen
A non-empty message is required.400Meddelandet saknas eller innehåller bara blankstegSkriv något
This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time.400Ett meddelande överskred 100 000 teckenDela upp det, eller fråga om en del i taget
The model is temporarily rate-limited. Please retry shortly.429Modellleverantören svarade på anslutningen med en 429Försök igen, eller byt modell
Failed to send message.ingen, en webbplatsaviseringSändningen misslyckades och backend levererade inget meddelandeKontrollera din anslutning och skicka igen
Something went wrong. Please retry.500Ett ohanterat fel i backendSkicka igen, rapportera det sedan om det upprepas
Invalid or expired session token.401Tokenverifiering misslyckadesUppdatera sidan och logga in igen

Nekade förfrågningar på grund av frekvensgräns rullas tillbaka, så en nekad förfrågan spenderar aldrig ett meddelande från din tilldelning.

Ingenting händer när du trycker på Enter

Om Enter inte gör något alls genereras fortfarande ett svar. Textrutan ignorerar medvetet Enter medan ett svar är på väg, så det är inte en missad knapptryckning. Shift och Enter infogar fortfarande en ny rad.

Whizi kör en generering per konto åt gången, upprätthållet av en spärr per användare, så två enheter kan aldrig generera samtidigt för samma konto. Ett andra försök nekas med Generation already in progress. Please stop it or wait for it to finish., HTTP 409, kod generation_in_progress. Samma sträng returneras när genereringskoordinatorn rapporterar en konflikt vid anslutningstillfället.

Att skicka identisk text två gånger returnerar Duplicate message ignored. Please wait for the current response to finish., HTTP 409, kod duplicate_message. Detta triggas när samma meddelandetext (och bild) redan skickats till den här konversationen nyligen, vilket är vad en dubbelklick eller ett otåligt andra Enter-tryck ger.

Lösningen är densamma för båda: stoppa det pågående svaret, eller låt det slutföras. Att stoppa hanteras på servern. Koordinatorn avbryter leverantörens läsning, sparar den text som hunnit komma in, släpper spärren och återbetalar en oleveredare tur. Om en spärr av någon anledning blir kvar återhämtar den sig själv: en spärr blir stjälbar när dess innehavare bedöms som övergiven eller fastnad, och utgångna spärrar sopas bort enligt ett schema.

Om ett stopp lämnar ett hål visar assistentbubblan Generation stopped., texten som sparas när en generering stoppas och ingen delvis text hann fångas upp. Generation stopped, but it could not be saved. betyder att stoppet fungerade men att det inte gick att spara det delvisa svaret.

Meddelandet nekas innan någon modell ser det

Dessa är HTTP 400-valideringsavslag som utlöses innan något når en modell. Ingenting skickades uppström.

MeddelandeKodUtlösare
A non-empty message is required.empty_messagecontent saknas eller innehåller bara blanksteg
A model is required.invalid_modelmodel saknas eller är tom
That model is not available for text chat.unsupported_modelModellens id matchar inte en textmodell i katalogen
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_longEtt enskilt meddelande överskred 100 000 tecken
That system prompt is missing or over the 32,000 character limit.invalid_system_promptSystemprompten saknas eller överskrider 32 000 tecken
That image reference is not valid.invalid_image_urlBildreferensen är inte en sträng, eller är längre än 2 048 tecken
This conversation has {count} messages, over the 100 message limit.too_many_messagesApparnas chattrutt nekade en transkription med fler än 100 meddelanden i en och samma förfrågan

Taket på 100 000 tecken räknar hela meddelandet, inklusive all text som extraherats från en bilaga. För vad Whizi gör när extraherad bilagetext inte får plats i meddelandebudgeten, se misslyckad filuppladdning.

Frekvensgränser, och ett avslag som inte handlar om hastighet

Båda 429-strängarna för frekvensgräns finns i tabellen ovan, och båda bär koden rate_limit_reached. En nekad förfrågan rullas tillbaka, så en 429 spenderar aldrig ett meddelande från din tilldelning: vänta ut fönstret och skicka igen. Fönstersiffrorna och plantilldelningarna bakom dem finns på frekvensgränser och slut på krediter.

Ett avslag i samma familj handlar inte alls om hastighet: Account sharing limit reached. Please use your own Whizi account., HTTP 403, kod account_sharing_limit, utlöses när fler än 3 distinkta enhets- eller sessionsnycklar har setts på ett konto under de senaste 24 timmarna. Att vänta en minut åtgärdar inte det.

Svaret börjar, sedan stannar det eller renderas aldrig

När anslutningen väl är öppen kommer ett fel antingen från modellleverantören eller från maskineriet som bär strömmen. Strängarna skiljer sig åt beroende på var felet uppstod.

MeddelandeVar det kommer ifrån
The model is temporarily rate-limited. Please retry shortly.HTTP 429 provider_rate_limited, när leverantören svarar på anslutningen med en 429
The model provider rejected the request.Används när leverantörens felmeddelande inte kan tolkas, eller tolkas till ett tomt meddelande
The model provider returned an empty stream.HTTP 502, uppström svarade OK men skickade ingen kropp
The model provider returned an error.Felhändelse i strömmen när leverantören skickar en felram utan eget meddelande
The model stream was interrupted.Felhändelse i strömmen för alla andra fel mitt i strömmen
Generation failed mid-stream.Genereringen avslutades med fel efter att byte redan skickats
Generation failed to start.Den interna reservtexten vid ett koordinator-startfel utan eget meddelande
The generation stream is unavailable.Utlöses när koordinatorn inte kan lämna tillbaka en ström att ansluta till
Generation aborted before it started.Utlöses som ett AbortError när klienten kopplas bort innan anslutningen uppström slutförs
Something went wrong. Please retry.HTTP 500 internal_error, kroppen för alla ohanterade backend-fel
Sorry, there was an error generating the response.Skrivs in i assistentbubblan när en ström avslutas utan slutmeddelande och utan ackumulerat innehåll

Alla uppströmsfel förutom en 429 är HTTP 502 provider_error som bär leverantörens meddelande, trunkerat till 300 tecken. På vägen mitt i strömmen finns ingen felhändelse i bandet: anslutningen bryts helt enkelt.

En av strängarna är ett protokoll snarare än ett meddelande. Generation aborted before it started. utlöses som ett AbortError när klienten kopplas bort innan anslutningen uppström slutförs, och rutten svarar i det fallet med HTTP 408 och en tom kropp, så strängen är vad servern skriver ner, inte vad webbläsaren visar. I en nätverksspårning betyder en tom 408 på genereringsrutten att förfrågan försvann innan någon modell nåddes.

Sista utvägen ligger under allt detta: allt backend inte känner igen slutar som HTTP 500 internal_error med kroppen Something went wrong. Please retry. HTTP 500 identifierar ingen orsak. Skicka igen en gång, kontakta sedan supporten om det upprepas.

Vad du ska göra: skicka igen, och om det upprepas, byt till en annan modell i samma konversation. Dessa fel uppstår uppström från Whizi, inte i ditt konto eller dina inställningar.

En sak du inte behöver göra är att hålla fliken öppen. Genereringen körs i ett Durable Object per konversation, så att stänga fliken mitt i strömmen dödar inte svaret och svaret sparas fortfarande. En återöppnad flik eller en andra enhet kan återansluta till en generering som redan är på väg. The generation stream is unavailable. utlöses när koordinatorn inte kan lämna tillbaka en ström att ansluta till. Ladda om konversationen och läs vad som sparades istället för att vänta på strömmen.

I sida-vid-sida-jämförelsevyn är strängarna för varje sida annorlunda igen: The model did not respond. Please try again. när ett genereringssvar inte är OK och saknar ett läsbart fel, Could not start a comparison chat. när den bakomliggande chatten inte kan skapas, och Something went wrong. som sista utväg. Den sista är den korta formen, utan någon uppmaning om att försöka igen efter sig, vilket är hur du skiljer den från kroppen Something went wrong. Please retry. för ett 500-fel.

Din session har gått ut

Autentiseringsfel ser ut som sändningsfel eftersom de dyker upp vid sändningstillfället. Authentication required. är HTTP 401 unauthorized och utlöses när förfrågan saknar en bearer-token. Invalid or expired session token. är samma status och kod när tokenverifieringen misslyckas av någon anledning: utgången token, felaktig signatur, fel utfärdare.

På webbplatsens sida kan du istället se Failed to retrieve session token., vilket sidan kastar närhelst tokenhämtningen inte returnerar något innan ett anrop för chattlista, chattladdning, radering, namnbyte eller uppladdning. Jämförelsevyn har sin egen formulering: Your session expired. Please refresh and try again.

Lösningen är att uppdatera sidan, och sedan logga in igen om uppdateringen inte återställer sessionen. Ingenting på kontot går förlorat, och inget meddelande skickades.

Det är inte ett fel, det är en gräns

Ett avslag på grund av tilldelning och ett avslag på grund av nivå är inte sändningsfel. Förfrågan var korrekt formad och Whizi nekade den avsiktligt, så det finns ingenting att åtgärda i textrutan: avslag på grund av tilldelning tas upp i slut på krediter, och en modell som visas som låst tas upp i felsökning.

En prompt som nekas av innehållsgranskning är också inte ett sändningsfel. Granskningen körs innan någon kvot reserveras och innan leverantören anropas, så en nekad prompt kostar ingen tilldelning, och avslaget kommer som HTTP 400 med orsaken visad i chatten.

Att redigera ett skickat meddelande misslyckas istället

Att redigera en prompt och skicka igen är hur du kör om en tur, eftersom Whizi inte har någon kontroll för att generera om. Den vägen har sina egna två fel.

That message is no longer part of this conversation. Reload and try again. är HTTP 404 replace_anchor_not_found, som returneras när redigeringen anger ett meddelande-id som inte längre finns i konversationen. Ladda om konversationen. Klienten håller ett meddelande-id som servern inte längre har.

Conversation not found. är HTTP 404 not_found, som returneras när konversations-id inte finns eller inte ägs av den som anropar. Det visas på genereringsrutten och även på rutterna för läsning, radering, namnbyte, meddelandetillägg, versionbyte och delning.

Checklista
  • Att Enter inte gör något betyder att ett svar fortfarande genereras, inte en missad knapptryckning
  • En generering körs per konto åt gången, över alla dina enheter
  • En dubblettsändning ignoreras med avsikt, med en 409 och ett meddelande som säger det
  • Chatten har ett tak per minut och per timme som ingen plan lyfter bort
  • En frekvensbegränsad förfrågan kostar ingenting av din tilldelning
  • Ett meddelande är begränsat till 100 000 tecken
  • Leverantörsfel åtgärdas genom att skicka igen eller byta modell, inte via inställningar
  • Att stänga fliken mitt i svaret dödar inte svaret
  • Autentiseringsfel åtgärdas genom att uppdatera sidan och logga in igen

Vanliga frågor

Vad betyder "Generation already in progress. Please stop it or wait for it to finish."?

Stoppa det pågående svaret, eller vänta på att det slutförs, skicka sedan igen. Avslaget är HTTP 409 med koden generation_in_progress, och det visas också när en annan enhet genererar på samma konto. Att stoppa hanteras på servern: det delvisa svaret sparas, spärren släpps och en oleveredare tur återbetalas.

Mitt svar stannade halvvägs. Blev jag debiterad?

Ett fel mitt i strömmen bryter anslutningen utan någon felhändelse i bandet, och all text som hunnit komma innan avbrottet sparas. Om du stoppar en generering själv avbryter servern leverantörens läsning, sparar det delvisa svaret och återbetalar en oleveredare tur. Vid ett upprepat leverantörsfel, byt till en annan modell i samma konversation, eftersom felet uppstår uppström från Whizi. Om du får tillbaka HTTP 500 med "Something went wrong. Please retry." är det den generiska kroppen för ett ohanterat backend-fel snarare än ett modellproblem, så skicka igen en gång och rapportera det om det fortsätter.

Avbryter det mitt svar om jag stänger fliken?

Nej, med ett smalt fönster i den allra första stunden. Om klienten kopplas bort innan anslutningen uppström slutförs registrerar servern "Generation aborted before it started." och svarar HTTP 408 med en tom kropp, vilket är varför den förfrågan ser ut som om den inte returnerade något alls. Efter den punkten överlever svaret klienten, eftersom genereringen körs i ett Durable Object per konversation och svaret fortfarande sparas. "The generation stream is unavailable." utlöses när koordinatorn inte kan lämna tillbaka en ström att ansluta till, och att ladda om konversationen visar vad som sparades.

Whizi säger att mitt meddelande överskrider gränsen på 100 000 tecken. Vad gör jag nu?

Ett enskilt meddelande är begränsat till 100 000 tecken och avslaget är HTTP 400, kod message_too_long. Räkningen omfattar hela meddelandet, inklusive text som extraherats från en bilaga. Fråga om en del i taget, eller bifoga en kortare fil. När extraherad bilagetext inte får plats i meddelandebudgeten trunkerar Whizi istället för att neka, och varnar dig för att bara den första delen skickades.