การตรวจหาภาษาด้วย AI ในตัว

เผยแพร่: 24 กันยายน 2024, อัปเดตล่าสุด: 20 พฤษภาคม 2025

คำอธิบาย เว็บ ส่วนขยาย สถานะของ Chrome ความตั้งใจ
MDN Chrome 138 Chrome 138 ดู ความตั้งใจที่จะจัดส่ง

ก่อนแปลข้อความจากภาษาหนึ่งเป็นอีกภาษาหนึ่ง คุณต้องพิจารณาก่อนว่า ข้อความที่กำหนดใช้ภาษาใด ก่อนหน้านี้การแปลต้องมีการอัปโหลดข้อความไปยังบริการระบบคลาวด์ ดำเนินการแปลบนเซิร์ฟเวอร์ แล้วจึงดาวน์โหลดผลลัพธ์

Language Detector API ทำงานฝั่งไคลเอ็นต์ ซึ่งหมายความว่าคุณสามารถปกป้องความเป็นส่วนตัวของผู้ใช้ได้ แม้ว่าจะเป็นไปได้ที่จะจัดส่งไลบรารีที่เฉพาะเจาะจงซึ่งทำเช่นนี้ แต่จะต้องใช้ทรัพยากรเพิ่มเติมในการดาวน์โหลด

กรณีที่ควรใช้การตรวจหาภาษา

API ตรวจหาภาษาจะมีประโยชน์เป็นหลักในสถานการณ์ต่อไปนี้

  • ระบุภาษาของข้อความที่ป้อนเพื่อให้แปลได้
  • กำหนดภาษาของข้อความอินพุต เพื่อให้ระบบโหลดโมเดลที่ถูกต้องสำหรับงานที่เฉพาะเจาะจงภาษา เช่น การตรวจหาความเป็นพิษ
  • ระบุภาษาของข้อความที่ป้อนเพื่อให้ติดป้ายกำกับได้อย่างถูกต้อง เช่น ในเว็บไซต์เครือข่ายสังคมออนไลน์
  • ระบุภาษาของข้อความที่ป้อน เพื่อให้ปรับอินเทอร์เฟซของแอปได้ตามนั้น เช่น ในเว็บไซต์ของเบลเยียม ให้แสดงเฉพาะอินเทอร์เฟซ ที่เกี่ยวข้องกับผู้ใช้ที่พูดภาษาฝรั่งเศส

เริ่มต้นใช้งาน

API ตรวจหาภาษาพร้อมใช้งานใน Chrome 138 เวอร์ชันเสถียร เรียกใช้การตรวจหาฟีเจอร์ เพื่อดูว่าเบราว์เซอร์รองรับ Language Detector API หรือไม่

if ('LanguageDetector' in self) {
  // The Language Detector API is available.
}

ตรวจสอบข้อกำหนดเกี่ยวกับฮาร์ดแวร์

นักพัฒนาแอปและผู้ใช้ที่ใช้งานฟีเจอร์โดยใช้ API เหล่านี้ใน Chrome ต้องมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้ เบราว์เซอร์อื่นๆ อาจมีข้อกำหนดในการใช้งานที่แตกต่างกัน

API ตรวจหาภาษาและ API แปลภาษาใช้งานได้ใน Chrome บนเดสก์ท็อป API เหล่านี้ใช้ไม่ได้ในอุปกรณ์เคลื่อนที่ Prompt API, Summarizer API, Writer API และ Rewriter API จะทำงานใน Chrome เมื่อเป็นไปตามเงื่อนไขต่อไปนี้

  • ระบบปฏิบัติการ: Windows 10 หรือ 11, macOS 13 ขึ้นไป (Ventura ขึ้นไป) หรือ Linux Chrome สำหรับ Android, iOS และ ChromeOS ยังไม่รองรับ API ที่ใช้ Gemini Nano
  • พื้นที่เก็บข้อมูล: อย่างน้อย 22 GB ในวอลุ่มที่มีโปรไฟล์ Chrome
  • GPU: VRAM มากกว่า 4 GB เท่านั้น
  • เครือข่าย: อินเทอร์เน็ตแบบไม่จำกัดหรือการเชื่อมต่อแบบไม่จำกัดปริมาณ

ขนาดที่แน่นอนของ Gemini Nano อาจแตกต่างกันเล็กน้อย หากต้องการดูขนาดปัจจุบัน ให้ไปที่ chrome://on-device-internals แล้วไปที่สถานะโมเดล เปิดเส้นทางไฟล์ที่ระบุเพื่อกำหนดขนาดโมเดล

การดาวน์โหลดโมเดล

การตรวจหาภาษาขึ้นอยู่กับโมเดลที่ได้รับการปรับแต่งสำหรับงานเฉพาะในการตรวจหาภาษา แม้ว่า API จะสร้างขึ้นในเบราว์เซอร์ แต่ระบบจะดาวน์โหลดโมเดล ตามต้องการในครั้งแรกที่เว็บไซต์พยายามใช้ API ใน Chrome โมเดลนี้มีขนาดเล็กมากเมื่อเทียบกับโมเดลอื่นๆ ซึ่งอาจมีอยู่แล้วเนื่องจากฟีเจอร์อื่นๆ ของ Chrome ใช้โมเดลนี้

หากต้องการดูว่าโมเดลพร้อมใช้งานหรือไม่ ให้เรียกใช้ฟังก์ชันแบบอะซิงโครนัส LanguageDetector.availability() และตรวจสอบ Promise ที่ได้ โดยมี 3 คำตอบที่เป็นไปได้ดังนี้

  • "unavailable": ตัวเลือกที่ขอไม่รองรับหรือโมเดลไม่สามารถ รับพรอมต์ได้
  • "downloadable": ระบบรองรับคำขอ แต่คุณต้องดาวน์โหลดเพิ่มเติม ก่อนจึงจะสร้างเซสชันได้ การดาวน์โหลดเหล่านี้อาจรวมถึงโมเดลภาษา หรือการปรับแต่ง
  • "downloading": ระบบรองรับคำขอและกำลังดาวน์โหลด ซึ่งต้องดำเนินการให้เสร็จสิ้นก่อนสร้างเซสชัน
  • "available": ระบบรองรับคำขอและคุณสร้างเซสชันได้

หากต้องการทริกเกอร์การดาวน์โหลดและสร้างอินสแตนซ์ของเครื่องมือตรวจหาภาษา ให้เรียกใช้ฟังก์ชัน LanguageDetector.create() แบบอะซิงโครนัส หากการตอบกลับ availability() เป็น 'downloadable' หรือ 'downloading' แนวทางปฏิบัติแนะนำคือให้รอฟังความคืบหน้าในการดาวน์โหลด เพื่อให้คุณแจ้งให้ผู้ใช้ทราบได้ในกรณีที่การดาวน์โหลดใช้เวลานาน

ตัวอย่างต่อไปนี้แสดงวิธีเริ่มต้นตัวตรวจหาภาษา

const availability = await LanguageDetector.availability();

let detector;
if (availability === 'unavailable') {
  // The language detector isn't usable.
  return;
}
if (availability === 'available') {
  // The language detector can immediately be used.
  detector = await LanguageDetector.create();
} else {
  // The language detector can be used after model download.
  detector = await LanguageDetector.create({
    monitor(m) {
      m.addEventListener('downloadprogress', (e) => {
        console.log(`Downloaded ${e.loaded * 100}%`);
      });
    },
  });
  await detector.ready;
}

เรียกใช้ตัวตรวจหาภาษา

Language Detector API ใช้โมเดลการจัดอันดับเพื่อพิจารณาว่าข้อความที่กำหนดมีแนวโน้มที่จะใช้ภาษาใดมากที่สุด การจัดอันดับเป็นประเภทหนึ่งของแมชชีนเลิร์นนิง ซึ่งมีวัตถุประสงค์เพื่อจัดลำดับรายการ ในกรณีนี้ Language Detector API จะจัดอันดับภาษาจากความน่าจะเป็นสูงสุดไปต่ำสุด

ฟังก์ชัน detect() สามารถแสดงผลลัพธ์แรก คำตอบที่น่าจะเป็นไปได้มากที่สุด หรือวนซ้ำผู้สมัครที่จัดอันดับพร้อมระดับความมั่นใจ โดยจะแสดงผลเป็นรายการออบเจ็กต์ {detectedLanguage, confidence} ระดับ confidence จะแสดงเป็นค่าระหว่าง 0.0 (ความเชื่อมั่นต่ำสุด) และ 1.0 (ความเชื่อมั่นสูงสุด)

const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

สนามเด็กเล่น API

ทดลองใช้ Language Detector API ในสนามเด็กเล่นของ API ป้อนข้อความที่เขียนด้วยภาษาต่างๆ ใน Textarea

ความพยายามในการกำหนดมาตรฐาน

ทีม Chrome ได้ขอความคิดเห็นจาก กลุ่มสถาปัตยกรรมทางเทคนิคของ W3C และขอให้ Mozilla และ WebKit ระบุ จุดยืนด้านมาตรฐาน

แชร์ความคิดเห็น

เราอยากเห็นสิ่งที่คุณสร้างด้วย Language Detector API แชร์เว็บไซต์และเว็บแอปพลิเคชันของคุณกับเราบน X, YouTube และ LinkedIn

หากมีความคิดเห็นเกี่ยวกับการติดตั้งใช้งานของ Chrome โปรดรายงานข้อบกพร่องของ Chromium