เผยแพร่: 11 พฤศจิกายน 2024, อัปเดตล่าสุด: 30 กรกฎาคม 2025
Browser Support
คุณสามารถให้ผู้ใช้กลั่นกรองบทความขนาดยาว เอกสารที่ซับซ้อน หรือแม้แต่การสนทนาในแชทที่สนุกสนานให้กลายเป็นข้อมูลสรุปที่กระชับและมีข้อมูลเชิงลึกได้
คุณสามารถใช้ Summarizer API เพื่อสร้างข้อมูลสรุปประเภทต่างๆ ใน ความยาวและรูปแบบที่หลากหลาย เช่น ประโยค ย่อหน้า รายการหัวข้อย่อย และอื่นๆ เราเชื่อว่า API นี้มีประโยชน์ในสถานการณ์ต่อไปนี้
- สรุปประเด็นสำคัญของบทความหรือการสนทนาในแชท
- แนะนำชื่อและหัวข้อสำหรับบทความ
- สร้างข้อมูลสรุปที่กระชับและให้ข้อมูลจากข้อความที่มีความยาว
- การสร้างทีเซอร์สำหรับหนังสือโดยอิงตามรีวิวหนังสือ
เริ่มต้นใช้งาน
Summarizer API พร้อมใช้งานใน Chrome 138 เวอร์ชันเสถียร
ก่อนใช้ API นี้ โปรดยอมรับนโยบายการใช้งานที่ไม่อนุญาตสำหรับ Generative AI ของ Google
เรียกใช้การตรวจหาฟีเจอร์เพื่อดูว่าเบราว์เซอร์รองรับ Summarizer API หรือไม่
if ('Summarizer' in self) { // The Summarizer API is supported. }
ตรวจสอบข้อกำหนดเกี่ยวกับฮาร์ดแวร์
นักพัฒนาแอปและผู้ใช้ที่ใช้งานฟีเจอร์โดยใช้ API เหล่านี้ใน Chrome ต้องมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้ เบราว์เซอร์อื่นๆ อาจมีข้อกำหนดในการใช้งานที่แตกต่างกัน
API ตรวจหาภาษาและ API แปลภาษาใช้งานได้ใน Chrome บนเดสก์ท็อป API เหล่านี้ใช้ไม่ได้ใน อุปกรณ์เคลื่อนที่ Prompt API, Summarizer API, Writer API และ Rewriter API จะทำงานใน Chrome เมื่อเป็นไปตามเงื่อนไขต่อไปนี้
- ระบบปฏิบัติการ: Windows 10 หรือ 11, macOS 13 ขึ้นไป (Ventura ขึ้นไป), Linux หรือ ChromeOS (ตั้งแต่แพลตฟอร์ม 16389.0.0 ขึ้นไป) ในอุปกรณ์ [Chromebook Plus](https://www.google.com/chromebook/chromebookplus/) Chrome สำหรับ Android, iOS และ ChromeOS ในอุปกรณ์ที่ไม่ใช่ Chromebook Plus ยังไม่รองรับ API ที่ใช้ Gemini Nano
- พื้นที่เก็บข้อมูล: มีพื้นที่ว่างอย่างน้อย 22 GB ในวอลุ่มที่มี โปรไฟล์ Chrome
- GPU: VRAM มากกว่า 4 GB เท่านั้น
- เครือข่าย: อินเทอร์เน็ตแบบไม่จำกัดหรือการเชื่อมต่อแบบไม่จำกัดปริมาณ
ขนาดที่แน่นอนของ Gemini Nano อาจแตกต่างกันไปเมื่อเบราว์เซอร์อัปเดตโมเดล หากต้องการดูขนาดปัจจุบัน ให้ไปที่ chrome://on-device-internals
แล้วไปที่ สถานะโมเดล เปิดเส้นทางไฟล์ที่ระบุเพื่อกำหนดขนาดโมเดล
การดาวน์โหลดโมเดล
API สรุปจะใช้โมเดลที่ได้รับการฝึกให้สร้างข้อมูลสรุปคุณภาพสูง API นี้มีอยู่ใน Chrome และ Gemini Nano คือโมเดลที่ดาวน์โหลด เมื่อเว็บไซต์ใช้ API นี้เป็นครั้งแรก
หากต้องการตรวจสอบว่าโมเดลพร้อมใช้งานหรือไม่ ให้เรียกใช้ฟังก์ชันแบบอะซิงโครนัส Summarizer.availability()
หากการตอบกลับ availability()
คือ downloadable
ให้รอฟังความคืบหน้าในการดาวน์โหลด เพื่อแจ้งให้ผู้ใช้ทราบความคืบหน้า เนื่องจากอาจใช้เวลาสักครู่
const availability = await Summarizer.availability();
หากต้องการทริกเกอร์การดาวน์โหลดโมเดลและสร้างเครื่องมือสรุป ให้ตรวจสอบ การเปิดใช้งานผู้ใช้ จากนั้นเรียกใช้ ฟังก์ชัน Summarizer.create()
แบบไม่พร้อมกัน
// Proceed to request batch or streaming summarization const summarizer = await Summarizer.create({ monitor(m) { m.addEventListener('downloadprogress', (e) => { console.log(`Downloaded ${e.loaded * 100}%`); }); } });
ฟังก์ชัน API
ฟังก์ชัน create()
ช่วยให้คุณกำหนดค่าออบเจ็กต์สรุปใหม่ตามความต้องการได้ โดยจะใช้ออบเจ็กต์ options
ที่ไม่บังคับซึ่งมีพารามิเตอร์ต่อไปนี้
sharedContext
: บริบทที่แชร์เพิ่มเติมซึ่งอาจช่วยสรุปได้type
: ประเภทของการสรุป โดยมีค่าที่อนุญาตคือkey-points
(ค่าเริ่มต้น),tldr
,teaser
และheadline
ดูรายละเอียดในตารางต่อไปนี้format
: รูปแบบของการสรุป โดยมีค่าที่อนุญาตคือmarkdown
(ค่าเริ่มต้น) และplain-text
length
: ความยาวของข้อมูลสรุป โดยมีค่าที่อนุญาตคือshort
,medium
(ค่าเริ่มต้น) และlong
ความหมายของระยะเวลาเหล่านี้จะแตกต่างกันไปตามtype
ที่ขอ ตัวอย่างเช่น ในการใช้งานของ Chrome สรุปประเด็นสำคัญแบบสั้นประกอบด้วยหัวข้อย่อย 3 รายการ และสรุปแบบสั้นคือ 1 ประโยค
เมื่อตั้งค่าแล้ว คุณจะเปลี่ยนพารามิเตอร์ไม่ได้ สร้างออบเจ็กต์สรุปใหม่ หากต้องการแก้ไขพารามิเตอร์
ตารางต่อไปนี้แสดงสรุปประเภทต่างๆ และความยาวที่เกี่ยวข้อง ความยาวแสดงถึงค่าสูงสุดที่เป็นไปได้ เนื่องจากบางครั้งผลลัพธ์อาจสั้นกว่านี้
ประเภท | ความหมาย | ความยาว | ||||||
---|---|---|---|---|---|---|---|---|
"tldr" | ข้อมูลสรุปควรสั้นและตรงประเด็น โดยให้ภาพรวมคร่าวๆ ของ อินพุต ซึ่งเหมาะสำหรับผู้อ่านที่ไม่มีเวลา |
| ||||||
"teaser" | ข้อมูลสรุปควรเน้นส่วนที่น่าสนใจที่สุดของอินพุต ซึ่งออกแบบมาเพื่อดึงดูดให้ผู้อ่านอ่านต่อ |
| ||||||
"key-points" | ข้อมูลสรุปควรดึงประเด็นที่สำคัญที่สุดจากข้อมูลที่ป้อน ซึ่งแสดงเป็นรายการหัวข้อย่อย |
| ||||||
"headline" | ข้อมูลสรุปควรมีประเด็นหลักของอินพุตอย่างมีประสิทธิภาพใน ประโยคเดียวในรูปแบบของพาดหัวข่าว |
|
เช่น คุณสามารถเริ่มต้นใช้งานเครื่องมือสรุปเพื่อแสดงผลความยาวปานกลางของ ประเด็นสำคัญในมาร์กดาวน์
const options = { sharedContext: 'This is a scientific article', type: 'key-points', format: 'markdown', length: 'medium', monitor(m) { m.addEventListener('downloadprogress', (e) => { console.log(`Downloaded ${e.loaded * 100}%`); }); } }; const availability = await Summarizer.availability(); if (availability === 'unavailable') { // The Summarizer API isn't usable. return; } // Check for user activation before creating the summarizer if (navigator.userActivation.isActive) { const summarizer = await Summarizer.create(options); }
คุณเรียกใช้เครื่องมือสรุปได้ 2 วิธี ได้แก่ การสตรีมและแบบเป็นกลุ่ม (ไม่ใช่การสตรีม)
การสรุปแบบกลุ่ม
การสรุปแบบเป็นชุดทำให้โมเดลประมวลผลอินพุตทั้งหมดและ สร้างเอาต์พุต
หากต้องการรับข้อมูลสรุปแบบเป็นชุด ให้เรียกใช้ฟังก์ชัน summarize()
อาร์กิวเมนต์แรกคือข้อความที่ต้องการสรุป อาร์กิวเมนต์ที่ 2 ซึ่งไม่บังคับ คือออบเจ็กต์ที่มีฟิลด์ context
ฟิลด์นี้ช่วยให้คุณเพิ่มรายละเอียดเบื้องหลัง ที่อาจปรับปรุงการสรุปได้
const longText = document.querySelector('article').innerHTML; const summary = await summarizer.summarize(longText, { context: 'This article is intended for a tech-savvy audience.', });
การสรุปจากสตรีมมิง
การสรุปการสตรีมจะแสดงผลลัพธ์แบบเรียลไทม์ เอาต์พุตจะอัปเดตอย่างต่อเนื่องเมื่อมีการเพิ่มและปรับอินพุต หากต้องการรับ สรุปการสตรีม ให้เรียกใช้ summarizeStreaming()
แทน summarize()
const longText = document.querySelector('article').innerHTML; const stream = summarizer.summarizeStreaming(longText, { context: 'This article is intended for junior developers.', }); for await (const chunk of stream) { console.log(chunk); }
สาธิต
คุณลองใช้ Summarizer API ได้ใน Summarizer API Playground
นโยบายสิทธิ์, iframe และ Web Worker
โดยค่าเริ่มต้น API สรุปจะพร้อมใช้งานเฉพาะในหน้าต่างระดับบนสุดและ iframe ที่มีแหล่งที่มาเดียวกัน คุณมอบสิทธิ์เข้าถึง API ให้กับ iframe แบบข้ามต้นทางได้ โดยใช้แอตทริบิวต์ Permission Policy allow=""
ดังนี้
<!-- The hosting site at https://main.example.com can grant a cross-origin iframe at https://cross-origin.example.com/ access to the Summarizer API by setting the `allow="summarizer"` attribute. --> <iframe src="https://cross-origin.example.com/" allow="summarizer"></iframe>
ขณะนี้ Summarizer API ยังไม่พร้อมใช้งานใน Web Workers เนื่องจาก ความซับซ้อนของการจัดทำเอกสารที่รับผิดชอบสำหรับผู้ปฏิบัติงานแต่ละราย เพื่อ ตรวจสอบสถานะนโยบายสิทธิ์
แชร์ความคิดเห็น
เราอยากเห็นสิ่งที่คุณสร้างด้วย Summarizer API แชร์เว็บไซต์และเว็บแอปพลิเคชันของคุณกับเราบน X, YouTube และ LinkedIn
หากต้องการส่งความคิดเห็นเกี่ยวกับการใช้งาน Chrome ให้ยื่นรายงานข้อบกพร่อง หรือคำขอฟีเจอร์