發布日期:2025 年 3 月 12 日,上次更新日期:2025 年 5 月 28 日
說明 | 網頁 | 額外資訊 | Chrome 狀態 | Intent |
---|---|---|---|---|
MDN | 查看 | 出貨意願 |
摘要產生器 API 可協助您生成各種長度和格式的資訊摘要。搭配 Chrome 中的 Gemini Nano 或瀏覽器內建的其他語言模型,簡要說明長篇或複雜的文字。
在用戶端執行時,您可以在本機處理資料,確保機密資料安全無虞,並大規模提供服務。不過,與伺服器端模型相比,內容視窗小得多,因此可能難以摘要大型文件。如要解決這個問題,可以使用「摘要的摘要」技巧。
什麼是摘要的摘要?
如要使用「摘要的摘要」技巧,請在重要時間點分割輸入內容,然後分別摘要各部分內容。您可以串連各部分的輸出內容,然後將串連的文字彙整成最終摘要。

謹慎分割內容
請務必考量如何分割大量文字,因為不同的策略可能會導致 LLM 產生不同的輸出內容。理想情況下,應在主題變更時分割文字,例如文章的新章節或段落。請務必避免在字詞或句子中間分割文字,也就是說,您不能只依據字元數來分割文字。
您可以透過多種方式達成這個目的,在以下範例中,我們使用了 LangChain.js 的遞迴文字分割器,可兼顧效能和輸出品質。這項做法適用於大多數工作負載。
建立新執行個體時,有兩個重要參數:
- 每個分割畫面最多可包含
chunkSize
個字元。 chunkOverlap
是指兩個連續分割之間要重疊的字元數。這可確保每個區塊都包含前一個區塊的部分脈絡。
使用 splitText()
分割文字,傳回每個區塊的字串陣列。
大多數 LLM 的脈絡窗口都是以權杖數量表示,而非字元數量。平均來說,一個權杖包含 4 個字元。在我們的範例中,chunkSize
為 3000 個字元,大約是 750 個權杖。
判斷權杖是否可用
如要判斷輸入內容可使用的權杖數量,請使用 measureInputUsage()
方法和 inputQuota
屬性。在本例中,實作方式沒有限制,因為您無法得知摘要工具會執行幾次,才能處理所有文字。
生成每個分攤的摘要
設定內容分割方式後,即可使用 Summarizer API 為每個部分生成摘要。
使用 create()
函式建立摘要工具例項。為盡可能保留背景資訊,我們已將 format
參數設為 plain-text
,type
設為 tldr
,並將 length
設為 long
。
接著,針對 RecursiveCharacterTextSplitter
建立的每個分割區產生摘要,並將結果串連成新的字串。我們以新行分隔每個摘要,清楚標示各部分的摘要。
雖然只執行一次迴圈時,這個新行並不重要,但有助於判斷每個摘要如何增加最終摘要的權杖值。在大多數情況下,這個解決方案適用於中長篇內容。
摘要的遞迴摘要
如果文字過長,串連摘要的長度可能會超過可用的脈絡窗口,導致摘要失敗。如要解決這個問題,您可以遞迴總結摘要。

我們仍會蒐集 RecursiveCharacterTextSplitter
生成的初始分段。接著,在 recursiveSummarizer()
函式中,我們會根據串連分割的字元長度,迴圈執行摘要程序。如果摘要的字元長度超過 3000
,我們會將摘要串連成 fullSummaries
。如果未達上限,系統會將摘要儲存為 partialSummaries
。
所有摘要生成完畢後,最終的部分摘要會加入完整摘要。如果 fullSummaries
中只有 1 個摘要,則不需要額外的遞迴。函式會傳回最終摘要。如果有多個摘要,函式會重複執行,並繼續摘要部分摘要。
我們使用網際網路中繼聊天 (IRC) RFC 測試這項解決方案,該 RFC 包含 110,030 個字元,其中有 17,560 個字。Summarizer API 提供以下摘要:
網際網路即時通訊 (IRC) 是一種線上即時通訊方式,可透過文字訊息進行溝通。你可以在頻道中聊天或傳送私人訊息,也可以使用指令控制聊天室及與伺服器互動。就像網際網路上的聊天室,您可以在其中輸入訊息,並立即看到其他人的訊息。
這項功能相當實用!而且只有 309 個字元。
限制
摘要摘要技術可協助您在用戶端大小的模型內容視窗中運作。雖然用戶端 AI 有許多優點,但您可能會遇到下列情況:
- 摘要內容不夠準確:遞迴可能會無限重複摘要程序,且每次產生的摘要內容與原始文字的差異會越來越大。這表示模型產生的最終摘要可能不夠深入,無法提供實用資訊。
- 效能較慢:系統需要時間生成摘要,同樣地,由於較長的文字可能產生無限多種摘要,因此這個方法可能需要幾分鐘才能完成。
提供意見
嘗試使用摘要的摘要技術,搭配不同長度的輸入文字、不同大小的分割區,以及不同長度的重疊部分,並使用 Summarizer API。
- 如要提供 Chrome 實作方面的意見,請提交錯誤報告或功能要求。
- 參閱 MDN 上的說明文件
- 與 Chrome AI 團隊討論摘要程序或任何其他內建 AI 問題。