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, iQOO 15
- 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 X300, X300 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 |
|
nano-v3 |
|
อุปกรณ์ที่รองรับ Speech Recognition API
Speech Recognition API รองรับการใช้งานในอุปกรณ์ต่อไปนี้
| โหมดพื้นฐาน | ใช้โมเดลการจดจำเสียงแบบดั้งเดิมในอุปกรณ์ ซึ่งพร้อมใช้งานใน อุปกรณ์ Android ส่วนใหญ่ที่มี API ระดับ 31 ขึ้นไป |
|---|---|
| โหมดขั้นสูง | ใช้ประโยชน์จากโมเดล GenAI เพื่อคุณภาพที่สูงขึ้นและครอบคลุมภาษาที่กว้างขึ้น รองรับในอุปกรณ์ Pixel 10 และกำลังพัฒนาสำหรับอุปกรณ์อื่นๆ |
ดึงข้อมูลเวอร์ชัน 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
โค้ดตัวอย่าง
หากต้องการรับรหัสนี้ ให้ดูตัวอย่างต่อไปนี้