Signatur
Beschreibung
Die Eigenschaft sharedContext gehört zur Summarizer API, einer der eingebauten KI-APIs des Browsers (Writing Assistance APIs). Sie gibt den Text zurück, den Sie beim Aufruf von Summarizer.create() in der Option sharedContext übergeben haben. Dieser Text beschreibt, in welchem Umfeld die zusammengefassten Texte stehen. Beispiele sind „Artikel aus einem Technik-Blog für Entwickler“ oder „Support-Tickets eines Online-Shops“.
Der gemeinsame Kontext gilt für jeden Aufruf von summarize() und summarizeStreaming() auf derselben Instanz. Sie müssen ihn also nicht bei jeder Anfrage erneut mitgeben. Zusätzlich können Sie pro Aufruf über die Option context einen eigenen Kontext übergeben. Der Browser verwendet dann beide zusammen.
Die Eigenschaft ist schreibgeschützt. Wenn Sie einen anderen gemeinsamen Kontext brauchen, erzeugen Sie eine neue Instanz mit Summarizer.create(). Die alte Instanz geben Sie mit destroy() frei. In der Praxis nutzen Sie sharedContext vor allem zur Fehlersuche, für Protokolle oder um in einem Cache zu prüfen, ob eine vorhandene Instanz zum gewünschten Kontext passt.
Rückgabewert
Beispiele
Kontext festlegen und auslesen
if ('Summarizer' in self && (await Summarizer.availability()) !== 'unavailable') {
const summarizer = await Summarizer.create({
sharedContext: 'Artikel aus einem Technik-Blog für Webentwickler',
type: 'tldr',
format: 'plain-text',
length: 'short'
});
console.log(summarizer.sharedContext);
}
Gemeinsamer Kontext plus Kontext pro Aufruf
const summarizer = await Summarizer.create({
sharedContext: 'Kundenbewertungen eines Online-Shops für Outdoor-Ausrüstung',
type: 'key-points',
format: 'markdown'
});
const bewertung = document.querySelector('#review').textContent;
// sharedContext gilt automatisch, context ergänzt ihn nur für diesen Aufruf
const zusammenfassung = await summarizer.summarize(bewertung, {
context: 'Die Bewertung bezieht sich auf ein Zelt.'
});
console.log(`Kontext: ${summarizer.sharedContext}`);
console.log(zusammenfassung);
Instanzen nach Kontext zwischenspeichern
const cache = new Map();
const getSummarizer = async (sharedContext) => {
const vorhanden = cache.get(sharedContext);
if (vorhanden && vorhanden.sharedContext === sharedContext) return vorhanden;
const neu = await Summarizer.create({ sharedContext, type: 'teaser' });
cache.set(sharedContext, neu);
return neu;
};
const s = await getSummarizer('Pressemitteilungen eines Softwareherstellers');
console.log(s.sharedContext);
// Wichtig · Fallstricke
- Schreibgeschützt: Eine Zuweisung wie
summarizer.sharedContext = '…'hat keine Wirkung. Im Strict Mode löst sie einenTypeErroraus. Für einen anderen Kontext brauchen Sie eine neue Instanz. - Kompatibilität: Die Summarizer API ist experimentell. Sie ist derzeit nur in Chromium-Browsern auf dem Desktop verfügbar (Chrome ab Version 138, mit dem lokalen Modell Gemini Nano) und nur in sicheren Kontexten (HTTPS). Prüfen Sie vorher mit
'Summarizer' in selfundSummarizer.availability(), ob die API nutzbar ist. - Kontingent: Der gemeinsame Kontext zählt zur Eingabe und belegt einen Teil von
inputQuota. Ein sehr langersharedContextlässt weniger Platz für den eigentlichen Text. MitmeasureInputUsage()können Sie den Verbrauch prüfen. - Sprache: Wenn der Kontext nicht in einer der Sprachen aus
expectedContextLanguagesgeschrieben ist, können die Ergebnisse schlechter werden. Die Sprache sollte also zur Konfiguration passen. - Datenschutz: Die Verarbeitung findet auf dem Gerät statt. Trotzdem sollte der Kontext keine sensiblen Daten enthalten, die in Protokollen landen könnten.