Prompt API

发布时间:2025 年 5 月 20 日

解说 Web 扩展程序 Chrome 状态 意向
GitHub 实验性EPP Chrome Beta 版 Chrome 137 Beta 版 视图 意图进行实验

借助 Prompt API,您可以在浏览器中向 Gemini Nano 发送自然语言请求。

Prompt API 适用于 Chrome 扩展程序。网站开发者可以通过加入早期预览计划,在 Chrome Canary 中使用探索性 API。此 API 即将推出源试用版。

您可以通过多种方式使用 Prompt API。在 Web 应用或网站中,您可以创建:

  • AI 赋能的搜索:根据网页内容回答问题。
  • 个性化新闻 Feed:构建一个 Feed,以便使用类别动态对文章进行分类,并允许用户过滤出相应内容。

在 Chrome 扩展程序中,您可以构建:

  • 日历活动。开发一个 Chrome 扩展程序,用于自动从网页中提取活动详情,以便用户只需几个步骤即可创建日历条目。
  • 联系人提取。构建一个可从网站中提取联系信息的扩展程序,让用户更轻松地与商家联系或向其联系人列表中添加详细信息。

以上只是一些可能的用途,我们期待看到您的创作成果。

使用 Prompt API

LanguageModel 命名空间中提供了两个主要函数:

  • availability() 以检查模型的功能和可用性。
  • create() 以启动语言模型会话。

模型下载

Prompt API 在 Chrome 中使用 Gemini Nano 模型。虽然该 API 已内置到 Chrome 中,但在扩展程序首次使用该 API 时,系统会单独下载该模型。

如需确定模型是否已准备就绪,请调用异步 LanguageModel.availability() 函数。此时应返回以下响应中的某一个:

  • "unavailable" 表示浏览器不支持请求的选项,或者根本不支持提示语言模型。
  • "downloadable" 表示浏览器支持请求的选项,但必须先下载一些内容(例如语言模型本身或微调),然后才能使用这些选项创建会话。
  • "downloading" 表示浏览器支持请求的选项,但需要先完成正在进行的下载操作,然后才能使用这些选项创建会话。
  • "available" 表示浏览器支持请求的选项,无需任何新下载。

如果对 availability() 的响应为 'downloadable',请监听下载进度并通知用户,以防下载需要一些时间。

const session = await LanguageModel.create({
  monitor(m) {
    m.addEventListener("downloadprogress", (e) => {
      console.log(`Downloaded ${e.loaded} of ${e.total} bytes.`);
    });
  },
});

多模态功能

Prompt API 支持从 Chrome 138 Canary 获取音频和图片输入,以进行本地实验。该 API 会返回文本输出。

借助这些功能,您可以:

  • 允许用户转写在聊天应用中发送的语音消息。
  • 描述上传到您网站的图片,以便在说明或替代文本中使用。

您的反馈有助于我们确定此 API 的未来发展方向,以及改进 Gemini Nano。这甚至可能会产生专用任务 API(例如用于音频转写或图片描述的 API),确保我们能够满足您和用户的需求。

参与并分享反馈

您的反馈将直接影响我们构建和实现此 API 及所有内置 AI API 的未来版本的方式。