Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

LanguageModel: Ereignis contextoverflow

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Das contextoverflow-Ereignis wird auf einer LanguageModel-Instanz ausgelöst, wenn ein Aufruf von prompt(), promptStreaming() oder append() dazu führt, dass die contextUsage der Sitzung das contextWindow überschreitet.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

js
addEventListener("contextoverflow", (event) => {})

oncontextoverflow = (event) => {}

Ereignistyp

Ein generisches Event.

Beispiele

Reaktion auf einen Kontextüberlauf

Der folgende Code zeigt zwei Methoden zur Erstellung eines Ereignis-Listeners für das contextoverflow-Ereignis.

js
const session = await LanguageModel.create();

session.addEventListener("contextoverflow", () => {
  console.warn("Context overflow detected.");
});

Alternativ:

js
const session = await LanguageModel.create();

session.oncontextoverflow = () => {
  console.warn(
    "The session's context window is full. " +
      "Consider cloning the session or starting a new one.",
  );
};

Zurücksetzen der Sitzung bei Überlauf

Das folgende Beispiel erstellt eine neue Sitzung, wenn das contextoverflow-Ereignis ausgelöst wird.

js
let session = await LanguageModel.create({
  initialPrompts: [{ role: "system", content: "You are a helpful assistant." }],
});

session.addEventListener("contextoverflow", async () => {
  console.log("Context full — creating a fresh session.");
  session.destroy();
  session = await LanguageModel.create({
    initialPrompts: [
      { role: "system", content: "You are a helpful assistant." },
    ],
  });
});

async function chat(userMessage) {
  const response = await session.prompt(userMessage);
  return response;
}

Spezifikationen

Spezifikation
Prompt API
# dom-languagemodel-oncontextoverflow

Browser-Kompatibilität

Siehe auch