Summarizer:summarizeStreaming() 方法

可用性有限

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

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

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

Summarizer 接口的 summarizeStreaming() 方法会生成一个新的摘要,并将其作为 ReadableStream 返回。

语法

js
summarizeStreaming(input)
summarizeStreaming(input, options)

参数

input

一个表示待摘要文本的字符串。

options 可选

一个指定 summarizeStreaming() 操作配置选项的对象。可能的值包括:

context

一个描述输入文本使用场景的字符串,这有助于 Summarizer 生成更合适的摘要。

signal

一个 AbortSignal 对象实例,它允许通过关联的 AbortController 来中止 summarizeStreaming() 操作。

返回值

一个包含生成摘要的 ReadableStream

异常

InvalidStateError DOMException

如果当前 Document 未激活,则抛出此异常。

NotAllowedError DOMException

如果 Summarizer API 的使用被 summarizer Permissions-Policy 阻止,则会抛出此错误。

NotReadableError DOMException

如果输出摘要被用户代理过滤,例如因为它被检测为有害、不准确或无意义,则抛出此异常。

NotSupportedError DOMException

如果提供的 context 的语言不是 Summarizer 支持的语言,则抛出此异常。

QuotaExceededError

如果摘要操作超过了可用的 inputQuota,则抛出此异常。

UnknownError DOMException

如果 summarizeStreaming() 调用因任何其他原因失败,或者用户代理不希望披露原因,则抛出此异常。

示例

基本的 summarizeStreaming() 用法

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 stream = summarizer.summarizeStreaming(myTextString);
let summary = "";

for await (const chunk of stream) {
  summary += chunk;
}

console.log("Stream complete");
summaryOutput.textContent = summary;

规范

规范
写作辅助 API
# dom-summarizer-summarizestreaming

浏览器兼容性

另见