פורסם: 12 בדצמבר 2024, עדכון אחרון: 20 במאי 2025
בעזרת ממשקי API מובנים מבוססי-AI, אפליקציית האינטרנט יכולה לבצע משימות מבוססות-AI בלי לפרוס או לנהל מודלים משלה של AI. אנחנו פועלים כדי ליצור סטנדרטיזציה של ממשקי ה-API האלה בדפדפנים שונים.
דרישות
כדי להשתמש ב-AI מובנה, יש דרישות לגבי המודל והחומרה.
מודלים
ממשקי ה-API של Translator ושל Language Detector משתמשים במודלים מומחים. כל שאר ממשקי ה-API משתמשים במודל שפה שנועד לפעול באופן מקומי במחשבים ניידים ושולחניים.
ממשקי ה-API של Summarizer, Writer, Rewriter ו-Proofreader תומכים רק במודאליות של טקסט לטקסט. ל-Prompt API יש יכולות של multimodal.
Gemini Nano ב-Chrome
Chrome משתמש במודלים של שפה Gemini Nano. Gemini Nano לא זמין במכשירים ניידים.
Gemini Nano מגרסה Chrome 149 תומך באנגלית, ספרדית, יפנית, גרמנית וצרפתית עבור טקסט קלט ופלט.
לפני שמשתמשים בממשקי ה-API המובנים של AI, צריך לאשר את המדיניות של Google בנושא שימוש אסור ב-AI גנרטיבי.
חומרה
הדרישות הבאות חלות על מפתחים ועל משתמשים שמפעילים תכונות באמצעות ממשקי ה-API האלה ב-Chrome. בדפדפנים אחרים עשויות להיות דרישות הפעלה שונות.
Language Detector ו-Translator APIs פועלים ב-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 שמשתמשים ב-Gemini Nano.
- אחסון: לפחות 22 GB של שטח פנוי בכרך שמכיל את פרופיל Chrome.
- מעבד גרפי (GPU) או מעבד (CPU): אפשר להפעיל מודלים מוטמעים באמצעות מעבד גרפי או מעבד.
- מעבד גרפי (GPU): יותר מ-4 GB של VRAM.
- יחידת עיבוד מרכזית (CPU): זיכרון RAM של 16GB או יותר ו-4 ליבות CPU או יותר.
- הערה: כדי להשתמש ב-Prompt API עם קלט אודיו, צריך GPU.
- רשת: נתונים ללא הגבלה או חיבור ללא מדידה.
הגודל המדויק של Gemini Nano עשוי להשתנות כשהדפדפן מעדכן את המודל. כדי לראות את הגודל הנוכחי, אפשר לעבור אל chrome://on-device-internals.
נשמע בדיוק בשבילי
יש כמה ממשקי API מובנים של AI שזמינים בשלבי פיתוח שונים. חלק מהתכונות האלה נמצאות בגרסה יציבה של 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.
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.
- לעבור אל
chrome://flags/#optimization-guide-on-device-model. - בוחרים באפשרות מופעל.
- לוחצים על הפעלה מחדש או מפעילים מחדש את Chrome.
בממשקי API שמשתמשים ב-Gemini Nano, צריך להגדיר את
chrome://flags/#prompt-api-for-gemini-nano לערך Enabled או לערך Enabled multilingual. אפשר לוודא שהמודל הורד ושהוא פועל כמצופה ב-DevTools Console.
מריצים את הפקודה await LanguageModel.availability(); במסוף.
פתרון בעיות במארח מקומי
אם הדגלים לא מופיעים ב-chrome://flags, צריך לוודא שהורדתם את הגרסה העדכנית של Chrome.
אם המודל לא פועל כצפוי, אפשר לנסות את השלבים הבאים:
- מפעילים מחדש את Chrome.
- לעבור אל
chrome://on-device-internals. - בוחרים בכרטיסייה Model Status ומוודאים שאין שגיאות.
- פותחים את כלי הפיתוח ומקלידים
LanguageModel.availability();במסוף. התוצאה שצריכה להתקבל היאavailable.
אם צריך, מחכים קצת וחוזרים על השלבים האלה.
תהליך התקנים
אנחנו פועלים כדי לתקנן את ממשקי ה-API האלה, כדי שהם יפעלו בכל הדפדפנים. המשמעות היא שהצענו את ממשקי ה-API לקהילת פלטפורמות האינטרנט, והעברנו אותם לW3C Web Incubator Community Group להמשך דיון.
אנחנו מבקשים משוב מ-W3C, מ-Mozilla ומ-WebKit על כל API.
השתתפות ושיתוף משוב
אם ניסיתם את ה-AI המובנה ויש לכם משוב, נשמח לשמוע אותו.
- ממשקי AI API מובנים
- הצטרפות לתוכנית הגישה המוקדמת כדי לקבל הצצה מוקדמת לממשקי API חדשים וגישה לרשימת התפוצה שלנו.
- אם יש לכם משוב על ההטמעה של Chrome, אתם יכולים לדווח על באג ב-Chromium.
- מידע נוסף על תקני אינטרנט