สรุปด้วย AI ในตัว

เผยแพร่: 11 พฤศจิกายน 2024, อัปเดตล่าสุด: 30 กรกฎาคม 2025

Browser Support

  • Chrome: 138.
  • Edge: behind a flag.
  • Firefox: not supported.
  • Safari: not supported.

คุณสามารถให้ผู้ใช้กลั่นกรองบทความขนาดยาว เอกสารที่ซับซ้อน หรือแม้แต่การสนทนาในแชทที่สนุกสนานให้กลายเป็นข้อมูลสรุปที่กระชับและมีข้อมูลเชิงลึกได้

คุณสามารถใช้ 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" ข้อมูลสรุปควรสั้นและตรงประเด็น โดยให้ภาพรวมคร่าวๆ ของ อินพุต ซึ่งเหมาะสำหรับผู้อ่านที่ไม่มีเวลา
วิดีโอสั้น 1 ประโยค
ปานกลาง 3 ประโยค
ยาว 5 ประโยค
"teaser" ข้อมูลสรุปควรเน้นส่วนที่น่าสนใจที่สุดของอินพุต ซึ่งออกแบบมาเพื่อดึงดูดให้ผู้อ่านอ่านต่อ
วิดีโอสั้น 1 ประโยค
ปานกลาง 3 ประโยค
ยาว 5 ประโยค
"key-points" ข้อมูลสรุปควรดึงประเด็นที่สำคัญที่สุดจากข้อมูลที่ป้อน ซึ่งแสดงเป็นรายการหัวข้อย่อย
วิดีโอสั้น หัวข้อย่อย 3 รายการ
ปานกลาง หัวข้อย่อย 5 รายการ
ยาว หัวข้อย่อย 7 รายการ
"headline" ข้อมูลสรุปควรมีประเด็นหลักของอินพุตอย่างมีประสิทธิภาพใน ประโยคเดียวในรูปแบบของพาดหัวข่าว
วิดีโอสั้น 12 คำ
ปานกลาง 17 คำ
ยาว 22 คำ

เช่น คุณสามารถเริ่มต้นใช้งานเครื่องมือสรุปเพื่อแสดงผลความยาวปานกลางของ ประเด็นสำคัญในมาร์กดาวน์

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