Summarizer: measureInputUsage() method
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The measureInputUsage()
method of the Summarizer
interface reports how much inputQuota
would be used by a summarize operation for a given text input.
Syntax
measureInputUsage(input)
measureInputUsage(input, options)
Parameters
input
-
A string representing the input text you want an input usage measurement for.
options
Optional-
An object specifying configuration options for the
measureInputUsage()
operation. Possible values include:context
-
A string describing the context the input text would be used in, to help generate a more suitable summary.
signal
-
An
AbortSignal
object instance, which allows themeasureInputUsage()
operation to be aborted via the associatedAbortController
.
Return value
A Promise
that fulfills with a number specifying the inputQuota
usage of the given input text.
Exceptions
NotAllowedError
DOMException
-
Thrown if usage of the Summarizer API is blocked by a
summarizer
Permissions-Policy
. NotReadableError
DOMException
-
Thrown if the output summary was filtered by the user agent, for example because it was detected to be harmful, inaccurate, or nonsensical.
NotSupportedError
DOMException
-
Thrown if the provided
context
is not in language theSummarizer
supports. UnknownError
DOMException
-
Thrown if the
measureInputUsage()
call failed for any other reason, or a reason the user agent did not wish to disclose.
Examples
Checking if you have sufficient quota
In the below snippet, we create a new Summarizer
instance using create()
, then return the total input quota via inputQuota
and the input quota usage for a summarizing a particular text string via measureInputUsage()
.
We then test to see if the individual input usage for that string is great than the total available quota. If so, we throw an appropriate error; it not, we commence summarizing the string using summarize()
.
const summarizer = await Summarizer.create({
sharedContext:
"A general summary to help a user decide if the text is worth reading",
type: "tl;dr",
length: "short",
});
const totalInputQuota = summarizer.inputQuota;
const inputUsage = await summarizer.measureInputUsage(myTextString);
if (inputUsage > totalInputQuota) {
throw new Error("Boo, insufficient quota to generate a summary.");
} else {
console.log("Yay, quota available to generate a summary.");
const summary = await summarizer.summarize(myTextString);
// ...
}
Specifications
Specification |
---|
Writing Assistance APIs # dom-summarizer-measureinputusage |
Browser compatibility
See also
- Using the Summarizer API
- Web AI demos on chrome.dev