סיכום באמצעות 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 ו-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 או CPU.
    • מעבד גרפי (GPU): יותר מ-4 GB של VRAM.
    • יחידת עיבוד מרכזית (CPU): זיכרון RAM של 16 GB או יותר ו-4 ליבות CPU או יותר.
  • רשת: חבילת גלישה ללא הגבלה או חיבור ללא הגבלה.

הגודל המדויק של 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);
}

הקצאת שפות צפויות

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

const summarizer = await Summarizer.create({
  type: 'key-points',
  expectedInputLanguages: ['en', 'ja', 'es'],
  outputLanguage: 'es',
  expectedContextLanguages: ['en'],
  sharedContext: 'These are requests to summarize articles from a multilanguage newspaper. The users expect a response in Spanish.',
});

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

סיכום באצווה

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

כדי לקבל סיכום של כמה שיחות, קוראים לפונקציה 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 Playground.

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

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

<!--
  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, אפשר לדווח על באג או לשלוח בקשה להוספת תכונה.