پاسخ کوتاه
پیام Whizi که ارسال نمیشود یکی از این پنج حالت است: پاسخ دیگری هنوز در حال تولید است، همان متن را دوبار فرستادهاید، از محدودیت نرخ در هر دقیقه یا هر ساعت عبور کردهاید، خود پیام اعتبارسنجی را رد کرده، یا نشست شما منقضی شده است. Whizi دلیل را در متن خطا نام میبرد، پس متنی که میبینید راهحل را مشخص میکند.
| چیزی که میبینید | کد | چرا | چه کاری انجام دهید |
|---|---|---|---|
Generation already in progress. Please stop it or wait for it to finish. | 409 | پاسخ دیگری در حساب شما در حال اجراست | آن را متوقف کنید، یا صبر کنید |
Duplicate message ignored. Please wait for the current response to finish. | 409 | همان متن (و تصویر) اخیراً به این گفتگو فرستاده شده است | برای پاسخی که در حال اجراست صبر کنید |
Too many requests. Please wait and try again. | 429 | یک بازه هردقیقهای درخواست را رد کرده است | صبر کنید، سپس دوباره بفرستید |
Hourly message limit reached. Please try again later. | 429 | سقف پیام ساعتی آن را رد کرده است | صبر کنید، سپس دوباره بفرستید |
A non-empty message is required. | 400 | پیام خالی است یا فقط فاصله دارد | چیزی بنویسید |
This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time. | 400 | یک پیام از 100,000 نویسه بیشتر شده است | آن را تقسیم کنید، یا درباره یک بخش در هر بار بپرسید |
The model is temporarily rate-limited. Please retry shortly. | 429 | ارائهدهنده مدل به اتصال با کد 429 پاسخ داده است | دوباره تلاش کنید، یا مدل را عوض کنید |
Failed to send message. | بدون کد، یک پیامکوچک در سایت | ارسال ناموفق بود و بکاند هیچ پیامی نداد | اتصال خود را بررسی کنید و دوباره بفرستید |
Something went wrong. Please retry. | 500 | هر خطای مدیریتنشده در بکاند | دوباره بفرستید، و اگر تکرار شد گزارش دهید |
Invalid or expired session token. | 401 | تأیید توکن ناموفق بود | صفحه را تازه کنید و دوباره وارد شوید |
ردشدنهای ناشی از محدودیت نرخ برگردانده میشوند، پس یک درخواست ردشده هرگز از سهمیه پیامهای شما کم نمیشود.
وقتی Enter را میزنید هیچ اتفاقی نمیافتد
اگر Enter اصلاً هیچ کاری نکند، یعنی پاسخی هنوز در حال تولید است. کادر نوشتن عمداً Enter را در حین تولید پاسخ نادیده میگیرد، پس این یک کلید ازدسترفته نیست. Shift و Enter همچنان یک خط جدید درج میکند.
Whizi در هر حساب فقط یک تولید در هر لحظه اجرا میکند، که با یک قفل مخصوص هر کاربر تضمین میشود، پس دو دستگاه هرگز نمیتوانند برای یک حساب همزمان تولید کنند. تلاش دوم با پیام Generation already in progress. Please stop it or wait for it to finish.، کد HTTP 409، کد generation_in_progress رد میشود. همین متن زمانی هم برگردانده میشود که هماهنگکننده تولید در لحظه اتصال یک تعارض گزارش کند.
فرستادن همان متن بهصورت دوباره پیام Duplicate message ignored. Please wait for the current response to finish.، کد HTTP 409، کد duplicate_message را برمیگرداند. این وقتی رخ میدهد که همان متن پیام (و تصویر) اخیراً به این گفتگو فرستاده شده باشد، که نتیجه یک کلیک دوتایی یا یک Enter دوم عجولانه است.
راهحل هر دو یکسان است: پاسخ در حال اجرا را متوقف کنید، یا اجازه دهید تمام شود. توقف روی سرور مدیریت میشود. هماهنگکننده خواندن از ارائهدهنده را لغو میکند، هر متنی که رسیده را ذخیره میکند، قفل را آزاد میکند، و یک نوبت تحویلنشده را برمیگرداند. اگر قفلی به هر دلیلی باقی بماند، خودش بازیابی میشود: یک قفل بهمحض اینکه دارندهاش تنها یا متوقفشده تشخیص داده شود قابلربودن میگردد، و قفلهای منقضی طبق یک برنامه پاکسازی میشوند.
اگر توقف شکافی بگذارد، حباب دستیار مینویسد Generation stopped.، که همان متنی است که وقتی تولید متوقف شده و هیچ متن ناقصی ثبت نشده، ذخیره میشود. Generation stopped, but it could not be saved. یعنی توقف انجام شد اما ذخیره پاسخ ناقص موفق نبود.
پیام پیش از آنکه به هیچ مدلی برسد رد میشود
اینها ردشدنهای اعتبارسنجی با کد HTTP 400 هستند که پیش از رسیدن هر چیزی به یک مدل صادر میشوند. هیچچیز به بالادست فرستاده نشده است.
| پیام | کد | شرط بروز |
|---|---|---|
A non-empty message is required. | empty_message | فیلد content خالی است یا فقط فاصله دارد |
A model is required. | invalid_model | فیلد model خالی یا نامعتبر است |
That model is not available for text chat. | unsupported_model | شناسه مدل در فهرست به یک مدل متنی تطبیق نمییابد |
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_long | یک پیام از 100,000 نویسه گذشته است |
That system prompt is missing or over the 32,000 character limit. | invalid_system_prompt | پرامپت سیستم خالی است یا از 32,000 نویسه بیشتر شده |
That image reference is not valid. | invalid_image_url | ارجاع تصویر یک رشته نیست، یا از 2,048 نویسه بلندتر است |
This conversation has {count} messages, over the 100 message limit. | too_many_messages | مسیر چت اپ یک متن حاوی بیش از 100 پیام را در یک درخواست رد کرده است |
سقف 100,000 نویسه کل پیام را میشمارد، از جمله هر متنی که از یک پیوست استخراج شده باشد. برای اینکه Whizi وقتی متن استخراجشده از پیوست در بودجه پیام جا نمیشود چه میکند، به آپلود فایل ناموفق مراجعه کنید.
محدودیتهای نرخ، و یک ردشدن که ربطی به سرعت ندارد
هر دو متن 429 مربوط به محدودیت نرخ در جدول بالا آمدهاند، و هر دو کد rate_limit_reached را دارند. یک درخواست ردشده برگردانده میشود، پس یک 429 هرگز از سهمیه شما پیام کم نمیکند: صبر کنید تا بازه تمام شود و دوباره بفرستید. عدد بازهها و سهمیههای پلن پشت آنها در محدودیتهای نرخ و اتمام اعتبار آمدهاند.
یک ردشدن در همین خانواده اصلاً ربطی به سرعت ندارد: Account sharing limit reached. Please use your own Whizi account.، کد HTTP 403، کد account_sharing_limit، وقتی بروز میکند که بیش از 3 دستگاه یا نشست متفاوت در 24 ساعت گذشته روی یک حساب دیده شده باشند. صبر یک دقیقه آن را برطرف نمیکند.
پاسخ شروع میشود، سپس متوقف میشود یا هرگز نمایش داده نمیشود
بهمحض باز شدن اتصال، یک شکست یا از ارائهدهنده مدل میآید یا از سازوکار حامل جریان. متنها بسته به محل شکست فرق میکنند.
| پیام | از کجا میآید |
|---|---|
The model is temporarily rate-limited. Please retry shortly. | کد HTTP 429 provider_rate_limited، وقتی ارائهدهنده به اتصال با 429 پاسخ میدهد |
The model provider rejected the request. | زمانی به کار میرود که بدنه خطای ارائهدهنده قابلتجزیه نباشد، یا به یک پیام خالی تجزیه شود |
The model provider returned an empty stream. | کد HTTP 502، بالادست با وضعیت OK پاسخ داده اما بدون بدنه |
The model provider returned an error. | رویداد خطای درونجریانی، وقتی ارائهدهنده یک فریم خطا بدون پیام خودش میفرستد |
The model stream was interrupted. | رویداد خطای درونجریانی برای هر شکست دیگر در میانه جریان |
Generation failed mid-stream. | تولید پس از ارسال بایتها با شکست به پایان رسیده است |
Generation failed to start. | متن پیشفرض داخلی برای شکست شروع هماهنگکننده که پیام خودش را ندارد |
The generation stream is unavailable. | وقتی هماهنگکننده نمیتواند جریانی برای اتصال برگرداند صادر میشود |
Generation aborted before it started. | بهصورت AbortError صادر میشود، وقتی کلاینت پیش از تکمیل اتصال بالادست قطع میشود |
Something went wrong. Please retry. | کد HTTP 500 internal_error، بدنه برای هر خطای مدیریتنشده بکاند |
Sorry, there was an error generating the response. | در حباب دستیار نوشته میشود وقتی یک جریان بدون پیام نهایی و بدون محتوای انباشته پایان مییابد |
هر شکست بالادست بهجز 429 با کد HTTP 502 provider_error همراه با پیام ارائهدهنده، بریدهشده تا 300 نویسه، برمیگردد. در مسیر میانهجریان هیچ رویداد خطای درونباند وجود ندارد: اتصال بهسادگی قطع میشود.
یکی از این متنها بیشتر یک ثبت است تا یک پیام. Generation aborted before it started. بهصورت AbortError صادر میشود وقتی کلاینت پیش از تکمیل اتصال بالادست قطع میشود، و مسیر به آن حالت با کد HTTP 408 و بدنه خالی پاسخ میدهد، پس این متن چیزی است که سرور ثبت میکند، نه چیزی که مرورگر نشان میدهد. در یک ردیابی شبکه، یک 408 خالی روی مسیر تولید یعنی درخواست پیش از رسیدن به هر مدلی از بین رفته است.
زیر همه اینها یک حالت همهگیر قرار دارد: هر چیزی که بکاند نشناسد در نهایت به کد HTTP 500 internal_error با بدنه Something went wrong. Please retry. میرسد. کد HTTP 500 هیچ علتی را مشخص نمیکند. یک بار دوباره بفرستید، و اگر تکرار شد با پشتیبانی تماس بگیرید.
چه کاری انجام دهید: دوباره بفرستید، و اگر تکرار شد، در همان گفتگو به مدل دیگری تغییر دهید. این خطاها بالادستتر از Whizi ریشه دارند، نه در حساب یا تنظیمات شما.
یک چیز که لازم نیست انجام دهید نگهداشتن تب باز است. تولید در یک Durable Object مخصوص هر گفتگو اجرا میشود، پس بستن تب در میانه جریان پاسخ را از بین نمیبرد و پاسخ همچنان ذخیره میشود. یک تب دوباره بازشده یا دستگاه دوم میتواند به تولیدی که در حال انجام است دوباره متصل شود. The generation stream is unavailable. وقتی صادر میشود که هماهنگکننده نمیتواند جریانی برای اتصال برگرداند. بهجای انتظار برای جریان، گفتگو را بارگذاری مجدد کنید و هرچه ذخیره شده را بخوانید.
در نمای مقایسه کنار هم، متنهای هر طرف باز هم فرق میکنند: The model did not respond. Please try again. وقتی پاسخ تولید وضعیت OK ندارد و خطای قابلخواندنی هم ندارد، Could not start a comparison chat. وقتی گفتگوی پشتیبان قابلساخت نیست، و Something went wrong. بهعنوان آخرین راهحل. آن آخری شکل کوتاه است، بدون جمله دوبارهتلاش کنید بعد از آن، که اینطور آن را از بدنه Something went wrong. Please retry. مربوط به یک 500 تشخیص میدهید.
نشست شما منقضی شده است
شکستهای احراز هویت شبیه شکستهای ارسال بهنظر میرسند چون در لحظه ارسال خودشان را نشان میدهند. Authentication required. کد HTTP 401 unauthorized است و وقتی درخواست هیچ توکن حامل ندارد بروز میکند. Invalid or expired session token. همان وضعیت و کد است برای زمانی که تأیید توکن به هر دلیلی ناموفق باشد: توکن منقضی، امضای نادرست، صادرکننده اشتباه.
در سمت وبسایت ممکن است بهجای آن Failed to retrieve session token. را ببینید، که سایت هرگاه واکشی توکن پیش از فراخوانی فهرست گفتگو، بارگذاری گفتگو، حذف، تغییرنام یا آپلود چیزی برنگرداند صادر میکند. نمای مقایسه عبارت خودش را دارد: Your session expired. Please refresh and try again.
راهحل تازهکردن صفحه است، و اگر تازهکردن نشست را بازنگرداند، دوباره وارد شدن. چیزی از حساب از دست نمیرود، و هیچ پیامی فرستاده نشده است.
این یک شکست نیست، یک محدودیت است
یک ردشدن مربوط به سهمیه و یک ردشدن مربوط به سطح پلن، شکست ارسال نیستند. درخواست درست ساخته شده و Whizi عمداً آن را رد کرده، پس چیزی در کادر نوشتن برای درستکردن وجود ندارد: ردشدنهای سهمیه در اتمام اعتبار پوشش داده شدهاند، و مدلی که قفل نشان داده میشود در عیبیابی.
یک پرامپت ردشده توسط غربالگری محتوا هم شکست ارسال نیست. غربالگری پیش از رزرو هر سهمیه و پیش از فراخوانی ارائهدهنده اجرا میشود، پس یک پرامپت ردشده هیچ سهمیهای مصرف نمیکند، و این رد با کد HTTP 400 و دلیل نمایشدادهشده در چت میرسد.
ویرایش پیام ارسالشده در عوض ناموفق میشود
ویرایش یک پرامپت و ارسال دوباره روشی است که یک نوبت را دوباره اجرا میکنید، چون Whizi کنترل بازتولید ندارد. آن مسیر دو شکست مخصوص خودش دارد.
That message is no longer part of this conversation. Reload and try again. کد HTTP 404 replace_anchor_not_found است، وقتی برگردانده میشود که ویرایش شناسه پیامی را نام میبرد که دیگر در گفتگو نیست. گفتگو را بارگذاری مجدد کنید. کلاینت شناسه پیامی را نگه داشته که سرور دیگر ندارد.
Conversation not found. کد HTTP 404 not_found است، وقتی برگردانده میشود که شناسه گفتگو وجود ندارد یا متعلق به فراخواننده نیست. این روی مسیر تولید و همچنین روی مسیرهای خواندن، حذف، تغییرنام، افزودن پیام، تعویض نسخه و اشتراکگذاری هم نمایش داده میشود.
- بیاثر بودن Enter یعنی پاسخی هنوز در حال تولید است، نه یک کلید ازدسترفته
- در هر حساب فقط یک تولید در هر لحظه اجرا میشود، در همه دستگاههای شما
- ارسال تکراری عمداً نادیده گرفته میشود، با کد 409 و پیامی که این را میگوید
- چت یک سقف هردقیقهای و یک سقف هرساعتی دارد که هیچ پلنی آن را برنمیدارد
- یک درخواست با محدودیت نرخ هیچچیز از سهمیه شما کم نمیکند
- یک پیام حداکثر 100,000 نویسه دارد
- خطاهای ارائهدهنده با دوبارهفرستادن یا عوضکردن مدل درست میشوند، نه با تنظیمات
- بستن تب در میانه پاسخ، پاسخ را از بین نمیبرد
- خطاهای احراز هویت با تازهکردن صفحه و ورود دوباره درست میشوند
پرسشهای متداول
معنی «Generation already in progress. Please stop it or wait for it to finish.» چیست؟
پاسخ در حال اجرا را متوقف کنید، یا صبر کنید تا تمام شود، سپس دوباره بفرستید. این ردشدن کد HTTP 409 با کد generation_in_progress دارد، و همچنین وقتی دستگاه دیگری روی همان حساب در حال تولید است ظاهر میشود. توقف روی سرور مدیریت میشود: پاسخ ناقص ذخیره میشود، قفل آزاد میشود، و یک نوبت تحویلنشده برگردانده میشود.
پاسخم در میانه راه متوقف شد. آیا هزینهای از من کم شد؟
یک شکست در میانه جریان اتصال را بدون هیچ رویداد خطای درونباند قطع میکند، و هر متنی که پیش از قطعی رسیده باشد نگه داشته میشود. اگر خودتان یک تولید را متوقف کنید، سرور خواندن از ارائهدهنده را لغو میکند، پاسخ ناقص را ذخیره میکند، و یک نوبت تحویلنشده را برمیگرداند. برای یک شکست تکرارشونده ارائهدهنده، در همان گفتگو به مدل دیگری تغییر دهید، چون این خطا بالادستتر از Whizi ریشه دارد. اگر چیزی که برمیگردد کد HTTP 500 با «Something went wrong. Please retry.» است، این بدنه عمومی برای یک خطای مدیریتنشده بکاند است نه مشکل مدل، پس یک بار دوباره بفرستید و اگر ادامه یافت گزارش دهید.
آیا بستن تب پاسخم را لغو میکند؟
نه، بهجز یک بازه باریک در همان ابتدای کار. اگر کلاینت پیش از تکمیل اتصال بالادست قطع شود، سرور «Generation aborted before it started.» را ثبت میکند و با کد HTTP 408 و بدنه خالی پاسخ میدهد، به همین دلیل آن درخواست بهنظر میرسد اصلاً چیزی برنگردانده است. پس از آن نقطه، پاسخ فراتر از کلاینت باقی میماند، چون تولید در یک Durable Object مخصوص هر گفتگو اجرا میشود و پاسخ همچنان ذخیره میشود. «The generation stream is unavailable.» وقتی صادر میشود که هماهنگکننده نمیتواند جریانی برای اتصال برگرداند، و بارگذاری مجدد گفتگو هرچه ذخیره شده را نشان میدهد.
Whizi میگوید پیام من از سقف 100,000 نویسه گذشته است. حالا چه کنم؟
یک پیام حداکثر 100,000 نویسه دارد و ردشدن با کد HTTP 400، کد message_too_long است. این شمارش کل پیام را میگیرد، از جمله متن استخراجشده از یک پیوست. درباره یک بخش در هر بار بپرسید، یا فایلی کوتاهتر پیوست کنید. وقتی متن استخراجشده از پیوست در بودجه پیام جا نشود، Whizi بهجای رد کردن آن را کوتاه میکند و به شما هشدار میدهد که فقط بخش نخست فرستاده شده است.