LanguageModel: contextoverflow-Ereignis
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 addEventListener():
addEventListener("contextoverflow", (event) => {})
Alternativ können Sie ihn der Ereignisbehandlungs-Eigenschaft der Schnittstelle zuweisen:
oncontextoverflow = (event) => {}
Ereignistyp
Ein generisches Event.
Beispiele
>Auf einen Kontextüberlauf reagieren
Der folgende Code zeigt zwei Möglichkeiten, einen Ereignis-Listener für das contextoverflow-Ereignis zu erstellen.
const session = await LanguageModel.create();
session.addEventListener("contextoverflow", () => {
console.warn("Context overflow detected.");
});
Alternativ können Sie die Ereignisbehandlungs-Eigenschaft oncontextoverflow verwenden. Beachten Sie jedoch, dass dadurch gegebenenfalls andere mit oncontextoverflow hinzugefügte Ereignis-Listener ersetzt werden:
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.",
);
};
Die Sitzung bei einem Überlauf zurücksetzen
Das folgende Beispiel erstellt eine neue Sitzung, wenn das contextoverflow-Ereignis ausgelöst wird.
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> |