此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Summarizer API

有限可用

此特性不属于基线,因为它尚未在主流浏览器中得到支持。

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

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-Policy;summarizer 指令

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

安全考虑

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

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

示例

完整示例请参见使用 Summarizer API。

规范

规范
Writing Assistance APIs
# summarizer-api

浏览器兼容性

参见