ภาพรวมของ ML Kit GenAI API

API ของ GenAI ใน ML Kit ใช้ประโยชน์จากความสามารถของ Gemini Nano เพื่อช่วยให้แอปของคุณ ทำงานต่างๆ ได้ API เหล่านี้มอบคุณภาพที่พร้อมใช้งานสำหรับกรณีการใช้งานยอดนิยม ผ่านอินเทอร์เฟซระดับสูง API ของ GenAI ใน ML Kit สร้างขึ้นบนAICore ซึ่งเป็นบริการของระบบ Android ที่ช่วยให้ดำเนินการโมเดลพื้นฐานของ GenAI ในอุปกรณ์ได้ เพื่ออำนวยความสะดวกในการใช้งานฟีเจอร์ต่างๆ เช่น ฟังก์ชันการทำงานของแอปที่ได้รับการปรับปรุงและ ความเป็นส่วนตัวของผู้ใช้ที่ดีขึ้นด้วยการประมวลผลข้อมูลในเครื่อง

ข้อกำหนดในการให้บริการเพิ่มเติมของ ML Kit GenAI API มีผลบังคับใช้กับการใช้ GenAI API นักพัฒนาแอปมีหน้าที่รับผิดชอบต่อความปลอดภัยของไคลเอ็นต์ API และ ประสบการณ์ของผู้ใช้แอปของตนแต่เพียงผู้เดียว

ฟีเจอร์หลัก

API ของ GenAI ใน ML Kit รองรับฟีเจอร์ต่อไปนี้

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

ประโยชน์ของ GenAI API

API ของ GenAI จะทำงานบนอุปกรณ์ทั้งหมดเช่นเดียวกับฟีเจอร์อื่นๆ ของ ML Kit ที่มีอยู่ จึงมีประโยชน์ดังนี้

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

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

การสตรีมเทียบกับการไม่สตรีม

API ของ GenAI ใน ML Kit มีทั้งตัวเลือกการสตรีมและไม่ใช่การสตรีมสำหรับการรับผลลัพธ์ Streaming API จะส่งการตอบกลับทีละรายการเมื่อมีการสร้างขึ้น ทำให้ข้อมูลไหลเวียนอย่างต่อเนื่อง ในทางตรงกันข้าม API ที่ไม่ใช่แบบสตรีมจะรอจนกว่าการตอบกลับทั้งหมดจะเสร็จสมบูรณ์ก่อนที่จะส่งคืนเป็นบล็อกเดียว

เลือก API การสตรีมสำหรับคำตอบที่ยาว เนื่องจากจะช่วยให้ได้รับความคิดเห็นเบื้องต้นได้เร็วขึ้น API ที่ไม่ใช่แบบสตรีมมิงเหมาะสำหรับคำตอบสั้นๆ หรือเมื่อ ประมวลผลผลลัพธ์เป็นกลุ่ม

การรองรับอุปกรณ์

API เฉพาะฟีเจอร์ GenAI (การสรุป การพิสูจน์อักษร การเขียนใหม่ และ คำอธิบายรูปภาพ) มีการรองรับอุปกรณ์ที่แตกต่างจาก Prompt API ตามที่อธิบายไว้ ในส่วนต่อไปนี้

การรองรับอุปกรณ์ API เฉพาะฟีเจอร์

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

  • Google: Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • Honor: Honor 400 Pro, Magic 6 Pro, Magic 6 RSR, Magic 7, Magic 7 Pro, Magic V3, Magic V5
  • iQOO: iQOO 13
  • Motorola: Razr 60 Ultra
  • OnePlus: OnePlus 13, OnePlus 13s, OnePlus Pad 3
  • OPPO: Find N5, Find X8, Find X8 Pro, Reno 14 Pro
  • POCO: POCO F7 Ultra, POCO X7 Pro
  • realme: realme GT 7 Pro, realme GT 7T
  • Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Ultra, Galaxy Z Fold7
  • vivo: vivo X200, vivo X200 Pro, vivo X Fold3 Pro, vivo X Fold5
  • Xiaomi: Xiaomi 15 Ultra, Xiaomi 15, Xiaomi 15T Pro, Xiaomi 15T, Xiaomi Pad mini

ความพร้อมใช้งานของการรองรับภาษาที่เฉพาะเจาะจงอาจแตกต่างกันไปตามการกำหนดค่าของอุปกรณ์นั้นๆ และโมเดลที่ดาวน์โหลดลงในอุปกรณ์

การรองรับอุปกรณ์สำหรับ Prompt API

ปัจจุบัน Prompt API รองรับอุปกรณ์ต่อไปนี้

nano-v2

  • Google: Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • Honor: Magic V5, Magic 7, Magic 7 Pro
  • iQOO: iQOO 13
  • Motorola: Razr 60 Ultra
  • OnePlus: OnePlus 13, OnePlus 13s, OnePlus Pad 3
  • OPPO: Find N5
  • POCO: POCO F7 Ultra
  • realme: realme GT 7 Pro
  • Samsung: Galaxy Z Fold7
  • Xiaomi: Xiaomi 15 Ultra, Xiaomi 15

nano-v3

  • Google: Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold

ดึงข้อมูลเวอร์ชัน Gemini Nano

Gemini Nano เวอร์ชันต่างๆ จะทำงานในอุปกรณ์ที่แตกต่างกัน หากต้องการกลับไปใช้ Gemini Nano เวอร์ชันในอุปกรณ์ ให้ใช้ getBaseModelName()

โควต้าต่อแอปพลิเคชัน

AICore บังคับใช้โควต้าการอนุมานต่อแอป การส่งคำขอ GenAI API มากเกินไปในช่วงเวลาสั้นๆ จะส่งผลให้ได้รับคำตอบ ErrorCode.BUSY เมื่อได้รับข้อผิดพลาดดังกล่าว ให้พิจารณาใช้ Exponential Backoff เพื่อ ลองส่งคำขออีกครั้ง นอกจากนี้ ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED อาจ แสดงขึ้นหากแอปใช้โควต้าที่มีระยะเวลานานเกินไป (เช่น โควต้าต่อวัน)

การใช้งานในเบื้องหลัง

อนุญาตให้ใช้การอนุมานของ GenAI API เฉพาะเมื่อแอปเป็นแอปพลิเคชันที่ทำงานอยู่เบื้องหน้าสูงสุด การใช้ API เมื่อแอปไม่ได้ทำงานอยู่เบื้องหน้า รวมถึง การใช้บริการที่ทำงานอยู่เบื้องหน้า จะส่งผลให้เกิดการตอบกลับ ErrorCode.BACKGROUND_USE_BLOCKED

โค้ดตัวอย่าง

หากต้องการรับรหัสนี้ ให้ดูตัวอย่างต่อไปนี้