GenAI API ของ ML Kit ใช้ประโยชน์จากประสิทธิภาพของ Gemini Nano เพื่อช่วยให้แอปของคุณทำงาน Generative AI ในอุปกรณ์ได้ API เหล่านี้สร้างขึ้นจาก AICore ซึ่งเป็นบริการระบบ Android ที่จัดการโมเดลพื้นฐานในอุปกรณ์และเร่งการอนุมานในขณะที่รักษาข้อมูลผู้ใช้ให้เป็นส่วนตัว
ข้อกำหนดในการให้บริการเพิ่มเติมของ GenAI API ใน ML Kit มีผลบังคับใช้กับการใช้ GenAI API นักพัฒนาแอปเป็นผู้รับผิดชอบแต่เพียงผู้เดียวต่อความปลอดภัยของไคลเอ็นต์ API และประสบการณ์ของผู้ใช้แอป
ความสามารถหลัก
ML Kit จัดระเบียบความสามารถของ GenAI ออกเป็นหมวดหมู่ต่อไปนี้
การสร้างและ Agent ที่กำหนดเอง
ทำงานร่วมกับโมเดลพื้นฐาน Gemini Nano โดยตรงสำหรับการเขียนพรอมต์ที่กำหนดเองและเวิร์กโฟลว์ Agent แบบอัตโนมัติ
- การเข้าถึงโมเดลโดยตรง (โดยใช้คลาส
GenerativeModel): สร้างข้อความที่สร้างขึ้นหรือเอาต์พุตที่มีโครงสร้างซึ่งพิมพ์จากพรอมต์แบบข้อความเท่านั้นหรือการเขียนพรอมต์แบบหลายรูปแบบที่กำหนดเอง หรือจัดการประวัติการแชทแบบการสนทนาไปมาของคุณเองโดยตรงโดยใช้ออบเจ็กต์List<Content>ที่มีบทบาทUSERและMODELและค่าsessionIdและจัดการการประกาศเครื่องมือโดยตรง - เวิร์กโฟลว์ Agentic (ใช้คลาส
AgentRunner): สร้างขึ้นจากคลาสGenerativeModelซึ่งจะทำให้การจัดการเซสชันแบบหลายเทิร์น (รวมถึงประวัติการสนทนาในหน่วยความจำ) และลูปการเรียกใช้เครื่องมือแบบหลายขั้นตอนเป็นแบบอัตโนมัติ
เสียงพูดและเสียง
ถอดเสียง แปล และสังเคราะห์เสียงพูดในอุปกรณ์:
- การจดจำเสียงพูด: ถอดเสียงเนื้อหาเสียงพูดเป็นข้อความในภาษาเดียวกัน
- การแปลเสียงพูด: แปลเสียงพูดเป็นข้อความในภาษาอื่นแบบเรียลไทม์
- การอ่านออกเสียงข้อความ: สังเคราะห์เสียงพูดที่ฟังดูเป็นธรรมชาติจากข้อความ
งานเกี่ยวกับข้อความและรูปภาพ
ใช้ API สำหรับงานที่เฉพาะเจาะจงซึ่งได้รับการเพิ่มประสิทธิภาพสำหรับงานด้านการมองเห็น การเขียน และการค้นหาทั่วไปโดยไม่ต้องใช้วิศวกรรมพรอมต์ (Prompt Engineering) ดังนี้
- คำอธิบายรูปภาพ: สร้างคำอธิบายสั้นๆ ของรูปภาพที่ระบุ
- การสรุป: สรุปบทความหรือการสนทนาในแชทเป็นรายการสัญลักษณ์หัวข้อย่อย
- การพิสูจน์อักษร: ปรับแต่งเนื้อหาสั้นๆ โดยการปรับปรุงไวยากรณ์และแก้ไขข้อผิดพลาดในการสะกดคำ
- การเขียนใหม่: เขียนข้อความสั้นๆ ใหม่ในโทนหรือสไตล์ที่แตกต่างกัน
- การค้นหาเชิงความหมาย: สร้างการฝังเวกเตอร์สำหรับข้อความและรูปภาพโดยใช้ Embedding API และจับคู่กับ AppSearch ของ AndroidX เพื่อค้นหาเนื้อหาตามความหมาย
ประโยชน์ของ GenAI API
GenAI API ทำงานในอุปกรณ์ทั้งหมดเช่นเดียวกับฟีเจอร์ ML Kit อื่นๆ ที่มีอยู่ จึงมีประโยชน์ดังต่อไปนี้
- ระบบจะประมวลผลข้อมูลอินพุต การอนุมาน และเอาต์พุตในเครื่อง
- ฟังก์ชันการทำงานยังคงเหมือนเดิมแม้ไม่มีการเชื่อมต่ออินเทอร์เน็ตที่เสถียร
- ไม่มีค่าใช้จ่ายเพิ่มเติมสำหรับเซิร์ฟเวอร์ในการเรียก API แต่ละครั้ง
นอกจากนี้ เนื่องจาก GenAI API สร้างขึ้นบน AICore และขับเคลื่อนโดย Gemini Nano แอปและ API สำหรับงานที่เฉพาะเจาะจงจึงใช้โมเดลพื้นฐาน Gemini Nano เดียวกันในอุปกรณ์ ซึ่งจะช่วยหลีกเลี่ยงการรอให้ดาวน์โหลดโมเดลแยกต่างหากหากมี Gemini Nano อยู่ในอุปกรณ์แล้ว และช่วยประหยัดพื้นที่เก็บข้อมูลด้วย ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ AICore แยกคำขอเพื่อปกป้องความเป็นส่วนตัว
สตรีมมิงเทียบกับไม่ใช่สตรีมมิง
GenAI API ของ ML Kit มีทั้งตัวเลือกการสตรีมและไม่ใช่การสตรีมสำหรับการรับผลลัพธ์ Streaming API จะส่งคำตอบเพิ่มขึ้นเรื่อยๆ เมื่อมีการสร้างคำตอบขึ้นมา ซึ่งจะทำให้มีการส่งข้อมูลอย่างต่อเนื่อง ในทางตรงกันข้าม API ที่ไม่ใช่สตรีมมิงจะรอจนกว่าการตอบกลับทั้งหมดจะเสร็จสมบูรณ์ก่อนที่จะแสดงผลเป็นบล็อกเดียว
เลือก Streaming API สำหรับคำตอบที่ยาว เนื่องจากช่วยให้แสดงความคิดเห็นเบื้องต้นได้เร็วขึ้น API ที่ไม่ใช่สตรีมมิงเหมาะสำหรับคำตอบสั้นๆ หรือเมื่อประมวลผลผลลัพธ์เป็นกลุ่ม
การรองรับอุปกรณ์
การรองรับอุปกรณ์สำหรับการสร้างและ Agent ที่กำหนดเอง รวมถึง Tasks API งานข้อความและรูปภาพจะอธิบายไว้ในส่วนต่อไปนี้ สำหรับฟีเจอร์ที่ไม่ได้ระบุไว้ในส่วนนี้ โปรดดูข้อมูลการรองรับอุปกรณ์ในหน้าฟีเจอร์แต่ละรายการ
การสร้างที่กำหนดเองและการรองรับอุปกรณ์ของ Agent
การเข้าถึงโมเดลโดยตรงและเวิร์กโฟลว์ Agentic รองรับในอุปกรณ์ต่อไปนี้
nano-v2 |
|
nano-v3 |
|
nano-v4 |
|
การรองรับอุปกรณ์สำหรับงานด้านข้อความและรูปภาพ
API คำอธิบายรูปภาพ, การสรุป, การพิสูจน์อักษร และการเขียนใหม่พร้อมใช้งานในอุปกรณ์ต่อไปนี้ โดยมีแผนที่จะขยายการรองรับไปยังอุปกรณ์อื่นๆ เพิ่มเติม
- Google: Pixel 11, Pixel 11 Pro, Pixel 11 Pro XL, Pixel 11 Pro Fold, 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 7, Magic 7 Pro, Magic 8 Pro, Magic V5
- iQOO: iQOO 13, iQOO 15
- Lenovo: Lenovo Idea Tab Pro Gen 2, Lenovo Legion Tab Gen 5(8.8 นิ้ว)
- Motorola: Razr 60 Ultra, Razr Ultra 2025, Signature
- OnePlus: OnePlus 15, OnePlus 15R, OnePlus 13, OnePlus 13s
- OPPO: Find N5, Find X9, Find X9 Pro, Find X8, Find X8 Pro, Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G
- POCO: POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO X7 Pro, POCO X8 Pro
- realme: realme GT 7 Pro, realme GT 7T
- Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 Ultra, Galaxy Z Flip8, Galaxy Z Fold8, Galaxy Z Fold8 Ultra, Galaxy Z Fold7, Galaxy Z TriFold
- Sharp: AQUOS R11
- Sony: Xperia 1 VIII
- vivo: vivo X200T, vivo X200 FE, vivo X200, vivo X200 Pro, vivo X300, X300 Pro, vivo X Fold3 Pro, vivo X Fold5, vivo T4 Ultra
- Xiaomi: Xiaomi 14T Pro, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17 Ultra, Xiaomi Pad Mini
ความพร้อมใช้งานของการรองรับภาษาที่เฉพาะเจาะจงอาจแตกต่างกันไปตามการกำหนดค่าของอุปกรณ์นั้นๆ และโมเดลที่ดาวน์โหลดลงในอุปกรณ์
ดึงข้อมูลเวอร์ชัน 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
โค้ดตัวอย่าง
หากต้องการรับโค้ดนี้ โปรดดูตัวอย่างต่อไปนี้