פורסם: 12 בדצמבר 2024, עדכון אחרון: 20 במאי 2025
באמצעות ממשקי API מובנים של AI, אפליקציית האינטרנט יכולה לבצע משימות מבוססות-AI בלי לפרוס או לנהל מודלים משלה של AI. אנחנו פועלים כדי ליצור סטנדרטיזציה של ממשקי ה-API האלה בדפדפנים שונים.
כדי להשתמש ב-AI מובנה, יש דרישות לגבי המודל והחומרה.
מודלים נדרשים
ממשקי ה-API של Translator ו-Language Detector משתמשים במודלים של מומחים. כל שאר ממשקי ה-API מבוססים על מודל שפה שנועד לפעול באופן מקומי במחשבים נייחים ובמחשבים ניידים.
ממשקי ה-API של Summarizer, Writer, Rewriter ו-Proofreader תומכים רק במודאליות של טקסט לטקסט. Prompt API כולל יכולות מולטי-מודאליות.
דגמי Chrome
Chrome משתמש במודלים של שפה מומחית ומודלים של שפת בסיס. המודלים האלה לא זמינים במכשירים ניידים.
החל מ-Chrome 149, המודלים תומכים באנגלית, ספרדית, יפנית, גרמנית וצרפתית עבור טקסט קלט ופלט.
חומרה נדרשת
הדרישות הבאות חלות על מפתחים ועל משתמשים שמפעילים תכונות באמצעות ממשקי ה-API האלה ב-Chrome. יכול להיות שבדפדפנים אחרים יש דרישות הפעלה שונות.
ממשקי ה-API של Language Detector ושל Translator פועלים ב-Chrome במחשב. ממשקי ה-API האלה לא פועלים במכשירים ניידים.
Prompt API, Summarizer API, Writer API, Rewriter API ו-Proofreader API פועלים ב-Chrome כשמתקיימים התנאים הבאים:
- מערכת הפעלה: Windows 10 או 11; macOS 13 ומעלה (Ventura ואילך); Linux; או ChromeOS (מגרסה Platform 16389.0.0 ואילך) במכשירי Chromebook Plus. עדיין אין תמיכה ב-Chrome ל-Android, ל-iOS ול-ChromeOS במכשירים שהם לא Chromebook Plus בממשקי ה-API שמשתמשים במודלים בסיסיים.
- אחסון: לפחות 22 GB של מקום פנוי בנפח שמכיל את פרופיל Chrome.
- GPU או CPU: אפשר להפעיל מודלים מוטמעים באמצעות GPU או CPU.
- מעבד גרפי (GPU): יותר מ-4 GB של VRAM.
- מעבד: זיכרון RAM בנפח 16GB או יותר ו-4 ליבות CPU או יותר.
- הערה: כדי להשתמש ב-Prompt API עם קלט אודיו, צריך GPU.
- רשת: נתונים ללא הגבלה או חיבור ללא הגבלה.
הגודל המדויק של Gemini Nano עשוי להשתנות כשהדפדפן מעדכן את המודל. כדי לראות את הגודל הנוכחי, אפשר להיכנס לכתובת chrome://on-device-internals.
נשמע בדיוק בשבילי
יש כמה ממשקי AI API מובנים שזמינים בשלבי פיתוח שונים. חלק מהתכונות האלה זמינות בגרסה היציבה של Chrome, חלקן זמינות למשתתפים בגרסאות מקור לניסיון, וחלקן זמינות רק למשתתפים בתוכנית ההפצה המקדימה.
לכל ממשק API יש קבוצה משלו של הוראות להתחלה ולהורדה של המודל, גם ליצירת אב טיפוס מקומי וגם בסביבות ייצור עם תקופות ניסיון של מקורות.
- Translator API
- Language Detector API
- Summarizer API
- Writer API ו-Rewriter API
- Proofreader API
- Prompt 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 input text,
// supports image input, and can generate English output.
await LanguageModel.availability({
expectedInputs: [{type: "text", languages: ["en", "ja"]}, {type: "image"}],
expectedOutputs: [{type: "text", languages: ["en"]}],
});
הפעלת משתמש
אם המכשיר תומך בממשקי AI API מובנים, אבל המודל עדיין לא הורד (כלומר, כשמתקשרים אל availability() מוחזר "downloadable" או "downloading"), המשתמש צריך ליצור אינטראקציה משמעותית עם הדף כדי שהאפליקציה תתחיל סשן עם 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.
פתרון בעיות במארח מקומי
אם המודל לא עובד כמו שציפיתם, אפשר לפעול לפי השלבים הבאים:
- מפעילים מחדש את Chrome.
- לעבור אל
chrome://on-device-internals. - לוחצים על הכרטיסייה Broker State (סטטוס הברוקר) ומוודאים שאין שגיאות.
- פותחים את כלי הפיתוח ומקלידים
LanguageModel.availability();במסוף. הפלט צריך להיותavailable.
אם צריך, מחכים קצת וחוזרים על השלבים האלה.
תהליך התקנים
אנחנו פועלים כדי ליצור סטנדרט לממשקי ה-API האלה, כדי שהם יפעלו בכל הדפדפנים. המשמעות היא שהצענו את ממשקי ה-API לקהילת פלטפורמות האינטרנט, והעברנו אותם לW3C Web Incubator Community Group כדי להמשיך את הדיון לגביהם.
אנחנו מבקשים משוב מ-W3C, מ-Mozilla ומ-WebKit על כל API.
אינטראקציה ושיתוף משוב
אם תנסו את ה-AI המובנה, נשמח לקבל מכם משוב.
- ממשקי AI API מובנים
- הצטרפות לתוכנית הגישה המוקדמת כדי לקבל הצצה מוקדמת לממשקי API חדשים וגישה לרשימת התפוצה שלנו.
- אם יש לכם משוב על ההטמעה של Chrome, אתם יכולים לשלוח באג ב-Chromium.
- מידע נוסף על תקני אינטרנט