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

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

Browser Support

  • Chrome: 138.
  • Edge: behind a flag.
  • Firefox: not supported.
  • Safari: not supported.

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

אפשר להשתמש ב-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 או Windows 11;‏ macOS מגרסה 13 ואילך (Ventura ואילך);‏ Linux; או ChromeOS (מגרסה 16389.0.0 ואילך) במכשירי [Chromebook Plus](https://www.google.com/chromebook/chromebookplus/). ממשקי ה-API שמשתמשים ב-Gemini Nano עדיין לא תומכים ב-Chrome ל-Android, ל-iOS ול-ChromeOS במכשירים שאינם Chromebook Plus.
  • אחסון: לפחות 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. אתם יכולים לשתף איתנו את האתרים ואת אפליקציות האינטרנט שלכם ב-X, ב-YouTube וב-LinkedIn.

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