เผยแพร่: 12 ธันวาคม 2024, อัปเดตล่าสุด: 20 พฤษภาคม 2025
API ของ AI ในตัวช่วยให้เว็บแอปพลิเคชันของคุณทำงานที่ขับเคลื่อนด้วย AI ได้โดยไม่ต้องติดตั้งใช้งานหรือจัดการโมเดล AI ของตัวเอง เรากำลังดำเนินการเพื่อกำหนดมาตรฐาน API เหล่านี้ในเบราว์เซอร์ต่างๆ
ข้อกำหนด
หากต้องการใช้ AI ในตัว จะมีข้อกำหนดเกี่ยวกับโมเดลและฮาร์ดแวร์
โมเดล
Translator API และ Language Detector API ใช้โมเดลผู้เชี่ยวชาญ ส่วน API อื่นๆ ทั้งหมด ใช้โมเดลภาษาที่ออกแบบมาให้ทำงานในเครื่องบนเดสก์ท็อปและแล็ปท็อป
Summarizer API, Writer API, Rewriter API และ Proofreader API รองรับเฉพาะรูปแบบข้อความเป็นข้อความ Prompt API มีความสามารถด้านสื่อหลากรูปแบบ
โมเดลใน Chrome
Chrome ใช้โมเดลภาษาผู้เชี่ยวชาญและโมเดลภาษาพื้นฐาน โมเดลเหล่านี้ไม่พร้อมใช้งาน ในอุปกรณ์เคลื่อนที่
ตั้งแต่ Chrome 149 เป็นต้นไป โมเดลจะรองรับภาษาอังกฤษ สเปน ญี่ปุ่น เยอรมัน และฝรั่งเศสสำหรับข้อความอินพุต และเอาต์พุต
ฮาร์ดแวร์
นักพัฒนาแอปและผู้ใช้ที่ใช้งานฟีเจอร์โดยใช้ API เหล่านี้ใน Chrome ต้องมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้ เบราว์เซอร์อื่นๆ อาจมีข้อกำหนดในการใช้งานที่แตกต่างกัน
API ตรวจหาภาษาและ API แปลภาษาทำงานใน Chrome บน เดสก์ท็อป API เหล่านี้ใช้ไม่ได้บนอุปกรณ์เคลื่อนที่
Prompt API, Summarizer API, Writer API, Rewriter API และ Proofreader API จะทำงานใน Chrome เมื่อมีคุณสมบัติตรงตามเงื่อนไขต่อไปนี้
- ระบบปฏิบัติการ: Windows 10 หรือ 11, macOS 13 ขึ้นไป (Ventura ขึ้นไป), Linux หรือ ChromeOS (ตั้งแต่แพลตฟอร์ม 16389.0.0 ขึ้นไป) ในอุปกรณ์ Chromebook Plus Chrome สำหรับ Android, iOS และ ChromeOS ในอุปกรณ์ที่ไม่ใช่ Chromebook Plus ยังไม่รองรับ API ที่ใช้โมเดลพื้นฐาน
- พื้นที่เก็บข้อมูล: มีพื้นที่ว่างอย่างน้อย 22 GB ในวอลุ่มที่มี โปรไฟล์ Chrome
- GPU หรือ CPU: โมเดลในตัวสามารถทำงานด้วย GPU หรือ CPU
- GPU: VRAM มากกว่า 4 GB เท่านั้น
- CPU: RAM 16 GB ขึ้นไปและ CPU 4 คอร์ขึ้นไป
- หมายเหตุ: Prompt API ที่มีอินพุตเสียงต้องใช้ GPU
- เครือข่าย: อินเทอร์เน็ตแบบไม่จำกัดหรือการเชื่อมต่อแบบไม่มีการวัดปริมาณอินเทอร์เน็ต
ขนาดที่แน่นอนของ Gemini Nano อาจแตกต่างกันไปเมื่อเบราว์เซอร์อัปเดตโมเดล หากต้องการดูขนาดปัจจุบัน ให้ไปที่ chrome://on-device-internals
เริ่มสร้าง
เรามี AI API ในตัวหลายรายการที่พร้อมใช้งานใน ขั้นตอนการพัฒนาต่างๆ ฟีเจอร์บางอย่างอยู่ใน Chrome เวอร์ชันเสถียร บางอย่างพร้อมให้ใช้งานสำหรับ ผู้เข้าร่วมโปรแกรมทดลองใช้จากต้นทาง และบางอย่างพร้อมให้ใช้งานสำหรับ ผู้เข้าร่วมโปรแกรมเวอร์ชันตัวอย่างช่วงแรกเท่านั้น
API แต่ละรายการมีชุดวิธีการของตัวเองในการเริ่มต้นใช้งานและดาวน์โหลดโมเดล ทั้งสำหรับการสร้างต้นแบบในเครื่องและในสภาพแวดล้อมการใช้งานจริงที่มีการทดสอบต้นทาง
- Translator API
- Language Detector API
- Summarizer API
- Writer API และ Rewriter API
- Proofreader API
- Prompt API
คุณใช้ API ทั้งหมดนี้ได้เมื่อสร้างส่วนขยาย Chrome
การดาวน์โหลดโมเดล
API และโมเดลต่างๆ จะรวมอยู่ใน Chrome ครั้งแรกที่ผู้ใช้โต้ตอบ กับ API เหล่านี้ ระบบจะต้องดาวน์โหลดโมเดลไปยังเบราว์เซอร์
หากต้องการตรวจสอบว่า API พร้อมใช้งานหรือไม่ ให้เรียกใช้ฟังก์ชันแบบอะซิงโครนัส
availability() ซึ่งจะแสดงผล Promise ที่มีค่าใดค่าหนึ่งต่อไปนี้
"unavailable": อุปกรณ์ของผู้ใช้หรือตัวเลือกเซสชันที่ขอไม่รองรับ อุปกรณ์อาจมีพลังงานหรือพื้นที่ในดิสก์ไม่เพียงพอ"downloadable": ต้องดาวน์โหลดเพิ่มเติมเพื่อสร้างเซสชัน ซึ่งอาจรวมถึงโมเดลผู้เชี่ยวชาญ โมเดลภาษา หรือการปรับแต่ง คุณอาจต้องเปิดใช้งานผู้ใช้เพื่อโทรหาcreate()"downloading": การดาวน์โหลดกำลังดำเนินการอยู่และต้องเสร็จสมบูรณ์ก่อนจึงจะใช้ เซสชันได้"available": คุณสร้างเซสชันได้ทันที
API บางรายการต้องมีตัวเลือกเพิ่มเติมเมื่อเรียกใช้ความพร้อมให้บริการ เช่น Prompt API กำหนดให้ต้องประกาศการรองรับภาษา
// Makes sure the model is available for English and Japanese input text,
// supports image input, and can generate English output.
await LanguageModel.availability({
expectedInputs: [{type: "text", languages: ["en", "ja"]}, {type: "image"}],
expectedOutputs: [{type: "text", languages: ["en"]}],
});
การเปิดใช้งานผู้ใช้
หากอุปกรณ์รองรับ API AI ในตัว แต่ยังไม่ได้ดาวน์โหลดโมเดล (กล่าวคือ เมื่อเรียกใช้ availability() จะแสดงผล "downloadable" หรือ "downloading") ผู้ใช้ต้องโต้ตอบกับหน้าเว็บของคุณอย่างมีความหมายเพื่อให้แอปพลิเคชันเริ่มเซสชันด้วย create()
ใช้พร็อพเพอร์ตี้ UserActivation.isActive
เพื่อยืนยันว่าผู้ใช้โต้ตอบกับหน้าเว็บโดยตรงตั้งแต่หน้าเว็บ
โหลดเสร็จ ซึ่งอาจรวมถึงการแตะ การคลิก การกดแป้น mousedown หรือ
เหตุการณ์การเปิดใช้งานแบบติดหนึบอื่นๆ
// Check for user activation.
if (navigator.userActivation.isActive) {
// Create an instance of a built-in API
}
ตัวอย่างเช่น เมื่อใช้ Summarizer API คุณจะ
ขอให้ผู้ใช้โต้ตอบกับปุ่มที่ระบุว่า "สรุป" เพื่อเปิดใช้งาน
Summarizer.create() หรือคุณจะสร้างตัวสรุปเมื่อผู้ใช้เริ่ม
พิมพ์ ซึ่งเป็นเหตุการณ์ keydown ก็ได้
แก้ปัญหา localhost
หากโมเดลทำงานไม่เป็นไปตามที่คาดไว้ ให้ทำตามขั้นตอนต่อไปนี้
- รีสตาร์ท Chrome
- ไปที่
chrome://on-device-internals - เลือกแท็บสถานะโบรกเกอร์และตรวจสอบว่าไม่มีข้อผิดพลาด
- เปิดเครื่องมือสำหรับนักพัฒนาเว็บแล้วพิมพ์
LanguageModel.availability();ลงใน คอนโซล ซึ่งควรแสดงผลเป็นavailable
หากจำเป็น ให้รอสักครู่แล้วทำตามขั้นตอนเหล่านี้ซ้ำ
กระบวนการมาตรฐาน
เรากำลังดำเนินการเพื่อกำหนดมาตรฐาน API เหล่านี้ เพื่อให้ทำงานได้ในทุกเบราว์เซอร์ ซึ่งหมายความว่าเราได้เสนอ API ให้กับชุมชนแพลตฟอร์มเว็บ และย้าย API ไปยัง W3C Web Incubator Community Group เพื่อพูดคุยเพิ่มเติม
เราขอความคิดเห็นจาก W3C, Mozilla และ WebKit สำหรับ API แต่ละรายการ
มีส่วนร่วมและแชร์ความคิดเห็น
หากคุณลองใช้ AI ในตัวและมีความคิดเห็น โปรดแจ้งให้เราทราบ
- ดู AI API ในตัวทั้งหมด
- เข้าร่วมโปรแกรมทดลองใช้ก่อนเปิดตัว เพื่อดู API ใหม่ๆ ก่อนใครและรับสิทธิ์เข้าถึงรายชื่ออีเมลของเรา
- หากมีความคิดเห็นเกี่ยวกับการใช้งานของ Chrome โปรดรายงานข้อบกพร่อง Chromium
- ดูข้อมูลเกี่ยวกับมาตรฐานเว็บ