Summarizer: measureInputUsage() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

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

浏览器兼容性

另见