Podsumowanie za pomocą wbudowanej AI

Data publikacji: 11 listopada 2024 r., ostatnia aktualizacja: 30 lipca 2025 r.

Wyjaśnienie Sieć Rozszerzenia Stan Chrome Intencja
MDN Chrome 138 Chrome 138 Wyświetl Zamiar wysłania

Możesz zaoferować użytkownikom możliwość streszczania długich artykułów, złożonych dokumentów, a nawet żywych rozmów na czacie w zwięzłe i trafne podsumowania.

Interfejs Summarizer API może służyć do generowania różnych typów podsumowań o różnej długości i w różnych formatach, np. zdań, akapitów, list punktowanych itp. Uważamy, że ten interfejs API jest przydatny w tych sytuacjach:

  • podsumowywanie najważniejszych punktów artykułu lub rozmowy na czacie;
  • sugerowanie tytułów i nagłówków artykułów;
  • tworzenie zwięzłego i informacyjnego podsumowania długiego tekstu;
  • Generowanie zapowiedzi książki na podstawie recenzji.

Rozpocznij

Interfejs Summarizer API jest dostępny w stabilnej wersji Chrome 138.

Przed użyciem tego interfejsu API zapoznaj się z zasadami Google dotyczącymi niedozwolonych zastosowań generatywnej AI i potwierdź, że je akceptujesz.

Uruchom wykrywanie funkcji, aby sprawdzić, czy przeglądarka obsługuje interfejs Summarizer API.

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

Sprawdzanie wymagań sprzętowych

Deweloperzy i użytkownicy, którzy korzystają z funkcji używających tych interfejsów API w Chrome, muszą spełniać te wymagania. Inne przeglądarki mogą mieć inne wymagania dotyczące działania.

Interfejsy Language Detector API i Translator API działają w Chrome na komputerze. Te interfejsy API nie działają na urządzeniach mobilnych. Interfejsy Prompt API, Summarizer API, Writer API i Rewriter API działają w Chrome, gdy spełnione są te warunki:

  • System operacyjny: Windows 10 lub 11, macOS 13 lub nowszy (Ventura i nowsze) lub Linux. Interfejsy API, które korzystają z Gemini Nano, nie są jeszcze obsługiwane w Chrome na Androida, iOS i ChromeOS.
  • Pamięć: co najmniej 22 GB wolnego miejsca na woluminie zawierającym profil Chrome.
  • GPU: co najmniej 4 GB pamięci VRAM.
  • Sieć: nieograniczona transmisja danych lub połączenie bez limitu.

Dokładny rozmiar Gemini Nano może się zmieniać w miarę aktualizowania modelu przez przeglądarkę. Aby sprawdzić aktualny rozmiar, otwórz chrome://on-device-internals i przejdź do sekcji Stan modelu. Otwórz podaną ścieżkę do pliku, aby określić rozmiar modelu.

Pobieranie modelu

Interfejs Summarizer API korzysta z modelu wytrenowanego do generowania wysokiej jakości podsumowań. Interfejs API jest wbudowany w Chrome, a Gemini Nano to model pobierany przy pierwszym użyciu tego interfejsu API przez witrynę.

Aby sprawdzić, czy model jest gotowy do użycia, wywołaj asynchroniczną funkcję Summarizer.availability(). Jeśli odpowiedź na availability() to downloadable, nasłuchuj postępu pobierania, aby informować użytkownika o jego przebiegu, ponieważ może to zająć trochę czasu.

const availability = await Summarizer.availability();

Aby wywołać pobieranie modelu i utworzyć narzędzie do podsumowywania, sprawdź aktywację użytkownika, a następnie wywołaj asynchroniczną funkcję 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}%`);
    });
  }
});

Funkcje interfejsu API

Funkcja create() umożliwia skonfigurowanie nowego obiektu podsumowującego zgodnie z Twoimi potrzebami. Przyjmuje opcjonalny obiekt options z tymi parametrami:

  • sharedContext: dodatkowy kontekst udostępniony, który może pomóc w tworzeniu podsumowania.
  • type: typ podsumowania. Dozwolone wartości to key-points (domyślnie), tldr, teaserheadline. Szczegółowe informacje znajdziesz w poniższej tabeli.
  • format: format podsumowania. Dozwolone wartości to markdown (domyślnie) i plain-text.
  • length: długość podsumowania. Dozwolone wartości to short, medium (domyślna) i long. Znaczenie tych długości różni się w zależności od type. Na przykład w implementacji Chrome krótkie podsumowanie najważniejszych informacji składa się z 3 punktów, a krótkie podsumowanie to 1 zdanie.

Po ustawieniu parametrów nie można ich zmienić. Utwórz nowy obiekt podsumowujący, jeśli chcesz wprowadzić zmiany w parametrach.

W tabeli poniżej przedstawiamy różne typy podsumowań i ich długość. Długości te oznaczają maksymalną możliwą wartość, ponieważ czasami wyniki mogą być krótsze.

Typ Znaczenie Długość
"tldr" Podsumowanie powinno być krótkie i zwięzłe, aby zapracowany czytelnik mógł szybko zapoznać się z informacjami.
krótki 1 zdanie
średni 3 zdania
Liczba długa 5 zdań
"teaser" Podsumowanie powinno koncentrować się na najciekawszych lub najbardziej intrygujących fragmentach danych wejściowych, aby zachęcić czytelnika do dalszego czytania.
krótki 1 zdanie
średni 3 zdania
Liczba długa 5 zdań
"key-points" Podsumowanie powinno zawierać najważniejsze punkty z danych wejściowych w formie listy punktowanej.
krótki 3 punkty
średni 5 punktów
Liczba długa 7 punktów
"headline" Podsumowanie powinno skutecznie zawierać główną myśl danych wejściowych w jednym zdaniu w formacie nagłówka artykułu.
krótki 12 słów
średni 17 słów
Liczba długa 22 słowa

Możesz na przykład zainicjować narzędzie do podsumowywania, aby generowało średniej długości kluczowe punkty w formacie 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);
}

Uruchamianie podsumowywania

Podsumowywanie można uruchomić na 2 sposoby: strumieniowo i wsadowo (bez strumieniowania).

Podsumowywanie zbiorcze

W przypadku podsumowywania wsadowego model przetwarza dane wejściowe jako całość, a następnie generuje dane wyjściowe.

Aby uzyskać podsumowanie pakietu, wywołaj funkcję summarize(). Pierwszym argumentem jest tekst, który chcesz streścić. Drugi, opcjonalny argument to obiekt z polem context. W tym polu możesz dodać informacje o kontekście, które mogą ulepszyć podsumowanie.

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

Podsumowanie transmisji

Strumieniowe podsumowywanie zapewnia wyniki w czasie rzeczywistym. Dane wyjściowe są aktualizowane na bieżąco w miarę dodawania i dostosowywania danych wejściowych. Aby uzyskać podsumowanie transmisji strumieniowej, zadzwoń pod numer summarizeStreaming() zamiast 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);
}

Prezentacja

Interfejs Summarizer API możesz wypróbować na platformie Summarizer API Playground.

Działania na rzecz standaryzacji

Pracujemy nad ujednoliceniem interfejsu Summarizer API, aby był zgodny z różnymi przeglądarkami.

Interfejs Summarizer API i inne interfejsy Writing Assistance API zostały przyjęte przez grupę roboczą W3C WebML. Poprosiliśmy MozillaWebKit o zajęcie stanowiska w sprawie standardów.

Podziel się opinią

Chcemy zobaczyć, co tworzysz za pomocą interfejsu Summarizer API. Podziel się z nami swoimi stronami i aplikacjami internetowymi na X, YouTubeLinkedIn.

Jeśli chcesz przesłać opinię na temat implementacji Chrome, prześlij raport o błędzie lub prośbę o dodanie funkcji.