Publié le 11 novembre 2024, dernière mise à jour le 20 mai 2025
Explication | Web | Extensions | État de Chrome | Intention |
---|---|---|---|---|
MDN | 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()
. Elle renvoie une promesse avec les valeurs suivantes.
"unavailable"
signifie que l'implémentation n'est pas compatible avec les options demandées."downloadable"
signifie que l'implémentation est compatible avec les options demandées, mais que le navigateur doit d'abord télécharger un élément, tel qu'un modèle (Gemini Nano dans le cas de Chrome) ou un réglage précis pour le modèle."downloading"
signifie que l'implémentation est compatible avec les options demandées, mais qu'elle doit terminer un téléchargement en cours avant de pouvoir continuer."available"
signifie que l'implémentation est compatible avec les options demandées et que le résumeur peut continuer.
Pour déclencher le téléchargement du modèle et créer le résumeur, appelez la fonction asynchrone Summarizer.create()
. Si la réponse à availability()
était downloadable
ou downloading
, il est recommandé d'écouter la progression du téléchargement. Vous pouvez ainsi informer l'utilisateur et lui indiquer que le téléchargement peut prendre du temps avant que la synthèse puisse avoir lieu.
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éeskey-points
(par défaut),tldr
,teaser
etheadline
. Pour en savoir plus, consultez le tableau ci-dessous.format
: format de la synthèse, avec les valeurs autoriséesmarkdown
(par défaut) etplain-text
.length
: longueur du résumé, avec les valeurs autoriséesshort
,medium
(par défaut) etlong
. La signification de ces longueurs varie en fonction de latype
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é. |
|
||||||
"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. |
|
||||||
"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. |
|
||||||
"headline" |
Le résumé doit contenir efficacement le point principal de l'entrée en une seule phrase, sous la forme d'un titre d'article. |
|
L'exemple suivant montre comment initialiser le résumeur.
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;
}
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 assurer la compatibilité entre navigateurs.
Notre proposition d'API a reçu le soutien de la communauté et a été transférée au groupe de la communauté W3C Web Incubator pour une discussion plus approfondie. L'équipe Chrome a demandé l'avis du Technical Architecture Group du W3C et a sollicité Mozilla et WebKit pour connaître leur position sur les normes.
Participez à l'élaboration des normes en rejoignant le Web Incubator Community Group.
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é.