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: contextUsage-Eigenschaft

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.

Die contextUsage nur lesbare Eigenschaft der LanguageModel-Schnittstelle gibt die Anzahl der Kontextfenster-Token zurück, die derzeit von der Sitzung, die sie aufruft, verbraucht werden, einschließlich der anfänglichen Eingaben und aller nachfolgenden Runden.

Dieser Wert erhöht sich jedes Mal, wenn Sie prompt(), promptStreaming() oder append() aufrufen.

Vergleichen Sie contextUsage mit LanguageModel.contextWindow, um festzustellen, wie viele Token verbleiben. Wenn contextUsage contextWindow überschreiten würde, führen nachfolgende Methodenaufrufe zu einem QuotaExceededError und das contextoverflow-Ereignis wird ausgelöst.

Um abzuschätzen, wie viele Token ein neuer Eingabeaufforderung nutzen würde, bevor Sie ihn senden, rufen Sie LanguageModel.measureContextUsage() auf.

Wert

Eine Zahl, die die aktuelle Nutzung des Kontextfensters in Token darstellt.

Beispiele

Überwachung der Nutzung des Kontexts während eines Gesprächs

Dieses Beispiel schreibt die Nutzung des Kontexts in die Konsole, nachdem eine Sitzungseingabeaufforderung abgeschlossen ist.

js
const session = await LanguageModel.create();

await session.prompt("Tell me about the history of the internet.");

console.log(
  `Context used: ${session.contextUsage} / ${session.contextWindow} tokens`,
);

Warnung, wenn der Kontext fast voll ist

Das folgende Beispiel verwendet eine Funktion, um zu überprüfen, ob Kontext verfügbar ist, bevor LanguageModel.prompt() aufgerufen wird. Zuerst berechnet es den verbleibenden Kontext und übergibt diesen Wert an measureContextUsage(). Wenn needed kleiner oder gleich remaining ist, gibt es true zurück und die Sitzung wird fortgesetzt.

js
const promptText = "Let me ask you an interesting question...";

async function contextAvailable(promptText) {
  const remaining = session.contextWindow - session.contextUsage;
  const needed = await session.measureContextUsage(promptText);

  return needed <= remaining;
}

const session = await LanguageModel.create();

if (await contextAvailable(promptText)) {
  const response = await session.prompt(promptText);
  console.log(response);
} else {
  console.warn("Prompt skipped: Not enough context window remaining.");
}

Spezifikationen

Spezifikation
Prompt API
# dom-languagemodel-contextusage

Browser-Kompatibilität

Siehe auch