Summarizer API

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

Summarizer API 通过浏览器的内部 AI 模型(不同浏览器可能有所不同)给出文本内容的摘要。

概念与用法

对较大文本内容进行摘要是一项常见的写作任务,而 AI 在这方面非常擅长。典型的用例包括:

  • 提供整篇文章的摘要,方便读者判断是否需要阅读全文。
  • 总结会议记录,帮助迟到的与会者快速了解已讨论的内容。
  • 总结一组产品评论,快速传达整体情感倾向。

Summarizer API 提供了一个异步(基于 Promise)机制,允许网站将一段文本输入到浏览器自身的内部 AI 模型中,并根据指定的选项请求返回该文本的摘要。

这一过程依赖于 Summarizer 接口提供的功能,分为两个步骤完成:

  1. 使用 Summarizer.create() 静态方法创建一个 Summarizer 对象,并指定要编写的摘要类型的选项。选项包括长度、类型(例如“tldr”或要点)、格式(纯文本或 markdown)以及输入和输出语言。

    备注: 如果你想检查浏览器的 AI 模型是否支持你的偏好,可以使用 Summarizer.availability() 静态方法进行检测。

  2. 运行 Summarizer.summarize() 实例方法以请求生成摘要。

创建 Summarizer 实例后,可以使用 Summarizer.destroy() 实例方法将其移除。你还可以使用 AbortController 取消正在进行的 create()summarize() 操作。

请参见使用 Summarizer API 以了解此 API 的工作原理。

接口

Summarizer 实验性

包含 Summarizer API 的所有功能,包括检查 AI 模型可用性、创建新的 Summarizer 实例、使用它来生成摘要等。

HTTP 标头

Permissions-Policysummarizer 指令

控制对 Summarizer API 的访问。如果策略明确禁止使用该 API,任何调用其方法的尝试都会因 NotAllowedError DOMException 而失败。

安全考虑

当创建 Summarizer 示例时,规范要求用户最近与页面有过交互(需要瞬态用户激活)。

此外,规范还通过 summarizer Permissions-Policy 指令控制对 API 的访问。

示例

完整示例请参见使用 Summarizer API

规范

Specification
Writing Assistance APIs
# summarizer-api

浏览器兼容性

参见