LanguageModel: contextWindow property
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The contextWindow read-only property of the LanguageModel interface returns the total number of context window tokens available for this session. It is set when the session is created and does not change during the session's lifetime.
Compare contextWindow against contextUsage to determine how many tokens remain. Use measureContextUsage() to estimate how many tokens a new prompt would consume before sending it.
The value is implementation-specific and varies depending on the model, device capabilities, and the session's configuration. A value of Infinity indicates that the user agent does not impose a hard limit.
Value
A number representing the session's context window capacity in tokens. This value may be Infinity if the user agent does not impose a specific limit beyond available memory or JavaScript string constraints.
Examples
>Warning when the context is nearly full
The following example uses a function to verify that context is available before calling LanguageModel.prompt(). It first calculates the remaining context and passes that value to measureContextUsage(). If needed is less than or equal to remaining, it returns true and the session continues.
const promptText = "Let me ask you an interesting question...";
async function contextAvailable(promptText) {
if (session.contextWindow === Infinity) {
return true;
}
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.");
}
Specifications
| Specification |
|---|
| Prompt API> # dom-languagemodel-contextwindow> |