Een Whizi-bericht wordt niet verzonden, of het antwoord komt nooit aan

Kort antwoord

Een Whizi-bericht dat niet wordt verzonden komt door een van vijf dingen: er wordt nog een ander antwoord gegenereerd, je hebt dezelfde tekst twee keer verstuurd, je hebt een limiet per minuut of per uur overschreden, het bericht is niet door de validatie gekomen, of je sessietoken is verlopen. Whizi noemt de reden in de foutmelding, en een door een rate limit geweigerd verzoek kost niets.

Het korte antwoord

Een Whizi-bericht dat niet wordt verzonden komt door een van vijf dingen: er wordt nog een ander antwoord gegenereerd, je hebt dezelfde tekst twee keer verstuurd, je hebt een limiet per minuut of per uur overschreden, het bericht zelf is niet door de validatie gekomen, of je sessietoken is verlopen. Whizi noemt de reden in de foutmelding, dus de tekst die je ziet bepaalt de oplossing.

Wat je zietCodeWaaromWat te doen
Generation already in progress. Please stop it or wait for it to finish.409Er wordt al een ander antwoord gegenereerd op je accountStop het, of wacht
Duplicate message ignored. Please wait for the current response to finish.409Dezelfde tekst (en afbeelding) is onlangs al naar deze chat verstuurdWacht op het antwoord dat al loopt
Too many requests. Please wait and try again.429Een limiet per minuut heeft het verzoek geweigerdWacht, en verstuur het opnieuw
Hourly message limit reached. Please try again later.429De limiet per uur voor chats heeft het geweigerdWacht, en verstuur het opnieuw
A non-empty message is required.400Het bericht ontbreekt of bevat alleen witruimteTyp iets
This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time.400Eén bericht ging over de limiet van 100,000 tekens heenSplits het op, of vraag naar één onderdeel tegelijk
The model is temporarily rate-limited. Please retry shortly.429De modelprovider antwoordde op de verbinding met een 429Probeer opnieuw, of wissel van model
Failed to send message.geen, een melding op de websiteHet verzenden mislukte en de backend gaf geen bericht meeControleer je verbinding en verstuur opnieuw
Something went wrong. Please retry.500Elke onafgehandelde fout op de backendVerstuur opnieuw, en meld het als het blijft gebeuren
Invalid or expired session token.401Tokenverificatie mislukteVervers de pagina en log opnieuw in

Weigeringen door een rate limit worden teruggedraaid, dus een geweigerd verzoek kost nooit een bericht van je tegoed.

Er gebeurt niets als je op Enter drukt

Als Enter helemaal niets doet, wordt er nog een antwoord gegenereerd. Het invoerveld negeert Enter opzettelijk zolang er een antwoord onderweg is, dus dit is geen gemiste toetsaanslag. Shift en Enter voegt nog steeds een nieuwe regel toe.

Whizi genereert per account maar één antwoord tegelijk, afgedwongen door een lock per gebruiker, dus twee apparaten kunnen nooit tegelijk voor hetzelfde account genereren. Een tweede poging wordt geweigerd met Generation already in progress. Please stop it or wait for it to finish., HTTP 409, code generation_in_progress. Dezelfde tekst wordt teruggegeven wanneer de generatiecoördinator bij het verbinden een conflict meldt.

Als je dezelfde tekst twee keer verstuurt, krijg je Duplicate message ignored. Please wait for the current response to finish., HTTP 409, code duplicate_message. Dit gebeurt wanneer dezelfde berichttekst (en afbeelding) onlangs al naar dit gesprek is verstuurd, wat het gevolg is van een dubbele klik of een ongeduldige tweede Enter.

De oplossing is voor beide hetzelfde: stop het lopende antwoord, of laat het afmaken. Het stoppen wordt op de server afgehandeld. De coördinator annuleert het lezen bij de provider, slaat de tekst op die al binnen was, geeft de lock vrij, en vergoedt een niet-afgeleverde beurt. Als een lock per ongeluk blijft staan, herstelt dit vanzelf: een lock wordt overneembaar zodra de houder ervan als verweesd of vastgelopen wordt beoordeeld, en verlopen locks worden volgens een schema opgeruimd.

Als een stop een gat achterlaat, toont de bubbel van de assistent Generation stopped., de tekst die wordt opgeslagen wanneer een generatie wordt gestopt zonder dat er gedeeltelijke tekst is vastgelegd. Generation stopped, but it could not be saved. betekent dat het stoppen wel lukte, maar het opslaan van het gedeeltelijke antwoord niet.

Het bericht wordt geweigerd voordat een model het ziet

Dit zijn HTTP 400 validatieweigeringen die optreden voordat er iets bij een model terechtkomt. Er is niets upstream verstuurd.

BerichtCodeOorzaak
A non-empty message is required.empty_messagecontent ontbreekt of bevat alleen witruimte
A model is required.invalid_modelmodel ontbreekt of is leeg
That model is not available for text chat.unsupported_modelHet model-id komt niet overeen met een tekstmodel in de catalogus
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_longEén bericht kwam boven de 100,000 tekens uit
That system prompt is missing or over the 32,000 character limit.invalid_system_promptDe systeemprompt ontbreekt of overschrijdt 32,000 tekens
That image reference is not valid.invalid_image_urlDe afbeeldingsreferentie is geen tekst, of is langer dan 2,048 tekens
This conversation has {count} messages, over the 100 message limit.too_many_messagesDe chatroute van de app weigerde een transcript met meer dan 100 berichten in één verzoek

De limiet van 100,000 tekens telt het hele bericht, inclusief tekst die uit een bijlage is gehaald. Voor wat Whizi doet wanneer geëxtraheerde tekst uit een bijlage niet binnen het berichtbudget past, zie bestand uploaden mislukt.

Rate limits, en één weigering die niets met snelheid te maken heeft

Beide 429 rate-limit-teksten staan in de tabel hierboven, en beide dragen de code rate_limit_reached. Een geweigerd verzoek wordt teruggedraaid, dus een 429 kost nooit een bericht van je tegoed: wacht het venster uit en verstuur opnieuw. De vensterwaarden en de planlimieten erachter staan op rate limits en tegoed op.

Eén weigering uit dezelfde familie gaat helemaal niet over snelheid: Account sharing limit reached. Please use your own Whizi account., HTTP 403, code account_sharing_limit, treedt op wanneer er in de afgelopen 24 uur meer dan 3 verschillende apparaat- of sessiesleutels op één account zijn gezien. Een minuutje wachten lost dit niet op.

Het antwoord begint, maar stopt of verschijnt nooit

Zodra de verbinding open is, komt een fout ofwel van de modelprovider, ofwel van het mechanisme dat de stream draagt. De teksten verschillen per plek waar de fout optrad.

BerichtWaar het vandaan komt
The model is temporarily rate-limited. Please retry shortly.HTTP 429 provider_rate_limited, wanneer de provider op de verbinding antwoordt met een 429
The model provider rejected the request.Gebruikt wanneer de foutmelding van de provider niet kan worden verwerkt, of leidt tot een leeg bericht
The model provider returned an empty stream.HTTP 502, upstream antwoordde OK maar stuurde geen inhoud mee
The model provider returned an error.In-stream foutgebeurtenis wanneer de provider een foutframe stuurt zonder eigen bericht
The model stream was interrupted.In-stream foutgebeurtenis voor elke andere fout halverwege de stream
Generation failed mid-stream.De generatie eindigde in een fout nadat er al bytes waren verstuurd
Generation failed to start.De interne noodtekst bij een startfout van de coördinator zonder eigen bericht
The generation stream is unavailable.Optreedt wanneer de coördinator geen stream kan teruggeven om aan te koppelen
Generation aborted before it started.Opgeworpen als een AbortError wanneer de client de verbinding verbreekt voordat de upstream-verbinding tot stand komt
Something went wrong. Please retry.HTTP 500 internal_error, de inhoud voor elke onafgehandelde backendfout
Sorry, there was an error generating the response.Verschijnt in de bubbel van de assistent wanneer een stream eindigt zonder eindbericht en zonder opgebouwde inhoud

Elke upstreamfout anders dan een 429 is HTTP 502 provider_error met het providerbericht, afgekapt tot 300 tekens. Op het pad halverwege de stream is er geen in-band foutgebeurtenis: de verbinding valt simpelweg weg.

Een van die teksten is eerder een registratie dan een bericht. Generation aborted before it started. wordt opgeworpen als een AbortError wanneer de client de verbinding verbreekt voordat de upstream-verbinding tot stand komt, en de route beantwoordt dat geval met HTTP 408 en een lege inhoud, dus de tekst is wat de server vastlegt, niet wat de browser toont. In een netwerktrace betekent een lege 408 op de generate-route dat het verzoek verdween voordat er een model werd bereikt.

Onder dit alles zit de vangnetfout: alles wat de backend niet herkent, eindigt als HTTP 500 internal_error met de inhoud Something went wrong. Please retry. HTTP 500 wijst geen oorzaak aan. Verstuur eenmaal opnieuw, en neem contact op met support als het blijft gebeuren.

Wat te doen: verstuur opnieuw, en als het blijft gebeuren, wissel naar een ander model in hetzelfde gesprek. Deze fouten ontstaan upstream van Whizi, niet in je account of je instellingen.

Eén ding hoef je niet te doen: het tabblad open houden. Generatie draait in een Durable Object per gesprek, dus het sluiten van het tabblad halverwege de stream doodt het antwoord niet en het antwoord wordt nog steeds opgeslagen. Een heropend tabblad of een tweede apparaat kan opnieuw aankoppelen bij een generatie die al onderweg is. The generation stream is unavailable. treedt op wanneer de coördinator geen stream kan teruggeven om aan te koppelen. Herlaad het gesprek en lees wat er is opgeslagen in plaats van op de stream te wachten.

In de weergave voor vergelijking naast elkaar zijn de teksten per kant weer anders: The model did not respond. Please try again. wanneer een generate-antwoord niet OK is en geen leesbare fout bevat, Could not start a comparison chat. wanneer de onderliggende chat niet kan worden aangemaakt, en Something went wrong. als laatste redmiddel. Dat laatste is de korte vorm, zonder de herhalingszin erna, waaraan je het onderscheidt van de Something went wrong. Please retry.-inhoud van een 500.

Je sessie is verlopen

Authenticatiefouten lijken op verzendfouten omdat ze op het moment van verzenden zichtbaar worden. Authentication required. is HTTP 401 unauthorized en treedt op wanneer het verzoek geen bearer-token bevat. Invalid or expired session token. heeft dezelfde status en code wanneer tokenverificatie om welke reden dan ook mislukt: verlopen token, onjuiste signatuur, verkeerde uitgever.

Op de website kun je in plaats daarvan Failed to retrieve session token. zien, wat de site toont wanneer het ophalen van het token niets oplevert vóór een aanroep voor chatlijst, chat laden, verwijderen, hernoemen of uploaden. De vergelijkingsweergave heeft een eigen tekst: Your session expired. Please refresh and try again.

De oplossing is de pagina verversen, en opnieuw inloggen als het verversen de sessie niet herstelt. Er gaat niets op het account verloren, en er is geen bericht verstuurd.

Het is geen fout, het is een limiet

Een weigering vanwege je tegoed en een weigering vanwege je abonnement zijn geen verzendfouten. Het verzoek was correct opgebouwd en Whizi heeft het bewust geweigerd, dus er is niets te herstellen in het invoerveld: weigeringen vanwege tegoed staan beschreven in tegoed op, en een model dat als vergrendeld verschijnt, staat beschreven in probleemoplossing.

Een prompt die door contentscreening wordt geweigerd, is ook geen verzendfout. Screening vindt plaats voordat er tegoed wordt gereserveerd en voordat de provider wordt aangeroepen, dus een geweigerde prompt kost geen tegoed, en de weigering komt binnen als HTTP 400 met de reden zichtbaar in de chat.

Een verstuurd bericht bewerken mislukt in plaats daarvan

Een prompt bewerken en opnieuw versturen is hoe je een beurt opnieuw uitvoert, aangezien Whizi geen regenereerknop heeft. Dat pad kent zijn eigen twee fouten.

That message is no longer part of this conversation. Reload and try again. is HTTP 404 replace_anchor_not_found, gegeven wanneer de bewerking een bericht-id noemt dat niet meer in het gesprek zit. Herlaad het gesprek. De client houdt een bericht-id vast dat de server niet meer heeft.

Conversation not found. is HTTP 404 not_found, gegeven wanneer het gespreks-id niet bestaat of niet eigendom is van de aanroeper. Het verschijnt op de generate-route en ook op de routes voor lezen, verwijderen, hernoemen, bericht toevoegen, versie wisselen en delen.

Checklist
  • Als Enter niets doet, wordt er nog een antwoord gegenereerd, geen gemiste toetsaanslag
  • Er loopt maar één generatie per account tegelijk, over al je apparaten heen
  • Een dubbele verzending wordt bewust genegeerd, met een 409 en een bijbehorend bericht
  • Chat heeft een limiet per minuut en per uur die geen enkel abonnement opheft
  • Een door een rate limit geweigerd verzoek kost niets van je tegoed
  • Eén bericht is beperkt tot 100,000 tekens
  • Providerfouten los je op door opnieuw te versturen of van model te wisselen, niet via instellingen
  • Het tabblad sluiten halverwege een antwoord doodt het antwoord niet
  • Authenticatiefouten los je op door te verversen en opnieuw in te loggen

Veelgestelde vragen

Wat betekent "Generation already in progress. Please stop it or wait for it to finish."?

Stop het lopende antwoord, of wacht tot het klaar is, en verstuur dan opnieuw. De weigering is HTTP 409 met code generation_in_progress, en verschijnt ook wanneer een ander apparaat op hetzelfde account genereert. Het stoppen wordt op de server afgehandeld: het gedeeltelijke antwoord wordt opgeslagen, de lock wordt vrijgegeven, en een niet-afgeleverde beurt wordt vergoed.

Mijn antwoord stopte halverwege. Is dit van mijn tegoed afgegaan?

Een fout halverwege de stream verbreekt de verbinding zonder in-band foutgebeurtenis, en de tekst die vóór de onderbreking binnenkwam, blijft bewaard. Als je een generatie zelf stopt, annuleert de server het lezen bij de provider, slaat het gedeeltelijke antwoord op, en vergoedt een niet-afgeleverde beurt. Bij een herhaalde providerfout wissel je naar een ander model in hetzelfde gesprek, aangezien de fout upstream van Whizi ontstaat. Als je HTTP 500 terugkrijgt met "Something went wrong. Please retry.", is dat de generieke inhoud voor een onafgehandelde backendfout in plaats van een modelprobleem, dus verstuur eenmaal opnieuw en meld het als het blijft gebeuren.

Annuleert het sluiten van het tabblad mijn antwoord?

Nee, met één smal venster helemaal aan het begin. Als de client de verbinding verbreekt voordat de upstream-verbinding tot stand komt, legt de server "Generation aborted before it started." vast en antwoordt met HTTP 408 en een lege inhoud, waardoor dat verzoek eruitziet alsof het helemaal niets teruggaf. Voorbij dat punt overleeft het antwoord de client, omdat generatie draait in een Durable Object per gesprek en het antwoord nog steeds wordt opgeslagen. "The generation stream is unavailable." treedt op wanneer de coördinator geen stream kan teruggeven om aan te koppelen, en het herladen van het gesprek toont wat er is opgeslagen.

Whizi zegt dat mijn bericht over de limiet van 100,000 tekens gaat. Wat nu?

Eén bericht is beperkt tot 100,000 tekens en de weigering is HTTP 400, code message_too_long. De telling omvat het hele bericht, inclusief tekst die uit een bijlage is gehaald. Vraag naar één onderdeel tegelijk, of voeg een korter bestand toe. Wanneer geëxtraheerde tekst uit een bijlage niet binnen het berichtbudget past, kapt Whizi de tekst af in plaats van te weigeren en waarschuwt je dat alleen het eerste deel is verstuurd.