שימוש ב-SLM מסוג ג׳מיני נאנו על דפדפן כרום

מנוע בינה מלאכותית שרץ בצד הלקוח על הדפדפן. זה לא מדע בדיוני וזה קורה גם בפיירפוקס וגם בכרום.

כולנו מכירים מודלי שפה גדולים כמו ChatGPT, קלוד, ג׳מיני, גרוק, דיפסיק וחבריהם. המודלים האלו הם מודלי שפה גדולים שעולים המון כסף לאימון וכן צריכים לרוץ על מחשבים חזקים. במקרה הטוב, אפשר להריץ את חלקם על ollama (כתבתי כאן על הרצה מקומית של מודלי שפה, במקרה הזה על רספברי פיי). אבל מה שמעניין ויפה הוא שאפשר להריץ מודל שפה מקומית על דפדפן כרום. כרגע (והדגש הוא כרגע) צריך להפעיל הגדרות מסוימות על מנת לגרום לו לפעול, אבל אפשר כבר להערך לעולם החדש הזה של בינה מלאכותית על הדפדפן שלא יוצאת החוצה ויכולה לרוץ בקונקטסט של ג׳אווהסקריפט ולעבוד יפה.

אזהרה ⚠️ – כדאי לשים לב שה-API המוזכר פה הוא ניסיוני ועלול להשתנות. אם משהו לא עובד, אנא העזרו בגוגל (לא בטוח ש-LLM יעזור לכם כי המידע שיש לו הוא לא הכי חדש) וקחו הרבה אויר.

הפעלה

כרגע (ושוב, הדגש הוא על כרגע) יש לבצע את הפעולות השונות על דפדפן כרום כדי לגרום לבינה המלאכותית להיות זמינה. בעתיד בוודאי יהיו הרשאות שונות שיהיה צורך באישור שלהן.

יש להכנס אל דף ההגדרות דרך chrome://flags/#optimization-guide-on-device-model ולסמן את ההגדרות הבאות:

 Enables optimization guide on device ולסמן אותה כ-Enabled BypassPerfRequirement

ההגדרה chrome://flags/#prompt-api-for-gemini-nano ולסמן אותה כ Enabled

עכשיו נפתח ונסגור את הדפדפן. זה שלב קריטי.

השלב הבא הוא להכנס אל chrome://components ולחפש Optimization Guide On Device Model – אם הוא לא מופיע לכם, אנא הפעילו את כרום מחדש. במידה והוא כן מופיע, יש ללחוץ על Check for update ולהמתין פרק זמן מסוים עד שיופיע Up-to-date

הכל מוכן?
אפשר לעבוד עם ה-API. צריך לזכור שהכל ניסיוני וחדש בזמן כתיבת שורות אלו, כל ה-API מתואר בקישור הזה והוא עדיין לא סופי.

כדי לבדוק שהכל עובד, אנא הקלידו:

const {available, defaultTemperature, defaultTopK, maxTopK } = await ai.languageModel.capabilities();
console.log(available);

אם אתם רואים readiliy – אפשר להתחיל לעבוד! אפשר גם לבדוק את שאר הארגומנטים שם אם אתם רוצים, הם גם מעניינים.

אז אם זה עובד לכם ואתם רק רוצים להתנסות במודל אז שווה לנסות ממש בחי את האתר https://chrome.dev/web-ai-demos/prompt-api-playground -הוא קוד ג׳אווהסקריפט שמדמה חלון צ׳אט שנראה ממש כמו ChatGPT ואפשר להתכתב עם המודל – רק שלא יוצא החוצה. תפתחו נטוורק ותראו 🙂 והאמת היא שהמודל הזה בכלל לא רע.

אם אתם רוצים להריץ אותו בקונסולה שלכם – בואו ותיקחו את הקוד הזה לסיבוב:

  const session = await ai.languageModel.create();

  // Prompt the model and wait for the whole result to come back.  
  const result = await session.prompt("Write me a poem");
  console.log(result);

אפשר ליצור גם system prompt, למשל:

const session = await ai.languageModel.create({
  systemPrompt: "Pretend to be an a plant"
});
await session.prompt('Do you like sunshine?');

יש לא מעט יכולות לג׳מיני. אני למשל יכול להשתמש ב-API שלו כדי לתקצר טקסט, כדי להפעיל את היכולת המתקדמת הזו, אני צריך להכנס ולהפעיל את ההגדרהSummarization API for Gemini Nano שנמצאת ב-chrome://flags/#summarization-api-for-gemini-nano והגדרה שלו כ enabled.

אפשר להתנסות בו באתר הדמו הזה.

אפשר להשתמש בו למשל גם כמתרגם. נכון לשניה הזו הוא לא תומך בעברית out of the box אבל אפשר להשתמש בו לתרגום לשפות אחרות. צריכים להפעיל את האפשרות לתרגום באמצעות כניסה אל chrome://flags/#translation-api והפעלת Experimental translation API.

אחרי כן יש להפעיל מחדש את כרום ונריץ את הקוד הזה – אם הוא מדפיס את ההודעה? אנחנו מוכנים.

if ('ai' in self && 'translator' in self.ai) {
    console.log('The Translator API is supported.')
}

אחרי זה, אפשר להכנס כדי להתנסות לאפליקציה הזו. אפשר גם להריץ את הקוד כדי לתרגם מאנגלית לספרדית למשל. כרגע לא כל צמד שפות ניתנות לשימוש. אבל הדגש הוא על כרגע.

const translator = await self.ai.translator.create({
  sourceLanguage: 'en',
  targetLanguage: 'es',
});
await translator.translate('I have 3 items for sale');

יש עוד התפתחויות ושינויים קורים באופן מאד תכוף – יש סיכוי יותר מגבוה שהפוסט הזה יתיישן במהירות. מה שצריך להדריך אתכם הוא הדוקומנטציה של ה-API שזמינה פה ואמורה להתעדכן באופן תכוף.

פיירפוקס

גם פיירפוקס לא טמנו ידם בצלחת והשיקו, באופן ניסיוני, את המערכת שלהם שמבוססת על Transformers.js. מטבע הדברים, היכולת שלו היא יותר מוגבלת, אבל זה מראה את הכיוון וכדאי עכשיו להתחיל לחשוב על AI בסביבת דפדפן שיכול להיות בסיס להרבה מוצרים ולהעשרת מוצרים ואתרים קיימים.

פוסטים נוספים שכדאי לקרוא

גלילה לראש העמוד