เริ่มต้นใช้งาน Gemini API โดยใช้ Firebase AI Logic SDK

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

นอกจากนี้ คุณยังใช้คู่มือนี้เพื่อเริ่มต้นใช้งานการเข้าถึงImagenโมเดล โดยใช้ SDK Firebase AI Logicได้ด้วย

ข้อกำหนดเบื้องต้น

Swift

คู่มือนี้ถือว่าคุณคุ้นเคยกับการใช้ Xcode เพื่อพัฒนาแอปสำหรับ แพลตฟอร์มของ Apple (เช่น iOS)

  • ตรวจสอบว่าสภาพแวดล้อมในการพัฒนาและแอปแพลตฟอร์ม Apple เป็นไปตามข้อกำหนดต่อไปนี้

    • Xcode 16.2 ขึ้นไป
    • แอปของคุณกำหนดเป้าหมายเป็น iOS 15 ขึ้นไป หรือ macOS 12 ขึ้นไป
  • (ไม่บังคับ) ดูแอปตัวอย่าง

    ดาวน์โหลดแอปเริ่มต้นอย่างรวดเร็ว

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

Kotlin

คู่มือนี้ถือว่าคุณคุ้นเคยกับการใช้ Android Studio เพื่อพัฒนา แอปสำหรับ Android

  • ตรวจสอบว่าสภาพแวดล้อมในการพัฒนาและแอป Android เป็นไปตามข้อกำหนดต่อไปนี้

    • Android Studio (เวอร์ชันล่าสุด)
    • แอปของคุณกำหนดเป้าหมายเป็น API ระดับ 21 ขึ้นไป
  • (ไม่บังคับ) ดูแอปตัวอย่าง

    ดาวน์โหลดแอปตัวอย่าง

    คุณสามารถทดลองใช้ SDK ได้อย่างรวดเร็ว ดูการติดตั้งใช้งานที่สมบูรณ์ของ Use Case ต่างๆ หรือใช้แอปตัวอย่างหากไม่มีแอป Android ของคุณเอง หากต้องการใช้แอปตัวอย่าง คุณจะต้องเชื่อมต่อกับโปรเจ็กต์ Firebase

Java

คู่มือนี้ถือว่าคุณคุ้นเคยกับการใช้ Android Studio เพื่อพัฒนา แอปสำหรับ Android

  • ตรวจสอบว่าสภาพแวดล้อมในการพัฒนาและแอป Android เป็นไปตามข้อกำหนดต่อไปนี้

    • Android Studio (เวอร์ชันล่าสุด)
    • แอปของคุณกำหนดเป้าหมายเป็น API ระดับ 21 ขึ้นไป
  • (ไม่บังคับ) ดูแอปตัวอย่าง

    ดาวน์โหลดแอปตัวอย่าง

    คุณสามารถทดลองใช้ SDK ได้อย่างรวดเร็ว ดูการติดตั้งใช้งานที่สมบูรณ์ของ Use Case ต่างๆ หรือใช้แอปตัวอย่างหากไม่มีแอป Android ของคุณเอง หากต้องการใช้แอปตัวอย่าง คุณจะต้องเชื่อมต่อกับโปรเจ็กต์ Firebase

Web

คู่มือนี้ถือว่าคุณคุ้นเคยกับการใช้ JavaScript เพื่อพัฒนา เว็บแอป คู่มือนี้ไม่ขึ้นอยู่กับเฟรมเวิร์ก

  • ตรวจสอบว่าสภาพแวดล้อมในการพัฒนาและเว็บแอปเป็นไปตามข้อกำหนดต่อไปนี้

    • (ไม่บังคับ) Node.js
    • เว็บเบราว์เซอร์ที่ทันสมัย
  • (ไม่บังคับ) ดูแอปตัวอย่าง

    ดาวน์โหลดแอปตัวอย่าง

    คุณสามารถทดลองใช้ SDK อย่างรวดเร็ว ดูการติดตั้งใช้งานที่สมบูรณ์ของ Use Case ต่างๆ หรือใช้แอปตัวอย่างหากไม่มีเว็บแอปของตัวเอง หากต้องการใช้แอปตัวอย่าง คุณจะต้องเชื่อมต่อกับโปรเจ็กต์ Firebase

Dart

คู่มือนี้จะถือว่าคุณคุ้นเคยกับการพัฒนาแอปด้วย Flutter

  • ตรวจสอบว่าสภาพแวดล้อมในการพัฒนาและแอป Flutter เป็นไปตามข้อกำหนดต่อไปนี้

    • Dart 3.2.0 ขึ้นไป
  • (ไม่บังคับ) ดูแอปตัวอย่าง

    ดาวน์โหลดแอปตัวอย่าง

    คุณสามารถทดลองใช้ SDK ได้อย่างรวดเร็ว ดูการติดตั้งใช้งานที่สมบูรณ์ของ Use Case ต่างๆ หรือใช้แอปตัวอย่างหากไม่มีแอป Flutter ของคุณเอง หากต้องการใช้แอปตัวอย่าง คุณจะต้องเชื่อมต่อกับโปรเจ็กต์ Firebase

Unity

คู่มือนี้มีสมมติฐานว่าคุณคุ้นเคยกับการพัฒนาเกมด้วย Unity

  • ตรวจสอบว่าสภาพแวดล้อมในการพัฒนาและเกม Unity เป็นไปตามข้อกำหนดต่อไปนี้

    • Unity Editor 2021 LTS ขึ้นไป
  • (ไม่บังคับ) ดูแอปตัวอย่าง

    ดาวน์โหลดแอปตัวอย่าง

    คุณสามารถทดลองใช้ SDK ได้อย่างรวดเร็ว ดูการติดตั้งใช้งานที่สมบูรณ์ของ Use Case ต่างๆ หรือใช้แอปตัวอย่างหากไม่มีเกม Unity ของคุณเอง หากต้องการใช้แอปตัวอย่าง คุณจะต้องเชื่อมต่อแอปกับโปรเจ็กต์ Firebase

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

  1. ลงชื่อเข้าใช้คอนโซล Firebase แล้วเลือกโปรเจ็กต์ Firebase

  2. ในFirebase Console ให้ไปที่หน้า Firebase AI Logic

  3. คลิกเริ่มต้นใช้งานเพื่อเปิดเวิร์กโฟลว์แบบมีคำแนะนำที่จะช่วยคุณตั้งค่า API ที่จำเป็น และทรัพยากรสำหรับโปรเจ็กต์

  4. เลือกผู้ให้บริการ "Gemini API" ที่ต้องการใช้กับ SDK ของ Firebase AI Logic คุณตั้งค่าและใช้ผู้ให้บริการ API รายอื่นได้ทุกเมื่อในภายหลัง หากต้องการ

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

    • Vertex AI Gemini APIต้องมีการเรียกเก็บเงิน (ต้องใช้แพ็กเกจราคา Blaze แบบจ่ายตามการใช้งาน)
      คอนโซลจะช่วยคุณตั้งค่าการเรียกเก็บเงินและเปิดใช้ API ที่จำเป็นในโปรเจ็กต์

  5. หากได้รับแจ้งในเวิร์กโฟลว์ของคอนโซล ให้ทำตามวิธีการบนหน้าจอเพื่อ ลงทะเบียนแอปและเชื่อมต่อกับ Firebase

  6. ทําตามขั้นตอนถัดไปในคู่มือนี้เพื่อเพิ่ม SDK ลงในแอป

ขั้นตอนที่ 2: เพิ่ม SDK

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

Swift

ใช้ Swift Package Manager เพื่อติดตั้งและจัดการทรัพยากร Dependency ของ Firebase

Firebase AI Logic ไลบรารีให้สิทธิ์เข้าถึง API สำหรับการโต้ตอบกับโมเดล Gemini และ Imagen ไลบรารีนี้รวมอยู่ ใน Firebase SDK สำหรับแพลตฟอร์ม Apple (firebase-ios-sdk)

หากใช้ Firebase อยู่แล้ว โปรดตรวจสอบว่าแพ็กเกจ Firebase เป็นเวอร์ชัน 11.13.0 ขึ้นไป

  1. เปิดโปรเจ็กต์แอปใน Xcode แล้วไปที่ File > Add Package Dependencies

  2. เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ SDK ของแพลตฟอร์ม Apple ของ Firebase ดังนี้

    https://github.com/firebase/firebase-ios-sdk
    
  3. เลือก SDK เวอร์ชันล่าสุด

  4. เลือกFirebaseAIคลัง

เมื่อเสร็จแล้ว Xcode จะเริ่มจับคู่ข้อมูลและดาวน์โหลดทรัพยากร Dependency ในเบื้องหลังโดยอัตโนมัติ

Kotlin

Firebase AI Logic SDK สำหรับ Android (firebase-ai) ช่วยให้เข้าถึง API เพื่อโต้ตอบกับโมเดล Gemini และ Imagen ได้

ในไฟล์ Gradle ของโมดูล (ระดับแอป) (เช่น <project>/<app-module>/build.gradle.kts) ให้เพิ่มทรัพยากร Dependency สำหรับคลัง Firebase AI Logic สำหรับ Android เราขอแนะนำให้ใช้ Firebase Android BoM เพื่อควบคุมการควบคุมเวอร์ชันของไลบรารี

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.15.0"))

  // Add the dependency for the Firebase AI Logic library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
}

การใช้ Firebase Android BoM จะทำให้แอปใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้อยู่เสมอ

Java

Firebase AI Logic SDK สำหรับ Android (firebase-ai) ช่วยให้เข้าถึง API เพื่อโต้ตอบกับโมเดล Gemini และ Imagen ได้

ในไฟล์ Gradle ของโมดูล (ระดับแอป) (เช่น <project>/<app-module>/build.gradle.kts) ให้เพิ่มทรัพยากร Dependency สำหรับคลัง Firebase AI Logic สำหรับ Android เราขอแนะนำให้ใช้ Firebase Android BoM เพื่อควบคุมการควบคุมเวอร์ชันของไลบรารี

สำหรับ Java คุณต้องเพิ่มไลบรารีอีก 2 รายการ

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.15.0"))

  // Add the dependency for the Firebase AI Logic library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")

  // 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")
}

การใช้ Firebase Android BoM จะทำให้แอปใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้อยู่เสมอ

Web

Firebase AI Logic ไลบรารีให้สิทธิ์เข้าถึง API สำหรับการโต้ตอบกับโมเดล Gemini และ Imagen ไลบรารีนี้รวมอยู่ ใน Firebase JavaScript SDK สำหรับเว็บ

  1. ติดตั้ง Firebase JS SDK สำหรับเว็บโดยใช้ npm ดังนี้

    npm install firebase
    
  2. เริ่มต้น Firebase ในแอป

    import { initializeApp } from "firebase/app";
    
    // TODO(developer) Replace the following with your app's Firebase configuration
    // See: https://firebase.google.com/docs/web/learn-more#config-object
    const firebaseConfig = {
      // ...
    };
    
    // Initialize FirebaseApp
    const firebaseApp = initializeApp(firebaseConfig);
    

Dart

ปลั๊กอิน Firebase AI Logic สำหรับ Flutter (firebase_ai) ให้สิทธิ์เข้าถึง API สำหรับการโต้ตอบกับโมเดล Gemini และ Imagen

  1. จากไดเรกทอรีโปรเจ็กต์ Flutter ให้เรียกใช้คำสั่งต่อไปนี้เพื่อ ติดตั้งปลั๊กอินหลักและปลั๊กอิน Firebase AI Logic

    flutter pub add firebase_core && flutter pub add firebase_ai
    
  2. ในไฟล์ lib/main.dart ให้นำเข้าปลั๊กอินหลักของ Firebase, ปลั๊กอิน Firebase AI Logic และไฟล์กำหนดค่าที่คุณสร้าง ไว้ก่อนหน้านี้

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'firebase_options.dart';
    
  3. นอกจากนี้ ในไฟล์ lib/main.dart ให้เริ่มต้น Firebase โดยใช้ออบเจ็กต์ DefaultFirebaseOptions ที่ส่งออกจากไฟล์การกำหนดค่า

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. สร้างแอปพลิเคชัน Flutter อีกครั้ง

    flutter run
    

Unity

  1. ดาวน์โหลด Firebase Unity SDK แล้วแตกไฟล์ SDK ในตำแหน่งที่สะดวก

    Firebase Unity SDK ไม่ได้เจาะจงแพลตฟอร์ม

  2. ในโปรเจ็กต์ Unity แบบเปิด ให้ไปที่ เนื้อหา > นำเข้าแพ็กเกจ > แพ็กเกจที่กำหนดเอง

  3. เลือกแพ็กเกจ FirebaseAI จาก SDK ที่แยกออกมา

  4. คลิกนำเข้า ในหน้าต่างนำเข้าแพ็กเกจ Unity

  5. กลับไปที่คอนโซล Firebase ในเวิร์กโฟลว์การตั้งค่า ให้คลิกถัดไป

ขั้นตอนที่ 3: เริ่มต้นบริการและสร้างอินสแตนซ์โมเดล

คลิกผู้ให้บริการ Gemini API เพื่อดูเนื้อหาและโค้ดของผู้ให้บริการนั้นๆ ในหน้านี้

ก่อนส่งพรอมต์ไปยังโมเดล Gemini ให้เริ่มต้นบริการสำหรับผู้ให้บริการ API ที่คุณเลือกและสร้างอินสแตนซ์ GenerativeModel

Swift


import FirebaseAI

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")

Kotlin


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-2.5-flash")

Java


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-2.5-flash");

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

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-flash" });

Dart


import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-2.5-flash');

Unity


using Firebase;
using Firebase.AI;

// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.5-flash");

โปรดทราบว่าคุณอาจสร้างอินสแตนซ์ GenerativeModel ไม่ได้เสมอไป ทั้งนี้ขึ้นอยู่กับความสามารถที่คุณใช้

นอกจากนี้ หลังจากอ่านคู่มือการเริ่มต้นใช้งานนี้จบแล้ว ให้ดูวิธีเลือกโมเดลสำหรับกรณีการใช้งานและแอปของคุณ

ขั้นตอนที่ 4: ส่งคำขอพรอมต์ไปยังโมเดล

ตอนนี้คุณพร้อมที่จะส่งคำขอพรอมต์ไปยังโมเดล Gemini แล้ว

คุณใช้ generateContent() เพื่อสร้างข้อความจากพรอมต์ที่มีข้อความได้โดยทำดังนี้

Swift


import FirebaseAI

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")

// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")

Kotlin

สำหรับ Kotlin เมธอดใน SDK นี้เป็นฟังก์ชันระงับและต้องเรียกใช้ จากขอบเขตของ Coroutine

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-2.5-flash")

// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)

Java

สำหรับ Java เมธอดใน SDK นี้จะแสดงผลเป็น ListenableFuture

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-2.5-flash");

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

// Provide a prompt that contains text
Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-flash" });

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const prompt = "Write a story about a magic backpack."

  // To generate text output, call generateContent with the text input
  const result = await model.generateContent(prompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

run();

Dart


import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-2.5-flash');

// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];

// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);

Unity


using Firebase;
using Firebase.AI;

// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.5-flash");

// Provide a prompt that contains text
var prompt = "Write a story about a magic backpack.";

// To generate text output, call GenerateContentAsync with the text input
var response = await model.GenerateContentAsync(prompt);
UnityEngine.Debug.Log(response.Text ?? "No text in response.");

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับโมเดลที่รองรับ

ดูข้อมูลเกี่ยวกับ โมเดลที่พร้อมใช้งานสำหรับกรณีการใช้งานต่างๆ รวมถึง โควต้าและ ราคา

ลองใช้ความสามารถอื่นๆ

ดูวิธีควบคุมการสร้างเนื้อหา

นอกจากนี้ คุณยังทดลองใช้พรอมต์และการกำหนดค่าโมเดล รวมถึงรับ ข้อมูลโค้ดที่สร้างขึ้นได้ด้วยการใช้ Google AI Studio


แสดงความคิดเห็น เกี่ยวกับประสบการณ์การใช้งาน Firebase AI Logic