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

瀏覽器相容性

另見