ملعب دردشة Chrome AI Prompt
اختبر واجهة برمجة التطبيقات التجريبية المدمجة في Chrome للـ Prompt API (LanguageModel) مباشرة في متصفحك. أرسل prompts إلى Gemini Nano على الجهاز، وقم بتكوين نموذج النظام ومعاملات أخذ العينات، وراقب الاستجابات تتدفق في الوقت الفعلي، وراقب استخدام تنزيل النموذج ونافذة السياق — بدون الحاجة إلى خادم.
ملف القراءة
ما هو Prompt API؟
Prompt API هو اقتراح منصة ويب تجريبي من مجموعة W3C Web Machine Learning Community Group يكشف نموذج لغة كبير يوفره المتصفح إلى JavaScript من خلال واجهة window.LanguageModel. تنشئ الصفحات جلسة باستخدام LanguageModel.create()، وتقوم بتكوينها بشكل اختياري باستخدام نص تعليمات النظام، ثم تستدعي prompt() أو promptStreaming() للحصول على استجابة.
بخلاف استدعاء API نموذج لغة مستضاف، يعمل النموذج على جهاز المستخدم. هذا يعني أن المدخلات لا تترك الجهاز أبداً، وتعمل الصفحة بدون اتصال بالإنترنت بمجرد تخزين النموذج مؤقتاً، وليس هناك تكاليف لكل طلب. في Chrome، النموذج الأساسي هو Gemini Nano، لكن API مصمم بقصد ليكون غير متعلق بالنموذج حتى تتمكن المتصفحات الأخرى من إدراج تطبيقات مختلفة.
الجلسة حالتها ثابتة: تتتبع سجل المحادثة ضمن نافذة السياق المقاسة بالرموز. عندما تمتلئ النافذة، يتم حذف أقدم الرسائل غير المتعلقة بالنظام تلقائياً (يتم تشغيل حدث contextoverflow)، ويمكنك فحص session.contextUsage و session.contextWindow في أي وقت لترى كم من المساحة المتبقية.
وصف الأداة
ملعب هذا هو سطح دردشة تفاعلي متصل بـ window.LanguageModel. يتيح لك تعيين نص تعليمات النظام، وإرسال الرسائل، ومراقبة النموذج وهو يرسل الرموز في الوقت الفعلي. يعرض شريط التقدم توفر النموذج وتقدم التنزيل، وشريط استخدام الرموز يبلغ عن مقدار نافذة السياق للجلسة التي يتم استهلاكها.
يتم إنشاء الجلسة بكسل على الإرسال الأول وإعادة استخدامها عبر الرسائل حتى تغير نص تعليمات النظام، وفي هذه الحالة يتم حذفها وإنشاء جلسة جديدة بالتعليمات الجديدة.
الميزات
- استجابات البث — تستخدم
promptStreaming()بحيث تظهر الرموز في الدردشة عند إنتاجها. - محرر نص تعليمات النظام — حدد دوراً أو سلوكاً دائماً يشرط كل استجابة.
- زر الإيقاف — أوقف موجه قيد الطيران باستخدام
AbortControllerدون تفكيك الجلسة. - استخدام السياق المباشر — يصور
contextUsageمقابلcontextWindowحتى تتمكن من رؤية متى تكون المحادثة على وشك الامتلاء. - توفر النموذج وتقدم التنزيل — يعرض حالة
availability()وأحداثdownloadprogressأثناء جلب النموذج.
حالات الاستخدام
- تجربة الموجهات محلياً — كرر نصوص تعليمات النظام والأنماط قليلة الطلقات دون دفع تكاليف API سحابي.
- اختبار جدوى الذكاء الاصطناعي على الجهاز — تحقق من توفر Prompt API، وشاهد حجم نافذة السياق، وقيس سرعة الاستجابة على أجهزتك.
- الصياغة الحساسة للخصوصية — قم بالعصف الذهني أو إعادة صياغة النصوص التي لا يجب إرسالها إلى خادم طرف ثالث.
المتطلبات
- متصفح ينفذ Prompt API. Chrome 138+ يعرضه بشكل تجريبي؛ في الإصدارات الأقدم قد تحتاج إلى تفعيله عبر
chrome://flags/#prompt-api-for-gemini-nanoوتحميل النموذج على الجهاز. - سياق آمن (HTTPS أو
localhost). - جهاز يلبي متطلبات الأجهزة للنموذج (مساحة قرص كافية، ذاكرة وصول عشوائي، و GPU/CPU مدعوم). على الأجهزة غير المدعومة،
availability()يرجعunavailable. - عرض النطاق الترددي الأولي لتنزيل النموذج. تعيد الجلسات اللاحقة استخدام النموذج المخزن مؤقتاً.
كيف يعمل
- عند التحميل، تتحقق الأداة من
typeof window.LanguageModel. إذا كانت غائبة، يحل تحذير محل إدخال الدردشة. LanguageModel.availability()يبلغ عن أحدavailableأوdownloadableأوdownloadingأوunavailable. يتم عرض النتيجة في شريط التقدم.- في المرة الأولى التي تضغط فيها على إرسال، تستدعي الأداة
LanguageModel.create()باستخدامmonitorيرسل أحداثdownloadprogressإلى واجهة المستخدم. إذا تم تعيين نص تعليمات النظام، يتم تمريره عبرinitialPrompts: [{ role: "system", content: ... }]. - يتم إرسال رسالة المستخدم من خلال
session.promptStreaming(text, { signal }). يتم استهلاكReadableStream<string>المرجع قطعة تلو الأخرى وإضافته إلى رسالة المساعد. - بعد كل استجابة، يتم قراءة
session.contextUsageوsession.contextWindowوعكسهما في شريط استخدام الرموز. - الضغط على إيقاف يستدعي
controller.abort()، الذي يرفض البث قيد الطيران برسالةAbortErrorمع الحفاظ على الجلسة حية للموجه التالي. - تحرير نص تعليمات النظام يبطل الجلسة المخزنة مؤقتاً: يتم
destroy()الجلسة الموجودة والإرسال التالي ينشئ جلسة جديدة بالتعليمات المحدثة.
شرح الخيارات
- نص تعليمات النظام — تعليمات حرة الشكل يتم تمريرها كأول رسالة بدور
system. يشرط جميع الأدوار اللاحقة. تركها فارغة ينشئ جلسة بدون رسالة نظام. - إرسال / إيقاف — إرسال يرسل الإدخال كرسالة
user. إيقاف يوقف استجابة البث دون حذف الرسائل السابقة. - استخدام الرموز —
used / totalرموز للجلسة الحالية. عندما يقتربusedمنtotal، سيتم حذف أزواج المستخدم/المساعد الأقدم على الموجه التالي. - حالة النموذج — قراءة مدمجة لـ
availability()وdownloadprogress. أثناء تنزيل النموذج، يتحرك الشريط ويعرض نسبة مئوية.
القيود
- Prompt API تجريبي. قد تتغير أسماء الطرق والخيارات (مثل
inputUsageمقابلcontextUsage) وعلم الأحداث بين إصدارات Chrome. - جودة الإخراج والحقائق واتباع التعليمات تعتمد بالكامل على النموذج الذي يوفره المتصفح وليست مضمونة.
- نافذة السياق صغيرة مقارنة بـ LLMs المستضافة. ستؤدي المحادثات الطويلة إلى امتلاء وحذف الأدوار الأولى بصمت.
- API غير معرض لعمال الويب وقد يتطلب تفويض Permissions Policy (
language-model) على iframes عبر الأصول. - لا تعرض هذه الأداة بقصد
temperatureأوtopKأو استخدام الأدوات أو المدخلات متعددة الوسائط أو الإخراج المنظم (responseConstraint) أو استنساخ الجلسة. إنها جزء من المواصفات لكن تم إبقاؤها خارج الملعب للبقاء مركزة على الدردشة العادية.
الأسئلة الشائعة
لماذا يقول أن API غير مدعوم؟
window.LanguageModel غير محدد في متصفحك. جرب أحدث Chrome على سطح المكتب وإذا لزم الأمر، فعّل علم Prompt API وانتظر تنزيل النموذج على الجهاز عبر chrome://components.
لماذا تكون الاستجابة الأولى بطيئة؟ قد يؤدي الاستدعاء الأول إلى تنزيل نموذج (راقب شريط التقدم) وخطوة إنشاء جلسة. تعيد الموجهات اللاحقة استخدام نفس الجلسة وتبدأ البث تقريباً على الفور.
هل يترك موجهي الجهاز؟ لا. يعمل النموذج محلياً. لا يتم إرسال نصك إلى أي خادم بواسطة هذه الأداة.
ماذا يحدث عندما يمتلئ السياق؟
تطلق الجلسة حدث contextoverflow وتحذف أقدم الأدوار غير المتعلقة بالنظام لإفساح المجال. يتم الحفاظ على نص تعليمات النظام.
لماذا أدى تغيير نص تعليمات النظام إلى مسح نمط الاستجابة في منتصف المحادثة؟ يؤدي تحرير نص تعليمات النظام إلى حذف الجلسة الحالية وإنشاء جلسة جديدة على الإرسال التالي. الجلسة الجديدة ليس لديها ذاكرة للأدوار السابقة.