Summarizer: measureInputUsage() 方法
Summarizer
接口的 measureInputUsage()
方法用于报告给定文本输入进行摘要操作会使用多少 inputQuota
。
语法
js
measureInputUsage(input)
measureInputUsage(input, options)
参数
input
-
一个字符串,表示您想要为其输入使用情况进行测量的输入文本。
options
可选-
一个对象,指定
measureInputUsage()
操作的配置选项。可能的值包括context
-
一个字符串,描述输入文本将在其中使用的上下文,以帮助生成更合适的摘要。
signal
-
一个
AbortSignal
对象实例,它允许通过关联的AbortController
中止measureInputUsage()
操作。
返回值
一个 Promise
,它会解析为一个数字,指定给定输入文本的 inputQuota
使用情况。
异常
NotAllowedError
DOMException
-
如果 Summarizer API 的使用被
summarizer
Permissions-Policy
阻止,则会抛出此错误。 NotReadableError
DOMException
-
如果输出摘要被用户代理过滤,例如因为它被检测为有害、不准确或无意义,则抛出此异常。
NotSupportedError
DOMException
-
如果提供的
context
的语言不是Summarizer
支持的语言,则抛出此异常。 UnknownError
DOMException
-
如果
measureInputUsage()
调用因任何其他原因失败,或用户代理不希望披露的原因而失败,则抛出此异常。
示例
检查您是否有足够的配额
在下面的代码片段中,我们使用 create()
创建一个新的 Summarizer
实例,然后通过 inputQuota
返回总输入配额,并通过 measureInputUsage()
返回摘要特定文本字符串的输入配额使用情况。
然后,我们测试该字符串的单个输入使用量是否大于总可用配额。如果是,则抛出适当的错误;否则,我们使用 summarize()
开始摘要该字符串。
js
const summarizer = await Summarizer.create({
sharedContext:
"A general summary to help a user decide if the text is worth reading",
type: "tldr",
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);
// ...
}
规范
规范 |
---|
写作辅助 API # dom-summarizer-measureinputusage |
浏览器兼容性
加载中…