در بسیاری از برنامهها بخش بزرگی از پرامپت در هر درخواست یکسان است: پرامپت سیستم، مجموعهی قوانین یا یک سند مرجع. اگر ارائهدهنده بتواند نتیجهی پردازش آن بخش را نگه دارد، در درخواست بعدی بهجای پردازش دوباره، از نتیجهی ذخیرهشده استفاده میشود.
نتیجه معمولاً دو چیز است: توکنهای کششده با نرخ ارزانتر شمرده میشوند و زمان پاسخ کمتر میشود. شرط اصلی این است که بخش تکراری در ابتدای پرامپت و دقیقاً یکسان باشد؛ هر تغییر کوچک در ابتدا، کش را بیاثر میکند.
قواعد جزئی (حداقل طول، مدت نگهداری، نحوهی فعالسازی) به ارائهدهنده و مدل بستگی دارد و تغییر میکند؛ باید به مستندات خودش مراجعه کنید.
مثال کاربردی
یک دستیار داخلی همیشه با یک راهنمای ۳۰ صفحهای سیاستهای شرکت شروع میشود. اگر این راهنما ابتدای پرامپت و بدون هیچ تغییری باشد و سرویس کش را پشتیبانی کند، از درخواست دوم به بعد بخش تکراری ارزانتر شمرده میشود. اگر تاریخ امروز را اول پرامپت بنویسید، کش هر روز از نو شروع میشود.
چطور در عمل بررسی کنیم؟
بهترین راه یادگرفتن این مفهوم، دیدن آن در یک درخواست واقعی است. یک کلید بسازید، فهرست مدلها را با /v1/models بگیرید، یک درخواست کوچک بفرستید و فیلدهای پاسخ (از جمله usage و finish_reason) را بخوانید. سپس همان درخواست را با پارامتر یا مدل دیگر تکرار و در داشبورد مصرف و هزینه را مقایسه کنید. نمونههای آماده در راهنمای cURL و راهنمای پایتون هست.
اصطلاحات نزدیک
- توکن: توکن کوچکترین واحد متنی است که مدل زبانی پردازش میکند؛ میتواند یک کلمه، بخشی از کلمه یا یک نویسه باشد و هزینه و محدودیتها بر پایهی آن سنجیده میشود.
- پرامپت سیستم: System Prompt دستورالعمل اولیهای است که نقش، لحن، قوانین و محدودیتهای مدل را برای کل گفتگو تعیین میکند.
- تأخیر: Latency زمان بین ارسال درخواست و دریافت پاسخ است؛ در مدلهای زبانی معمولاً با «زمان تا اولین توکن» و «سرعت تولید» سنجیده میشود.
- پنجرهی زمینه: پنجرهی زمینه حداکثر تعداد توکنی است که مدل در یک درخواست میتواند همزمان ببیند؛ شامل پرامپت، تاریخچه و پاسخ.
در پیکو هوش
نرخ ورودی کششده، در صورت پشتیبانی مدل، در جدول قیمت آمده است. شرایط دقیق را در صفحهی قیمتها و مستندات بررسی کنید.
اشتباهات رایج
- قرار دادن بخش متغیر (مثل تاریخ یا نام کاربر) در ابتدای پرامپت و از بین رفتن کش.
- فرض اینکه کش برای همهی مدلها یکسان کار میکند.
پرسشهای متداول
پرامپت کش با کش پاسخ فرق دارد؟
بله؛ پرامپت کش بخشی از پردازش ورودی را ذخیره میکند، ولی کش پاسخ کل خروجی را برای ورودی یکسان نگه میدارد.
چطور از آن بیشتر استفاده کنم؟
بخش ثابت را اول و بخش متغیر را در انتها قرار دهید.
پرامپت کش در پیکو هوش چه نقشی دارد؟
نرخ ورودی کششده، در صورت پشتیبانی مدل، در جدول قیمت آمده است. شرایط دقیق را در صفحهی قیمتها و مستندات بررسی کنید.
از تعریف تا عمل
ثبتنام کنید، یک کلید بسازید و مفهوم را روی مدل واقعی امتحان کنید.