Résumer avec l'IA intégrée

Publié le 11 novembre 2024, dernière mise à jour le 30 juillet 2025

Explication Web Extensions État de Chrome Intention
MDN  Chrome 138  Chrome 138 Afficher Intention d'expédier

Vous pouvez offrir à vos utilisateurs la possibilité de condenser de longs articles, des documents complexes ou même des conversations animées en résumés concis et pertinents.

L'API Summarizer peut être utilisée pour générer différents types de résumés de différentes longueurs et dans différents formats, tels que des phrases, des paragraphes, des listes à puces, etc. Nous pensons que cette API est utile dans les scénarios suivants :

  • résumer les points clés d'un article ou d'une conversation ;
  • suggérer des titres et des en-têtes pour les articles ;
  • Créer un résumé concis et informatif d'un texte long.
  • Générer une bande-annonce pour un livre à partir d'une critique

Commencer

L'API Summarizer est disponible à partir de Chrome 138 (version stable).

Avant d'utiliser cette API, prenez connaissance du Règlement de Google sur les utilisations interdites de l'IA générative.

Exécutez la détection de fonctionnalités pour voir si le navigateur est compatible avec l'API Summarizer.

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

Consulter la configuration matérielle requise

Les exigences suivantes s'appliquent aux développeurs et aux utilisateurs qui utilisent des fonctionnalités à l'aide de ces API dans Chrome. Il est possible que les exigences de fonctionnement soient différentes dans les autres navigateurs.

Les API Language Detector et Translator fonctionnent dans Chrome sur ordinateur. Ces API ne fonctionnent pas sur les appareils mobiles. Les API Prompt, Summarizer, Writer et Rewriter fonctionnent dans Chrome lorsque les conditions suivantes sont remplies :

  • Système d'exploitation : Windows 10 ou 11, macOS 13 ou version ultérieure (Ventura et versions ultérieures) ou Linux. Chrome pour Android, iOS et ChromeOS ne sont pas encore compatibles avec les API qui utilisent Gemini Nano.
  • Stockage : au moins 22 Go d'espace libre sur le volume contenant votre profil Chrome.
  • GPU : plus de 4 Go de VRAM.
  • Réseau : données illimitées ou connexion non limitée.

La taille exacte de Gemini Nano peut varier à mesure que le navigateur met à jour le modèle. Pour déterminer la taille actuelle, accédez à chrome://on-device-internals, puis à État du modèle. Ouvrez le chemin d'accès au fichier indiqué pour déterminer la taille du modèle.

Téléchargement de modèles

L'API Summarizer utilise un modèle entraîné pour générer des résumés de haute qualité. L'API est intégrée à Chrome, et Gemini Nano est le modèle téléchargé la première fois qu'un site Web utilise cette API.

Pour déterminer si le modèle est prêt à être utilisé, appelez la fonction asynchrone Summarizer.availability(). Si la réponse à availability() est downloadable, écoutez la progression du téléchargement pour en informer l'utilisateur, car cela peut prendre du temps.

const availability = await Summarizer.availability();

Pour déclencher le téléchargement du modèle et créer le résumeur, vérifiez l'activation de l'utilisateur, puis appelez la fonction asynchrone 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}%`);
    });
  }
});

Fonctions de l'API

La fonction create() vous permet de configurer un nouvel objet de synthèse selon vos besoins. Il accepte un objet options facultatif avec les paramètres suivants :

  • sharedContext : contexte partagé supplémentaire pouvant aider le résumeur.
  • type : type de résumé, avec les valeurs autorisées key-points (par défaut), tldr, teaser et headline. Pour en savoir plus, consultez le tableau ci-dessous.
  • format : format de la synthèse, avec les valeurs autorisées markdown (par défaut) et plain-text.
  • length : longueur du résumé, avec les valeurs autorisées short, medium (par défaut) et long. La signification de ces longueurs varie en fonction de la type demandée. Par exemple, dans l'implémentation de Chrome, un résumé court des points clés se compose de trois puces, et un résumé court se compose d'une phrase.

Une fois définis, les paramètres ne peuvent plus être modifiés. Créez un objet de synthèse si vous devez modifier les paramètres.

Le tableau suivant présente les différents types de résumés et leurs longueurs correspondantes. Les longueurs représentent la valeur maximale possible, car les résultats peuvent parfois être plus courts.

Type Signification Longueur
"tldr" Le résumé doit être court et précis, et fournir un aperçu rapide de l'entrée, adapté à un lecteur occupé.
court 1 phrase
moyen 3 phrases
long 5 phrases
"teaser" Le résumé doit se concentrer sur les parties les plus intéressantes ou intrigantes de l'entrée, conçues pour inciter le lecteur à en savoir plus.
court 1 phrase
moyen 3 phrases
long 5 phrases
"key-points" Le résumé doit extraire les points les plus importants de l'entrée et les présenter sous forme de liste à puces.
court Trois puces
moyen 5 puces
long 7 puces
"headline" Le résumé doit contenir efficacement le point principal de l'entrée dans une seule phrase, sous la forme d'un titre d'article.
court 12 mots
moyen 17 mots
long 22 mots

Par exemple, vous pouvez initialiser un résumeur pour qu'il génère une longueur moyenne de points clés au format 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);
}

Exécuter le résumeur

Il existe deux façons d'exécuter le résumeur : en flux et par lot (non en flux).

Synthèse par lots

Avec la synthèse par lots, le modèle traite l'entrée dans son ensemble, puis génère la sortie.

Pour obtenir un récapitulatif du lot, appelez la fonction summarize(). Le premier argument est le texte que vous souhaitez résumer. Le deuxième argument facultatif est un objet avec un champ context. Ce champ vous permet d'ajouter des informations générales qui pourraient améliorer la synthèse.

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

Résumés de flux

La summarization en streaming fournit des résultats en temps réel. Le résultat est mis à jour en continu à mesure que l'entrée est ajoutée et ajustée. Pour obtenir un récapitulatif du streaming, appelez summarizeStreaming() au lieu de 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);
}

Démo

Vous pouvez essayer l'API Summarizer dans l'atelier de programmation de l'API Summarizer.

Effort de standardisation

Nous nous efforçons de standardiser l'API Summarizer pour la rendre compatible avec tous les navigateurs.

L'API Summarizer et d'autres API d'aide à la rédaction ont été adoptées par le groupe de travail W3C WebML. Nous avons demandé à Mozilla et WebKit de nous faire part de leur position sur les normes.

Envoyer des commentaires

Nous voulons voir ce que vous créez avec l'API Summarizer. Partagez vos sites Web et applications Web avec nous sur X, YouTube et LinkedIn.

Pour envoyer des commentaires sur l'implémentation de Chrome, signalez un bug ou demandez l'ajout d'une fonctionnalité.