סיכום באמצעות AI מובנה

פורסם: 11 בנובמבר 2024, עודכן לאחרונה: 30 ביולי 2025

הסבר פיתוח אתרים תוספים הסטטוס של Chrome המטרה
MDN Chrome 138 Chrome 138 תצוגה כוונה לשלוח

אתם יכולים להציע למשתמשים שלכם את האפשרות לזקק מאמרים ארוכים, מסמכים מורכבים או אפילו שיחות צ'אט תוססות לסיכומים תמציתיים ומעוררי השראה.

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

  • סיכום הנקודות העיקריות במאמר או בשיחה בצ'אט.
  • הצעות לכותרות ולכותרות משנה למאמרים.
  • יצירת סיכום תמציתי ואינפורמטיבי של טקסט ארוך.
  • יצירת טיזר לספר על סמך ביקורת על הספר.

שנתחיל?

‫Summarizer API זמין החל מ-Chrome 138 יציב.

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

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

if ('Summarizer' in self) {
  // The Summarizer API is supported.
}

בדיקת דרישות החומרה

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

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

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

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

הורדת המודל

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

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

const availability = await Summarizer.availability();

כדי להפעיל את ההורדה של המודל וליצור את הכלי לסיכום, בודקים אם יש הפעלה של משתמש ואז קוראים לפונקציה האסינכרונית Summarizer.create().

// Proceed to request batch or streaming summarization
const summarizer = await Summarizer.create({
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  }
});

פונקציות API

הפונקציה create() מאפשרת להגדיר אובייקט חדש של סיכום בהתאם לצרכים שלכם. הפונקציה מקבלת אובייקט אופציונלי options עם הפרמטרים הבאים:

  • sharedContext: הקשר משותף נוסף שיכול לעזור לסיכום.
  • type: סוג הסיכום, עם הערכים המותרים key-points (ברירת מחדל), tldr, teaser ו-headline. הפרטים מופיעים בטבלה הבאה.
  • format: הפורמט של הסיכום, עם הערכים המותרים markdown (ברירת מחדל) ו-plain-text.
  • length: אורך הסיכום. הערכים האפשריים הם short,‏ medium (ברירת מחדל) ו-long. המשמעות של אורכי הזמן האלה משתנה בהתאם typeלסוג הבקשה. לדוגמה, בהטמעה של Chrome, סיכום קצר של נקודות מרכזיות מורכב משלושה תבליטים, וסיכום קצר הוא משפט אחד.

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

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

סוג משמעות אורך
"tldr" הסיכום צריך להיות קצר וענייני, ולספק סקירה כללית מהירה של הקלט, שמתאימה לקוראים עסוקים.
סרטון קצר משפט אחד
בינוני ‫3 משפטים
long ‫5 משפטים
"teaser" הסיכום צריך להתמקד בחלקים הכי מעניינים או מסקרנים של הקלט, כדי למשוך את הקורא לקרוא עוד.
סרטון קצר משפט אחד
בינוני ‫3 משפטים
long ‫5 משפטים
"key-points" הסיכום צריך לכלול את הנקודות הכי חשובות מהקלט, בפורמט של רשימת תבליטים.
סרטון קצר 3 תבליטים
בינוני 5 תבליטים
long 7 תבליטים
"headline" הסיכום צריך להכיל את הנקודה העיקרית של הקלט במשפט אחד, בפורמט של כותרת מאמר.
סרטון קצר ‫12 מילים
בינוני ‫17 מילים
long ‫22 מילים

לדוגמה, אפשר להגדיר את הכלי לסיכום כך שיפיק סיכום באורך בינוני של הנקודות העיקריות ב-Markdown.

const options = {
  sharedContext: 'This is a scientific article',
  type: 'key-points',
  format: 'markdown',
  length: 'medium',
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  }
};

const availability = await Summarizer.availability();
if (availability === 'unavailable') {
  // The Summarizer API isn't usable.
  return;
}

// Check for user activation before creating the summarizer
if (navigator.userActivation.isActive) {
  const summarizer = await Summarizer.create(options);
}

הרצת הכלי לסיכום

יש שתי דרכים להריץ את הכלי לסיכום: סטרימינג ואצווה (לא סטרימינג).

סיכום של קבוצת מסמכים

בסיכום באצווה, המודל מעבד את הקלט כמכלול ואז יוצר את הפלט.

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

const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarize(longText, {
  context: 'This article is intended for a tech-savvy audience.',
});

סיכום השידור

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

const longText = document.querySelector('article').innerHTML;
const stream = summarizer.summarizeStreaming(longText, {
  context: 'This article is intended for junior developers.',
});
for await (const chunk of stream) {
  console.log(chunk);
}

הדגמה (דמו)

אפשר לנסות את Summarizer API במגרש המשחקים של Summarizer API.

מדיניות הרשאות, מסגרות iframe ו-Web Workers

כברירת מחדל, ה-Summarizer API זמין רק לחלונות ברמה העליונה ול-iframes מאותו מקור. אפשר להעניק גישה ל-API ל-iframes ממקורות שונים באמצעות מאפיין allow="" Permission Policy:

<!--
  The hosting site at https://main.example.com can grant a cross-origin iframe
  at https://cross-origin.example.com/ access to the Summarizer API by
  setting the `allow="summarizer"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="summarizer"></iframe>

‫Summarizer API לא זמין כרגע ב-Web Workers, בגלל המורכבות של יצירת מסמך אחראי לכל עובד כדי לבדוק את סטטוס מדיניות ההרשאות.

מאמץ התקנון

אנחנו פועלים כדי לתקנן את Summarizer API לצורך תאימות לדפדפנים שונים.

ה-API לסיכום וממשקי API אחרים לסיוע בכתיבה אומצו על ידי קבוצת העבודה של W3C WebML. פנינו אל Mozilla ו-WebKit כדי לקבל את עמדותיהן בנוגע לתקנים.

שליחת משוב

אנחנו רוצים לראות מה אתם בונים באמצעות Summarizer API. אתם יכולים לשתף איתנו את האתרים ואת אפליקציות האינטרנט שלכם ב-X, ב-YouTube וב-LinkedIn.

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