เผยแพร่: 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 ให้ยื่นรายงานข้อบกพร่อง หรือคำขอฟีเจอร์