תחילת העבודה עם AI מובנה

Alexandra Klepper
Alexandra Klepper

פורסם: 12 בדצמבר 2024, עדכון אחרון: 20 במאי 2025

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

דרישות

כדי להשתמש ב-AI מובנה, יש דרישות לגבי המודל והחומרה.

דגמים

ממשקי ה-API של Translator ו-Language Detector משתמשים במודלים מומחים. כל שאר ממשקי ה-API משתמשים במודל שפה שנועד לפעול באופן מקומי במחשבים ניידים ושולחניים.

‫Summarizer API,‏ Writer API,‏ Rewriter API ו-Proofreader API תומכים רק במודאליות של טקסט לטקסט. ל-Prompt API יש יכולות של multimodal.

‫Gemini Nano ב-Chrome

‫Chrome משתמש במודלים של שפה של Gemini Nano. ‫Gemini Nano לא זמין במכשירים ניידים.

החל מגרסה Chrome 140,‏ Gemini Nano תומך באנגלית, בספרדית וביפנית לקלט ולפלט של טקסט.

לפני שמשתמשים בממשקי ה-API המובנים של AI, צריך לאשר את המדיניות של Google בנושא שימוש אסור ב-AI גנרטיבי.

חומרה

הדרישות הבאות חלות על מפתחים ועל משתמשים שמפעילים תכונות באמצעות ממשקי ה-API האלה ב-Chrome. בדפדפנים אחרים עשויות להיות דרישות הפעלה שונות.

ממשקי ה-API של כלי זיהוי השפה והתרגום פועלים ב-Chrome במחשב. ממשקי ה-API האלה לא פועלים במכשירים ניידים. ממשקי ה-API של ההנחיות, הסיכום, הכתיבה, השכתוב וההגהה פועלים ב-Chrome כשמתקיימים התנאים הבאים:

  • מערכת הפעלה: Windows 10 או 11;‏ macOS 13 ואילך (Ventura ואילך); Linux; או ChromeOS (מגרסה Platform 16389.0.0 ואילך) במכשירי Chromebook Plus. ‫Chrome ל-Android, ל-iOS ול-ChromeOS במכשירים שאינם Chromebook Plus עדיין לא נתמך על ידי ממשקי ה-API שמשתמשים ב-Gemini Nano.
  • אחסון: לפחות 22 GB של שטח פנוי בכרך שמכיל את פרופיל Chrome.
  • GPU או CPU: מודלים מוטמעים יכולים לפעול עם GPU או CPU.
    • מעבד גרפי (GPU): יותר מ-4 GB של VRAM.
    • יחידת עיבוד מרכזית (CPU): זיכרון RAM של 16 GB או יותר ו-4 ליבות CPU או יותר.
  • רשת: נתונים ללא הגבלה או חיבור ללא מדידה.

הגודל המדויק של Gemini Nano עשוי להשתנות כשהדפדפן מעדכן את המודל. כדי לדעת מה הגודל הנוכחי, אפשר לעבור אל chrome://on-device-internals.

אחרי שתעמדו בדרישות.

אני רוצה להתחיל לפתח

יש כמה ממשקי API מובנים של AI שזמינים בשלבי פיתוח שונים. חלק מהתכונות האלה נמצאות בגרסה היציבה של Chrome, חלקן זמינות למשתתפים בניסויים של תכונות חדשות, וחלקן זמינות רק למשתתפים בתוכנית Early Preview.

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

אפשר להשתמש בכל ממשקי ה-API האלה כשמפתחים תוספים ל-Chrome.

הורדת המודל

ממשקי ה-API מובנים ב-Chrome, וכך גם המודלים. בפעם הראשונה שמשתמש מקיים אינטראקציה עם ממשקי ה-API האלה, צריך להוריד את המודל לדפדפן.

כדי לקבוע אם אפשר להשתמש ב-API, מפעילים את הפונקציה האסינכרונית availability(), שמחזירה אובייקט promise עם אחד מהערכים הבאים:

  • "unavailable": המכשיר של המשתמש או האפשרויות המבוקשות לסשן לא נתמכים. יכול להיות שאין מספיק חשמל או מקום אחסון פנוי במכשיר.
  • "downloadable": נדרשים הורדות נוספות כדי ליצור סשן, שיכול לכלול מודל מומחה, מודל שפה או כוונון עדין. יכול להיות שתידרש הפעלת משתמש כדי להתקשר אל create().
  • "downloading": ההורדות מתבצעות וצריכות להסתיים לפני שתוכלו להשתמש בסשן.
  • "available": אפשר ליצור סשן באופן מיידי.

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

// Makes sure the model is available for English and Japanese.
await LanguageModel.availability({ languages: ["en", "ja"] });

הפעלת משתמש

אם המכשיר תומך בממשקי API מובנים של AI, אבל המודל עדיין לא הורד, המשתמש צריך לבצע אינטראקציה משמעותית עם הדף כדי שהאפליקציה תתחיל סשן עם create().

משתמשים במאפיין UserActivation.isActive כדי לוודא שהמשתמש יצר אינטראקציה ישירה עם הדף מאז שהדף סיים להיטען. הפעולות האלה יכולות לכלול הקשה, קליק, הקשה על מקש, mousedown או אירועי הפעלה דביקים אחרים.

// Check for user activation.
if (navigator.userActivation.isActive) {
  // Create an instance of a built-in API
}

לדוגמה, באמצעות Summarizer API, אפשר לבקש מהמשתמשים ללחוץ על לחצן עם הכיתוב 'סיכום' כדי להפעיל את Summarizer.create(), או ליצור את הסיכום ברגע שהמשתמש מתחיל להקליד, כלומר אירוע keydown.

שימוש בממשקי API ב-localhost

כל ממשקי ה-API זמינים ב-localhost ב-Chrome.

  1. לעבור אל chrome://flags/#optimization-guide-on-device-model.
  2. בוחרים באפשרות מופעל.
  3. לוחצים על הפעלה מחדש או מפעילים מחדש את Chrome.

בממשקי API שמשתמשים ב-Gemini Nano, צריך להגדיר את chrome://flags/#prompt-api-for-gemini-nano לערך Enabled או לערך Enabled multilingual. אפשר לוודא שהמודל הורד ושהוא פועל כמצופה ב-DevTools Console. מריצים את הפקודה await LanguageModel.availability(); במסוף.

פתרון בעיות ב-localhost

אם הדגלים לא מופיעים ב-chrome://flags, צריך לוודא שהורדתם את הגרסה העדכנית של Chrome.

אם המודל לא פועל כצפוי, אפשר לנסות את השלבים הבאים:

  1. מפעילים מחדש את Chrome.
  2. לעבור אל chrome://on-device-internals.
  3. בוחרים בכרטיסייה Model Status (סטטוס המודל) ומוודאים שאין שגיאות.
  4. פותחים את כלי הפיתוח ומקלידים LanguageModel.availability(); במסוף. התוצאה שצריכה להתקבל היא available.

אם צריך, מחכים קצת וחוזרים על השלבים האלה.

תהליך התקנים

אנחנו פועלים כדי לתקנן את ממשקי ה-API האלה, כדי שהם יפעלו בכל הדפדפנים. המשמעות היא שהצענו את ממשקי ה-API לקהילת פלטפורמות האינטרנט, והעברנו אותם לW3C Web Incubator Community Group להמשך דיון.

אנחנו מבקשים משוב מ-W3C, מ-Mozilla ומ-WebKit לגבי כל API.

אינטראקציה ושיתוף משוב

אם ניסיתם את ה-AI המובנה ויש לכם משוב, נשמח לשמוע אותו.