پاسخ کوتاه
Whizi هیچ کنترل regenerate ندارد و هیچ بخشی از worker چنین چیزی ارائه نمیکند. اجرای دوبارهی یک نوبت با ویرایش پیام خودتان و ارسال دوبارهی آن انجام میشود، که بهجای افزودن یک پاسخ دوم، پاسخ قبلی را جایگزین میکند و تلاش پیشین را بهصورت نسخهای ذخیره میکند که میتوانید به آن بازگردید.
کنترل ویرایش فقط روی پیامهای خودتان قرار دارد، هرگز روی پاسخ دستیار، و ارسال دوباره مانند یک نوبت معمولی و به نرخ همان مدلی که پاسخ میدهد هزینه دارد.
| چه میخواهید | Whizi چه دارد | کجا پیدا میشود |
|---|---|---|
| اجرای دوبارهی همان prompt | کنترل regenerate وجود ندارد | پیام را ویرایش کنید و دوباره ارسال کنید |
| اصلاح promptی که اشتباه نوشتهاید | ویرایش و ارسال دوباره | کنترل ویرایش روی پیامهای خودتان |
| مقایسهی پاسخ قدیمی با پاسخ جدید | فلشهای نسخه که مثل 2/2 نمایش داده میشوند | زیر همان نوبت ویرایششده |
| پاسخی متفاوت بدون تغییر متن | تغییر مدل در همان گفتگو | انتخابگر مدل |
ویرایش دقیقاً چه چیزی را تغییر میدهد
یک پیام ارسالشدهی کاربر را میتوان ویرایش و دوباره ارسال کرد، و پاسخی که پس از آن میآید بهجای اینکه زیر پاسخ قدیمی اضافه شود، جایگزین آن میشود.
هر ویرایش یک نسخه از آن نوبت میسازد، و فلشهای زیر آن مثل 2/2 نمایش داده میشوند. نکتهی مهم این است که یک نسخه دقیقاً شامل چه چیزی است. این فقط پیام ویرایششده نیست: بلکه آن پیام و هر پاسخی که پس از آن آمده را در بر میگیرد، بنابراین جابهجایی بین نسخهها کل دنبالهی گفتگو را عوض میکند، نه فقط یک حباب پیام.
این موضوع پیامدی دارد که افراد معمولاً غافلگیرکننده میبینند. ویرایش یک نوبت، تاریخچهی نسخههای هر نوبت بعد از آن را حذف میکند، چون آن نسخهها متعلق به گفتگویی هستند که دیگر وجود ندارد. اگر پیام سوم را دو بار ویرایش کرده باشید و سپس برگردید و پیام اول را ویرایش کنید، هر دو نسخهی پیام سوم هم از بین میروند.
نسخهها همچنین دلیل این هستند که دو شاخه از یک گفتگو نمیتوانند همزمان فعال بمانند، سوالی که در آیا میتوان یک گفتگو را fork کرد پاسخ داده شده است.
جابهجایی بین نسخهها یک عملیات سمت سرور است، نه یک سوییچ سمت کلاینت: این کار توسط POST /api/conversations/:id/versions انجام میشود و برای مدت انجام آن، قفل تولید (generation lock) را در اختیار میگیرد. Whizi در هر لحظه فقط یک تولید در هر حساب کاربری اجرا میکند، بنابراین جابهجایی نسخه و پاسخی که در حال تولید است نمیتوانند همزمان رخ دهند.
ارسال دوبارهی همان متن بدون تغییر، راه دومی برای رسیدن به پاسخ جدید نیست. همان متن پیام که اخیراً به همان گفتگو ارسال شده، بهعنوان تکراری رد میشود، بنابراین حتی در اصل هم امکان اجرای دوبارهی کلمات بدون تغییر وجود ندارد. این رد شدن همراه با بقیهی خطاهای ارسال در یک پیام ارسال نمیشود مستند شده است.
اجرای دوبارهی یک نوبت چقدر هزینه دارد
هیچ قیمتی برای regenerate وجود ندارد، چون اصلاً regenerateای وجود ندارد. ارسال دوباره یک نوبت معمولی است که به نرخ ثابت هر پیام، بر اساس همان مدلی که پاسخ میدهد، هزینهگذاری میشود.
هزینهی هر مدل بهصورت اعتبار، یک عدد صحیح و ثابت برای هر پیام است. طول پیام، طول گفتگو یا طول پاسخ هیچکدام در این محاسبه دخیل نیستند، بنابراین اجرای دوبارهی یک گفتگوی طولانی دقیقاً همان هزینهای را دارد که تلاش اول روی همان مدل داشت. حداقل هزینهی یک نوبت یک اعتبار است و به پایین گرد میشود، پس هیچگاه کمتر از یک اعتبار هزینه گرفته نمیشود.
ویرایش یک prompt پیش از ارسال، هیچ اعتباری هزینه ندارد، و تغییر مدلی که قرار است پیام را برایش بفرستید هم همینطور. هزینه فقط زمانی اعمال میشود که یک مدل پاسخ بدهد.
| اقدام | اعتبار |
|---|---|
| ویرایش متن یک پیام پیش از ارسال | هیچ |
| ارسال پیام ویرایششده | یک نوبت به نرخ مدل پاسخدهنده |
| متوقف کردن پاسخ در میانهی راه | بازگشت هزینه بهعنوان نوبتی که تحویل داده نشده |
همین بازگشت هزینه دلیلی است برای اصلاح زودهنگام بهجای دیرهنگام. تولیدی که شکست بخورد یا متوقف شود، با حذف ردیف مصرف، هزینهاش بازگردانده میشود، بنابراین پاسخی که در همان دو خط اول متوقف میکنید ارزانتر از پاسخی است که اجازه میدهید کامل شود و بعد دوباره اجرایش میکنید. نحوهی مدیریت توقف در سمت سرور در یک پیام ارسال نمیشود توضیح داده شده است.
استفاده از مدلی دیگر، راه دوم برای رسیدن به پاسخی متفاوت است، و آن نوبت به نرخ مدل جدید هزینهگذاری میشود، نه مدل قبلی. الگوهای مفید در این باره در تغییر مدل در میانهی گفتگو آمده است.
در یک پلن پولی، این هزینه از سهمیهی اعتبار همان دوره کسر میشود. حسابهای رایگان اصلاً سهمیهی اعتباری ندارند: آنها روز اول 7 پیام و سپس هر روز 3 پیام دریافت میکنند، و ارسال دوباره هم مثل هر پیام دیگری حساب میشود. مقیاس کامل و سهمیهی هر پلن در مرجع اعتبارها آمده است.
وقتی ویرایش یا جابهجایی نسخه با خطا مواجه میشود
وقتی خود ویرایش رد میشود، متنها و کدهای مربوط به آن همراه با بقیهی خطاهای ارسال در یک پیام ارسال نمیشود آمدهاند. متنهای زیر مربوط به فلشهای نسخه هستند و در هیچ جای دیگری ظاهر نمیشوند.
| چه میبینید | کد | علت |
|---|---|---|
That version is no longer available. Reload and try again. | 404 version_not_found | نسخهای که به آن جابهجا شدهاید بایگانی شده است |
A message position and a version number are required. | 400 invalid_version | درخواست جابهجایی نسخه فاقد یک توالی لنگر یا شمارهی نسخهی معتبر بوده است |
وبسایت عبارت خودش را برای جابهجایی ناموفق دارد: That version is no longer available. Reload the chat and try again. هر دو به یک معنا هستند و هر دو با بارگذاری دوبارهی گفتگو رفع میشوند.
Editing a message is not supported on this backend. زمانی نمایش داده میشود که ویرایشوارسالدوباره قرار باشد به backend قدیمی مسیر داده شود. کنترل ویرایش محدود شده تا کاربران عادی به آن نرسند.
- هیچ کنترل regenerateای در Whizi وجود ندارد، و worker هیچ مسیری پشت چنین گزینهای ندارد
- ویرایش و ارسال دوباره همان اجرای مجدد است: پاسخ جایگزین میشود، نه تکرار
- کنترل ویرایش فقط روی پیامهای خودتان ظاهر میشود
- یک نسخه شامل آن پیام بهعلاوهی هر پاسخی بعد از آن است، پس جابهجایی کل دنباله را عوض میکند
- ویرایش یک نوبت قدیمیتر، تاریخچهی نسخههای هر نوبت بعد از آن را حذف میکند
- ویرایش هیچ هزینهای ندارد؛ ارسال دوباره به نرخ مدل پاسخدهنده هزینه دارد
- تولیدی که متوقف شده، هزینهاش بهعنوان نوبتی که تحویل داده نشده بازگردانده میشود
- جابهجایی نسخه قفل تولید را میگیرد، پس نمیتواند وقتی پاسخی در حال تولید است اجرا شود
پرسشهای متداول
چطور میتوانم یک پاسخ را در Whizi regenerate کنم؟
نمیتوانید، به این معنا که دکمهای برای اجرای دوبارهی همان prompt وجود ندارد. معادل آن این است که پیام خودتان را ویرایش کنید و دوباره ارسال کنید، که بهجای افزودن یک پاسخ دوم، پاسخ قبلی را جایگزین میکند. ارسال دوبارهی همان کلمات بدون تغییر هم راهحل نیست: همان متنی که اخیراً به همان گفتگو ارسال شده با HTTP 409 duplicate_message برمیگردد، پس تنها راه رسیدن به تلاش دوم، تغییر prompt یا استفاده از مدلی دیگر است.
آیا میتوانم پیامی را که قبلاً فرستادهام ویرایش کنم؟
بله، روی پیامهایی که خودتان فرستادهاید. پاسخهای دستیار هیچ کنترل ویرایشی ندارند، پس چیزی برای فشردن روی خود پاسخ وجود ندارد، و پاسخ زیر پیام ویرایششده جایگزین میشود نه اینکه با یک پاسخ دوم همراه شود. همین مسیر ویرایش در مسیر خلاقانه (رسانه) هم وجود دارد، جایی که یک شناسهی پیام قدیمی با همان خطای 404 که ویرایش متن میگیرد شکست میخورد. اینکه یک نسخه دقیقاً چه چیزی را در بر دارد و ویرایش چه بخشی از تاریخچه را حذف میکند، در بخش «ویرایش دقیقاً چه چیزی را تغییر میدهد» توضیح داده شده است.
آیا اجرای دوبارهی یک نوبت اعتبار مصرف میکند؟
ویرایش متن هیچ هزینهای ندارد، چون هزینه فقط زمانی اعمال میشود که یک مدل پاسخ بدهد. ارسال دوباره یک نوبت معمولی است به نرخ ثابت هر پیام، بر اساس همان مدلی که پاسخ میدهد، بدون هیچ قیمت جداگانهای برای اجرای دوباره، و حداقل آن یک اعتبار است. اگر موجودی باقیمانده کافی نباشد، کل نوبت رد میشود نه اینکه بخشی از آن هزینهگذاری شود.
آیا با ویرایش، پاسخ اصلی را از دست میدهم؟
برای همان نوبت، نه. تلاش قبلی نگه داشته میشود و فلشها بین آن دو حرکت میکنند. اما پایینتر در گفتگو، بله: ویرایش، نسخههای ذخیرهشدهی هر نوبت زیر آن را حذف میکند. اگر شاخهها برایتان مهم هستند برعکس عمل کنید، یعنی قدیمیترین پیام را آخر ویرایش کنید، و پیش از دستزدن به پیامی بالاتر، هر چیزی از شاخهی پایینتر که میخواهید نگه دارید را کپی کنید.
معنای «That version is no longer available. Reload and try again.» چیست؟
HTTP 404 با کد version_not_found. شما به نسخهای از پیام رفتهاید که بایگانی شده، پس دیگر چیزی برای نمایش وجود ندارد. گفتگو را دوباره بارگذاری کنید تا فلشها از روی چیزی که واقعاً ذخیره شده بازسازی شوند. اگر متنی که گرفتهاید «Reload the chat» باشد، این پیام همان toast وبسایت برای همین خطا است و معنای یکسانی دارد.
آیا میتوانم بدون ویرایش چیزی، پاسخی متفاوت بگیرم؟
بله، با ارسال آن روی مدلی دیگر در همان گفتگو. گفتگو با شما میآید و آن نوبت به نرخ مدل جدید هزینهگذاری میشود. نکتهای که باید مراقبش باشید پلن شماست: انتخاب مدلی بالاتر از سطح شما بهجای پاسخ، HTTP 403 tier_upgrade_required همراه با «Upgrade your plan to use this model.» برمیگرداند.