รวมไฟล์ขนาดใหญ่ในคำขอแบบหลายโมดัลและจัดการไฟล์โดยใช้ Cloud Storage for Firebase

เมื่อเรียกใช้ Gemini API จากแอปของคุณโดยใช้ Vertex AI in Firebase SDK คุณสามารถเรียกให้โมเดล Gemini สร้างข้อความได้ โดยอิงตามอินพุตในหลายโมดัล พรอมต์แบบหลายโมดัลอาจมีรูปแบบต่างๆ มากมาย (หรือประเภทของอินพุต) เช่น ข้อความพร้อมรูปภาพ, PDF, วิดีโอ และเสียง

สำหรับอินพุตส่วนที่ไม่ใช่ข้อความ (เช่น ไฟล์สื่อ) คุณสามารถเลือกใช้ Cloud Storage for Firebase เพื่อรวมไฟล์ในคำขอ ในช่วง สิ่งสำคัญที่คุณควรทราบเกี่ยวกับฟีเจอร์นี้มีดังนี้

  • คุณสามารถใช้ Cloud Storage for Firebase กับคำขอผ่านสื่อหลากรูปแบบ (เช่น ทั้ง 2 อย่าง การสร้างข้อความและการแชท) ตัวอย่างใน คู่มือนี้จะแสดงการป้อนข้อความและรูปภาพพื้นฐาน

  • คุณระบุประเภท MIME ของไฟล์และ URL Cloud Storage for Firebase ของไฟล์ (ซึ่งขึ้นต้นด้วย gs:// เสมอ) ในอินพุตคำขอ ค่าเหล่านี้ได้แก่ ข้อมูลเมตาที่กำหนดให้กับไฟล์ที่อัปโหลดไปยัง Cloud Storage โดยอัตโนมัติ

  • คุณต้องใช้ประเภทไฟล์และ URL ที่รองรับ


คู่มือโซลูชันนี้อธิบายวิธีตั้งค่า Cloud Storage for Firebase ใน Google Cloud อัปโหลดไฟล์ไปยังที่เก็บข้อมูล Cloud Storage for Firebase จากแอป แล้วรวมประเภท MIME ของไฟล์และ URL Cloud Storage for Firebase ไว้ใน คำขอผ่านสื่อหลากรูปแบบไปยัง Gemini API

คุณต้องการดูตัวอย่างโค้ดไหม หรือคุณได้ตั้งค่าไว้แล้ว Cloud Storage for Firebaseและคุณพร้อมที่จะเริ่มใช้งานกับ คําขอสื่อหลากรูปแบบ

ข้ามไปที่ตัวอย่างโค้ด

เหตุใดจึงควรใช้ Cloud Storage for Firebase กับแอปของคุณ

Cloud Storage for Firebase มีความรวดเร็ว ปลอดภัย และ โครงสร้างพื้นฐานที่รองรับการปรับขนาดเป็น Google Cloud Storage เพื่อจัดเก็บ BLOB และไฟล์ และ SDK ของไคลเอ็นต์ก็สร้างมาเพื่อแอปบนอุปกรณ์เคลื่อนที่และเว็บแอปโดยเฉพาะ

สำหรับ SDK Vertex AI in Firebase ขนาดคำขอต้องไม่เกิน 20 MB คุณจะได้รับข้อผิดพลาด HTTP 413 หากคำขอมีขนาดใหญ่เกินไป หากขนาดไฟล์ ทำให้ขนาดคำขอรวมเกิน 20 MB แล้วใช้ URL ของ Cloud Storage for Firebase ที่จะรวมไฟล์ดังกล่าวไว้ในคำขอหลายรูปแบบ อย่างไรก็ตาม หากไฟล์มีขนาดเล็ก คุณก็มักจะส่งผ่านไฟล์ในรูปแบบข้อมูลในบรรทัดโดยตรงได้ (อย่างไรก็ตาม โปรดทราบว่าไฟล์ที่ระบุเป็นข้อมูลแบบอินไลน์จะได้รับการเข้ารหัสเป็น base64 in ซึ่งจะเพิ่มขนาดของคำขอ)

ประโยชน์เพิ่มเติมในการใช้ Cloud Storage for Firebase มีดังนี้

  • คุณสามารถให้ผู้ใช้ปลายทางอัปโหลดรูปภาพจากแอปไปยัง Cloud Storage for Firebase จากนั้นคุณจะรวมรูปภาพเหล่านั้นได้ พรอมต์แบบหลายโมดัลของคุณ เพียงแค่ระบุประเภท MIME ของไฟล์และ URL ของ Cloud Storage for Firebase (ซึ่งเป็นตัวระบุของไฟล์)

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

    • หากการอัปโหลดหรือดาวน์โหลดไฟล์ถูกขัดจังหวะ Cloud Storage for Firebase SDK รีสตาร์ทการทำงานต่อจากจุดที่หยุดไว้โดยอัตโนมัติ
    • สามารถใช้ไฟล์เดียวกันที่อัปโหลดได้หลายครั้งโดยไม่ต้องมีผู้ใช้ปลายทาง ที่ต้องอัปโหลดไฟล์เดิมทุกครั้งที่จำเป็นในแอปของคุณ (เช่น คำขอสื่อหลากรูปแบบ)
  • คุณสามารถจำกัดให้ผู้ใช้ปลายทางเข้าถึงไฟล์ที่เก็บไว้ใน Cloud Storage for Firebase โดยใช้ Firebase Security Rules ซึ่งอนุญาตให้ผู้ใช้ที่ได้รับอนุญาตอัปโหลด ดาวน์โหลด หรือลบไฟล์เท่านั้น

  • คุณเข้าถึงไฟล์ในที่เก็บข้อมูลได้จาก Firebase หรือจาก Google Cloud ให้คุณมีความยืดหยุ่นในการประมวลผลฝั่งเซิร์ฟเวอร์ เช่น รูปภาพ การกรองหรือการแปลงวิดีโอโดยใช้ Google Cloud Storage API

ระบบรองรับไฟล์และ URL ประเภทใดบ้าง

ต่อไปนี้เป็นข้อกำหนดสำหรับไฟล์และ URL เมื่อคุณต้องการใช้ URL Cloud Storage for Firebase ที่มี SDK Vertex AI in Firebase รายการ:

  • ไฟล์ต้องเป็นไปตาม ข้อกำหนดของไฟล์อินพุตสำหรับคำขอหลายรูปแบบ เมื่อใช้ SDK ของ Vertex AI in Firebase ซึ่งรวมถึงข้อกำหนด เช่น ประเภท MIME และขนาดไฟล์

  • ไฟล์ต้องจัดเก็บไว้ในที่เก็บข้อมูล Cloud Storage for Firebase (ซึ่งหมายความว่าบริการ Firebase เช่น Firebase Security Rules จะเข้าถึงที่เก็บข้อมูลได้) หากคุณสามารถดูที่เก็บข้อมูลของคุณใน คอนโซล Firebase ก็จะเป็นที่เก็บข้อมูล Cloud Storage for Firebase

  • ที่เก็บข้อมูล Cloud Storage for Firebase ต้องอยู่ในโปรเจ็กต์ Firebase เดียวกันใน ที่คุณลงทะเบียนแอปไว้

  • URL Cloud Storage for Firebase ของไฟล์ต้องขึ้นต้นด้วย gs:// ซึ่งเป็น วิธีการสร้าง URL ของ Google Cloud Storage ทั้งหมด

  • URL ของไฟล์ต้องไม่เป็น "เบราว์เซอร์" URL (เช่น URL ของรูปภาพ ที่คุณพบบนอินเทอร์เน็ต)

นอกจากนี้ Firebase Security Rules สำหรับที่เก็บข้อมูลจะต้องอนุญาต ที่เหมาะสมในการเข้าถึงไฟล์ เช่น

  • หากคุณมีกฎสาธารณะ ผู้ใช้หรือไคลเอ็นต์รายใดก็ตามจะสามารถเข้าถึงไฟล์และระบุ URL ของไฟล์ได้ในระหว่างการโทร ใช้ Vertex AI in Firebase SDK กฎประเภทเหล่านี้ควรใช้เพื่อ เริ่มต้นและระหว่างการสร้างต้นแบบในช่วงแรก (นอกเสียจากว่าจริงๆ แล้วไฟล์ควรเป็นไฟล์ เป็นไฟล์ที่เข้าถึงได้แบบสาธารณะทั้งหมด)

  • หากคุณมีกฎที่มีประสิทธิภาพ (แต่แนะนำอย่างยิ่ง) จากนั้น Firebase จะตรวจสอบว่าผู้ใช้ที่ลงชื่อเข้าใช้ สามารถเข้าถึงไฟล์ได้อย่างเพียงพอก่อนที่จะอนุญาตให้ทำการเรียก ผ่าน URL ที่ระบุ

ใช้ URL Cloud Storage for Firebase กับ Vertex AI in Firebase

ขั้นตอนที่ 1: ตั้งค่า Cloud Storage for Firebase

งานระดับสูงที่คุณจะต้องทำมีดังนี้

  1. สร้างที่เก็บข้อมูล Cloud Storage for Firebase ในโปรเจ็กต์ Firebase

  2. ใช้ Firebase Security Rules กับที่เก็บข้อมูลนี้ Firebase Security Rules ช่วยคุณ ทำให้ไฟล์ปลอดภัยด้วยการจำกัดการเข้าถึงให้ผู้ใช้ปลายทางที่ได้รับอนุญาตเท่านั้น

  3. เพิ่มไลบรารีไคลเอ็นต์สำหรับ Cloud Storage for Firebase ลงในแอป

    โปรดทราบว่าคุณข้ามงานนี้ได้ แต่ต้องทำทุกครั้ง ให้รวมประเภท MIME และค่า URL Cloud Storage for Firebase ไว้ในคำขอหลายรูปแบบอย่างชัดเจน

ขั้นตอนที่ 2: อัปโหลดไฟล์ไปยังที่เก็บข้อมูล

เมื่อคุณอัปโหลดไฟล์ไปยังที่เก็บข้อมูล ระบบจะใช้ Cloud Storage โดยอัตโนมัติ ข้อมูล 2 ส่วนต่อไปนี้ลงในไฟล์ คุณจะต้องระบุข้อมูล ค่าเหล่านี้ในคำขอสื่อหลากรูปแบบ (ดังที่แสดงในขั้นตอนถัดไปของ )

  • ประเภท MIME: เป็นประเภทสื่อของไฟล์ (เช่น image/png) Cloud Storage for Firebase จะพยายามตรวจหาประเภท MIME โดยอัตโนมัติ ในระหว่างอัปโหลดและใช้ข้อมูลเมตานั้นกับออบเจ็กต์ในที่เก็บข้อมูล อย่างไรก็ตาม คุณสามารถเลือกระบุประเภท MIME ได้ในระหว่างการอัปโหลด

  • URL ของ Cloud Storage for Firebase: นี่คือตัวระบุที่ไม่ซ้ำกันสำหรับไฟล์ URL ต้องขึ้นต้นด้วย gs://

ขั้นตอนที่ 3: ระบุประเภท MIME และ URL ของไฟล์ในคำขอแบบหลายโมดัล

เมื่อมีไฟล์ที่จัดเก็บไว้ในที่เก็บข้อมูล Cloud Storage for Firebase แล้ว คุณจะทำสิ่งต่อไปนี้ได้ รวมประเภท MIME และ URL Cloud Storage for Firebase ของประเภท MIME ในคำขอแบบหลายโมดัล โปรดทราบว่าตัวอย่างเหล่านี้แสดงคําขอ generateContent ที่ไม่ใช่สตรีมมิง แต่คุณ ยังสามารถใช้ URL Cloud Storage for Firebase กับการสตรีมและแชทได้ด้วย

หากต้องการรวมไฟล์ในคำขอ คุณสามารถใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้

ตัวเลือกที่ 1: ระบุประเภท MIME และ URL โดยใช้ข้อมูลอ้างอิงของพื้นที่เก็บข้อมูล

ใช้ตัวเลือกนี้หากคุณเพิ่งอัปโหลดไฟล์ไปยังที่เก็บข้อมูล และต้องการ รวมไฟล์ได้ทันที (ผ่านการอ้างอิงพื้นที่เก็บข้อมูล) ในสื่อหลากรูปแบบ อีกครั้ง การเรียกจำเป็นต้องมีทั้งประเภท MIME และ URL ของ Cloud Storage for Firebase

ตัวเลือกที่ 2: ระบุประเภท MIME และ URL อย่างชัดเจน

ใช้ตัวเลือกนี้หากคุณทราบค่าสำหรับประเภท MIME และ Cloud Storage for Firebase และคุณต้องการให้รวม URL เหล่านี้อย่างชัดเจนใน คำขอหลายรูปแบบ การเรียกจำเป็นต้องมีทั้งประเภท MIME และ URL