ย้ายข้อมูลเพื่อใช้ Vertex AI SDK แทน AI SDK ของ Google

หน้านี้จะอธิบายวิธีย้ายข้อมูลจาก Google AISDK ของไคลเอ็นต์ ไปยัง Vertex AI in FirebaseSDK ของไคลเอ็นต์ ในแอปบนอุปกรณ์เคลื่อนที่หรือเว็บ Vertex AI in Firebase SDK พร้อมใช้งานสำหรับแพลตฟอร์ม Apple (Swift), Android (Kotlin และ Java), เว็บ (JavaScript) และ Flutter (Dart)

ไปที่วิธีการย้ายข้อมูลโดยตรง

เหตุผลที่ควรย้ายข้อมูลเพื่อใช้ Vertex AI

คุณอาจลองใช้ Gemini API เวอร์ชันอื่นโดยใช้ Google AI Studio หรือ Google AI SDK ของไคลเอ็นต์ SDK เหล่านี้มีประโยชน์สำหรับการเริ่มต้นใช้งาน Gemini API และการสร้างต้นแบบ อย่างไรก็ตาม สําหรับแอปบนอุปกรณ์เคลื่อนที่และเว็บเวอร์ชันที่ใช้งานจริงหรือสเกลองค์กรที่เรียกใช้ Gemini API ฝั่งไคลเอ็นต์โดยตรง Firebase ขอแนะนําอย่างยิ่งให้เรียกใช้ Vertex AI Gemini API โดยใช้ Firebase SDK

ฟีเจอร์ด้านความปลอดภัยสำหรับแอปบนอุปกรณ์เคลื่อนที่และเว็บแอป

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

  • โดยค่าเริ่มต้น Vertex AI Gemini API ได้รับสิทธิ์จาก Google Cloud IAM (ไม่ใช่จากคีย์ API เช่น Google AI Gemini API) Vertex AI in Firebase SDK สร้างขึ้นเพื่อเรียกใช้ Vertex AI Gemini API ที่ปลอดภัยยิ่งขึ้น

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

ระบบนิเวศที่สร้างขึ้นสําหรับแอปบนอุปกรณ์เคลื่อนที่และเว็บแอป

Firebase เป็นแพลตฟอร์มของ Google สําหรับการพัฒนาแอปบนอุปกรณ์เคลื่อนที่และเว็บแอป การใช้ Vertex AI in Firebase SDK หมายความว่าแอปของคุณอยู่ในระบบนิเวศที่มุ่งเน้นที่ความต้องการของแอปและนักพัฒนาแอปแบบ Full Stack ตัวอย่างเช่น คุณจะทําสิ่งต่อไปนี้และอื่นๆ อีกมากมายได้

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

  • จัดการ Structured Data โดยใช้ SDK ฐานข้อมูลที่สร้างขึ้นสําหรับแอปบนอุปกรณ์เคลื่อนที่และเว็บแอป (เช่น Cloud Firestore)

  • ตั้งค่าการกําหนดค่ารันไทม์แบบไดนามิก (เช่น ตําแหน่ง) หรือเปลี่ยนค่าในแอป (เช่น ชื่อโมเดล) โดยไม่ต้องเผยแพร่แอปเวอร์ชันใหม่โดยใช้ Firebase Remote Config

ประโยชน์เพิ่มเติมของการใช้ Vertex AI จาก Google Cloud

เมื่อการใช้ Generative AI ในแอปและเวิร์กโฟลว์ของคุณมีความซับซ้อนมากขึ้น คุณอาจต้องใช้แพลตฟอร์มที่ให้บริการโซลูชันแบบครบวงจรในการสร้างและใช้งานแอปพลิเคชัน Generative AI Google Cloud มีระบบนิเวศของเครื่องมือที่ครอบคลุมซึ่งจะช่วยให้คุณใช้ประโยชน์จาก Generative AI ได้ ตั้งแต่ระยะเริ่มต้นของการพัฒนาแอปไปจนถึงการติดตั้งใช้งานแอป โฮสติ้งแอป และการจัดการข้อมูลที่ซับซ้อนในวงกว้าง

แพลตฟอร์ม Vertex AI จาก Google Cloud มีชุดเครื่องมือ MLOps ซึ่งช่วยเพิ่มประสิทธิภาพการใช้งาน การทำให้ใช้งานได้ และการตรวจสอบโมเดล AI เพื่อประสิทธิภาพและความเชื่อถือได้ นอกจากนี้ การผสานรวมกับฐานข้อมูล เครื่องมือ DevOps การบันทึก การตรวจสอบ และ IAM ยังมอบแนวทางแบบองค์รวมในการจัดการวงจรของ Generative AI ทั้งหมด

ดูข้อมูลเพิ่มเติมเกี่ยวกับกรณีการใช้งานของ Vertex AI ในเอกสารประกอบของ Google Cloud

ย้ายข้อมูลไปยัง SDK Vertex AI in Firebase

การย้ายข้อมูลไปยัง Vertex AI in Firebase SDK ต้องใช้ 3 ขั้นตอนหลัก ดังนี้

  1. ตั้งค่าโปรเจ็กต์ Firebase ใหม่หรือที่มีอยู่ และเชื่อมต่อแอปกับ Firebase

  2. ย้ายข้อมูลโค้ดเบส ซึ่งจะต้องเปลี่ยนเฉพาะ SDK และโค้ดการเริ่มต้น (รวมถึงชื่อรุ่น) คุณไม่จำเป็นต้องแก้ไขโค้ดใดๆ ที่เรียกใช้ Gemini API

  3. ลบคีย์ API ที่ไม่ได้ใช้และปิดใช้ API ที่ไม่ได้ใช้

ขั้นตอนที่ 1: ตั้งค่าโปรเจ็กต์ Firebase และเชื่อมต่อแอปกับ Firebase

แม้ว่าคุณจะคุ้นเคยกับ Firebase อยู่แล้ว โปรดอ่านส่วนนี้เพื่อให้แน่ใจว่าโปรเจ็กต์ Firebase และแอปได้รับการตั้งค่าให้ใช้ SDK ของ Vertex AI in Firebase

ขั้นตอนที่ 2: ย้ายข้อมูลโค้ดเบส

เลือกแพลตฟอร์มของแอปเพื่อดูวิธีการเฉพาะแพลตฟอร์ม

SDK Google AI และ Vertex AI in Firebase SDK สร้างขึ้นเพื่อให้การย้ายข้อมูลระหว่าง 2 แพลตฟอร์มง่ายที่สุดเท่าที่จะทำได้

หากต้องการย้ายข้อมูล คุณเพียงแค่เปลี่ยน SDK ที่ผสานรวมไว้ในฐานโค้ดของแอป รวมถึงการเริ่มต้นบริการและโมเดล Generative คุณไม่จำเป็นต้องแก้ไขโค้ดใดๆ ที่เรียกใช้ Gemini API

เปลี่ยน SDK

Google AI

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")

  // Required for one-shot operations (to use `ListenableFuture` from Reactive Streams)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Guava Android)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

Vertex AI in Firebase

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.2")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.2")

  // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Reactive Streams)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

เปลี่ยนการเริ่มต้น

Google AI

Kotlin+KTX

val generativeModel = GenerativeModel(modelName = "MODEL_NAME",
    // Access your API key as a Build Configuration variable
    apiKey = BuildConfig.apiKey
)

Java

GenerativeModel gm = new GenerativeModel("MODEL_NAME",
    // Access your API key as a Build Configuration variable
    BuildConfig.apiKey
);

// Use the GenerativeModelFutures Java compatibility layer which offers support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Vertex AI in Firebase

Kotlin+KTX

val generativeModel = Firebase.vertexAI.generativeModel("MODEL_NAME")

Java

GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("MODEL_NAME");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

อัปเดตการนำเข้า

ข้อมูลโค้ดต่อไปนี้ใช้คลาส Chat, Content และ GenerativeModelFutures เป็นตัวอย่าง แต่ก็ควรนำไปใช้กับคลาสอื่นๆ ในชื่อแพ็กเกจเดียวกันด้วย

Google AI

Kotlin+KTX

import com.google.ai.client.generativeai.Chat
import com.google.ai.client.generativeai.type.Content
import com.google.ai.client.generativeai.java.GenerativeModuleFutures

Java

import com.google.ai.client.generativeai.Chat;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.java.GenerativeModuleFutures;

Vertex AI in Firebase

Kotlin+KTX

import com.google.firebase.vertexai.Chat
import com.google.firebase.vertexai.type.Content
import com.google.firebase.vertexai.java.GenerativeModuleFutures

Java

import com.google.firebase.vertexai.Chat;
import com.google.firebase.vertexai.type.Content;
import com.google.firebase.vertexai.java.GenerativeModuleFutures;

ขั้นตอนที่ 3: ลบคีย์ API ที่ไม่ได้ใช้และปิดใช้ API ที่ไม่ได้ใช้

หากไม่จำเป็นต้องใช้คีย์ Google AI API อีกต่อไป ให้ทําตามแนวทางปฏิบัติแนะนำด้านความปลอดภัยและลบคีย์ คุณดูและลบคีย์ API Google AI ได้ในส่วนคีย์ API ของ Google AI Studio

นอกจากนี้ หากคุณไม่ได้ใช้ Google AI Gemini API แล้ว ให้ปิดใช้ในโปรเจ็กต์ ซึ่งทำได้ในคอนโซล Google Cloud จากหน้า Generative Language API (generativelanguage.googleapis.com) ("Generative Language API" เป็นชื่ออย่างเป็นทางการของ Google AI Gemini API)

คุณทำอะไรได้อีกบ้าง