تاريخ النشر: 13 كانون الثاني (يناير) 2025
هذه المقالة هي الأخيرة في سلسلة مكوّنة من ثلاثة أجزاء عن برامج المحادثة المستندة إلى النماذج اللغوية الكبيرة. ناقشت المقالات السابقة فعالية النماذج اللغوية الكبيرة من جهة العميل وشرحت لك كيفية إضافة محادثة آلية مستندة إلى WebLLM إلى تطبيق قائمة المهام.
يتم شحن بعض الأجهزة الأحدث مع نماذج لغوية كبيرة ونماذج أخرى للذكاء الاصطناعي على الجهاز مباشرةً. اقترح Chrome دمج واجهات برمجة التطبيقات المدمجة المستندة إلى الذكاء الاصطناعي في المتصفّح، مع عدد من واجهات برمجة التطبيقات في مراحل تطوير مختلفة. تخضع العديد من واجهات برمجة التطبيقات هذه لعملية وضع المعايير، حتى تتمكّن المواقع الإلكترونية من استخدام التنفيذ والنموذج نفسهما لتحقيق أفضل أداء للاستنتاج.
وتعدّ Prompt API إحدى واجهات برمجة التطبيقات هذه المستندة إلى الذكاء الاصطناعي. لاستخدام هذه الميزة، ننصح المطوّرين بالتسجيل في برنامج المعاينة المبكّرة. بعد الموافقة، ستصلك تعليمات حول كيفية تفعيل Prompt API في المتصفّحات. تتوفّر واجهة برمجة التطبيقات Prompt API في مرحلة تجربة الإصدار الأول لإضافات Chrome، بحيث يمكنك اختبار هذه الواجهة لمستخدمي الإضافات الفعليين.
الوصول إلى النموذج المشترَك
تعمل واجهة برمجة التطبيقات Prompt API بالطريقة نفسها التي تعمل بها WebLLM. ومع ذلك، لا تتوفّر إمكانية اختيار نموذج هذه المرة (عليك استخدام نموذج LLM المضمّن في المتصفّح). عند تفعيل ميزات الذكاء الاصطناعي المدمجة، نزِّل Chrome Gemini Nano في المتصفّح. ويمكن بعد ذلك مشاركة هذا النموذج على مستوى مصادر متعددة وتشغيله مع تحقيق أفضل أداء. هناك مشكلة على GitHub طلب فيها أحد المطوّرين إضافة ميزة اختيار النموذج.
إعداد المحادثة
يمكنك بدء محادثة الرسائل بالطريقة نفسها تمامًا، ولكن يوفّر Prompt API
أيضًا بنية اختصارية لتحديد طلب النظام. ابدأ جلسة create()
النموذج باستخدام الطريقة create()
في الموقع الإلكتروني self.ai.languageModel
:
const session = await self.ai.languageModel.create({
systemPrompt: `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 API طريقتَين منفصلتَين:
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، يمكن استخدامها بلا اتصال بالإنترنت، كما أنّها تحسّن الخصوصية وتوفر التكلفة مقارنةً بالبدائل المستندة إلى السحابة الإلكترونية. جرِّب واجهات برمجة التطبيقات الجديدة هذه واجعل تطبيقات الويب أكثر ذكاءً.