تاريخ النشر: 13 يناير 2025
هذه هي الحلقة الأخيرة من سلسلة مؤلّفة من ثلاثة أجزاء حول برامج الدردشة المستندة إلى النماذج اللغوية الكبيرة. ناقشت المقالات السابقة قوة النماذج اللغوية الكبيرة من جهة العميل، وقدّمت لك خطوات إضافة روبوت دردشة يستند إلى WebLLM إلى تطبيق قائمة مهام.
تتضمّن بعض الأجهزة الأحدث نماذج لغوية كبيرة ونماذج أخرى للذكاء الاصطناعي مباشرةً على الجهاز. اقترح Chrome دمج واجهات برمجة تطبيقات الذكاء الاصطناعي المضمّنة في المتصفّح، مع عدد من واجهات برمجة التطبيقات في مراحل تطوير مختلفة. تخضع العديد من واجهات برمجة التطبيقات هذه لعملية وضع المعايير، حتى تتمكّن المواقع الإلكترونية من استخدام التنفيذ والنموذج نفسهما لتحقيق أقصى أداء للاستدلال.
Prompt API هي إحدى واجهات برمجة التطبيقات المستندة إلى الذكاء الاصطناعي. لاستخدام هذه الميزة، ننصح المطوّرين بالاشتراك في برنامج "النسخة المبكرة الحصرية". بعد قبول الدعوة، ستتلقّى تعليمات حول كيفية تفعيل Prompt API في المتصفّحات. تتوفّر واجهة برمجة التطبيقات Prompt API في مرحلة تجربة وتقييم لإضافات Chrome، ما يتيح لك اختبارها مع مستخدمي الإضافات الفعليين.
الوصول إلى النماذج المشترَكة
تعمل Prompt API بشكل مشابه لـ WebLLM. ومع ذلك، لا يتوفّر خيار تحديد النموذج في هذه المرحلة (عليك استخدام نموذج اللغة الكبير الذي يأتي مع المتصفّح). عند تفعيل الذكاء الاصطناعي المضمَّن، ينزّل Chrome Gemini Nano إلى المتصفّح. ويمكن بعد ذلك مشاركة هذا النموذج على مستوى مصادر متعدّدة وتشغيله بأعلى مستوى من الأداء. هناك مشكلة على GitHub طلب فيها أحد المطوّرين إضافة ميزة لاختيار النموذج.
إعداد المحادثة
يمكنك بدء محادثة الرسائل بالطريقة نفسها تمامًا، ولكن توفّر واجهة برمجة التطبيقات Prompt API أيضًا صيغة مختصرة لتحديد طلب النظام. ابدأ جلسة نموذج اللغة باستخدام طريقة create() في واجهة LanguageModel:
const session = await LanguageModel.create({
initialPrompt: [
{
type: 'system',
content: `You are a helpful assistant. You will answer questions related
to the user's to-do list. Decline all other requests not related to the
user's todos. This is the to-do list in JSON: ${JSON.stringify(todos)}`,
},
],
});
الإجابة عن سؤالك الأول
بدلاً من استخدام عنصر إعدادات لضبط عملية البث، توفّر واجهة برمجة التطبيقات Prompt طريقتَين منفصلتَين:
- تعرض الدالة
prompt()السلسلة الكاملة - تعرض
promptStreaming()تكرارًا غير متزامن. على عكس WebLLM، تستجيب Prompt API بسلسلة الرد الكاملة، لذا لن تحتاج إلى دمج النتائج بنفسك.
إذا لم يسبق لأي مصدر آخر أن أدّى إلى تنزيل النموذج، قد يستغرق طلبك الأول وقتًا طويلاً جدًا أثناء تنزيل Gemini Nano في متصفّحك. إذا كان النموذج متاحًا، ستبدأ عملية الاستدلال على الفور.
const stream = session.promptStreaming("How many open todos do I have?");
for await (const reply of stream) {
console.log(reply);
}

عرض توضيحي
ملخّص
يمكن أن يؤدي دمج النماذج اللغوية الكبيرة في التطبيقات إلى تحسين تجربة المستخدم بشكل كبير. في حين أنّ الخدمات المستندة إلى السحابة الإلكترونية توفّر نماذج عالية الجودة وأداء استنتاج عاليًا بغض النظر عن جهاز المستخدم، فإنّ الحلول التي تعمل على الأجهزة، مثل WebLLM وPrompt API من Chrome، يمكن استخدامها بلا إنترنت، وتساهم في تحسين الخصوصية، وتوفير التكاليف مقارنةً بالبدائل المستندة إلى السحابة الإلكترونية. جرِّب واجهات برمجة التطبيقات الجديدة هذه واجعل تطبيقات الويب أكثر ذكاءً.