คู่มือนี้จะแสดงวิธีเริ่มต้นใช้งานการเรียกไปยัง 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 และเชื่อมต่อแอป
ลงชื่อเข้าใช้คอนโซล Firebase แล้วเลือกโปรเจ็กต์ Firebase
ในFirebase Console ให้ไปที่หน้า Firebase AI Logic
คลิกเริ่มต้นใช้งานเพื่อเปิดเวิร์กโฟลว์แบบมีคำแนะนำที่จะช่วยคุณตั้งค่า API ที่จำเป็น และทรัพยากรสำหรับโปรเจ็กต์
เลือกผู้ให้บริการ "Gemini API" ที่ต้องการใช้กับ SDK ของ Firebase AI Logic Gemini Developer API ขอแนะนำสำหรับผู้ใช้ครั้งแรก คุณเพิ่มการเรียกเก็บเงินหรือตั้งค่า Vertex AI Gemini APIในภายหลังได้ทุกเมื่อ หากต้องการ
Gemini Developer API — การเรียกเก็บเงินเป็นทางเลือก (พร้อมใช้งานในแพ็กเกจราคา Spark แบบไม่มีค่าใช้จ่าย และคุณสามารถอัปเกรดในภายหลังได้หาก ต้องการ)
คอนโซลจะเปิดใช้ API ที่จำเป็นและสร้างGeminiคีย์ API ในโปรเจ็กต์
อย่าเพิ่มGeminiคีย์ API นี้ลงในโค้ดเบสของแอป ดูข้อมูลเพิ่มเติมVertex AI Gemini API — ต้องมีการเรียกเก็บเงิน (ต้องใช้แพ็กเกจราคา Blaze แบบจ่ายตามการใช้งาน)
คอนโซลจะช่วยคุณตั้งค่าการเรียกเก็บเงินและเปิดใช้ API ที่จำเป็นในโปรเจ็กต์
หากได้รับแจ้งในเวิร์กโฟลว์ของคอนโซล ให้ทำตามวิธีการบนหน้าจอเพื่อ ลงทะเบียนแอปและเชื่อมต่อกับ Firebase
ทําตามขั้นตอนถัดไปในคู่มือนี้เพื่อเพิ่ม 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 ขึ้นไป
เปิดโปรเจ็กต์แอปใน Xcode แล้วไปที่ File > Add Package Dependencies
เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ SDK ของแพลตฟอร์ม Apple ของ Firebase ดังนี้
https://github.com/firebase/firebase-ios-sdk
เลือก SDK เวอร์ชันล่าสุด
เลือก
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 สำหรับเว็บ
ติดตั้ง Firebase JS SDK สำหรับเว็บโดยใช้ npm ดังนี้
npm install firebase
เริ่มต้น 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
จากไดเรกทอรีโปรเจ็กต์ Flutter ให้เรียกใช้คำสั่งต่อไปนี้เพื่อ ติดตั้งปลั๊กอินหลักและปลั๊กอิน Firebase AI Logic
flutter pub add firebase_core && flutter pub add firebase_ai
ในไฟล์
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';
นอกจากนี้ ในไฟล์
lib/main.dart
ให้เริ่มต้น Firebase โดยใช้ออบเจ็กต์DefaultFirebaseOptions
ที่ส่งออกจากไฟล์การกำหนดค่าawait Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
สร้างแอปพลิเคชัน Flutter อีกครั้ง
flutter run
Unity
ดาวน์โหลด Firebase Unity SDK แล้วแตกไฟล์ SDK ในตำแหน่งที่สะดวก
Firebase Unity SDK ไม่ได้เจาะจงแพลตฟอร์ม
ในโปรเจ็กต์ Unity แบบเปิด ให้ไปที่ เนื้อหา > นำเข้าแพ็กเกจ > แพ็กเกจที่กำหนดเอง
เลือกแพ็กเกจ
FirebaseAI
จาก SDK ที่แยกออกมาคลิกนำเข้า ในหน้าต่างนำเข้าแพ็กเกจ Unity
กลับไปที่คอนโซล 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
ไม่ได้เสมอไป ทั้งนี้ขึ้นอยู่กับความสามารถที่คุณใช้
- หากต้องการเข้าถึงImagenโมเดล
ให้สร้าง
ImagenModel
อินสแตนซ์
นอกจากนี้ หลังจากอ่านคู่มือการเริ่มต้นใช้งานนี้จบแล้ว ให้ดูวิธีเลือกโมเดลสำหรับกรณีการใช้งานและแอปของคุณ
ขั้นตอนที่ 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.");
คุณทำอะไรได้อีกบ้าง
ดูข้อมูลเพิ่มเติมเกี่ยวกับโมเดลที่รองรับ
ดูข้อมูลเกี่ยวกับ โมเดลที่พร้อมใช้งานสำหรับกรณีการใช้งานต่างๆ รวมถึง โควต้าและ ราคา
ลองใช้ความสามารถอื่นๆ
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างข้อความจากพรอมต์ที่เป็นข้อความเท่านั้น รวมถึงวิธีสตรีมคำตอบ
- สร้างข้อความโดยการป้อนพรอมต์ด้วยไฟล์ประเภทต่างๆ เช่น รูปภาพ PDF วิดีโอ และ เสียง
- สร้างการสนทนาแบบหลายรอบ (แชท)
- สร้างเอาต์พุตที่มีโครงสร้าง (เช่น JSON) จากทั้งข้อความและพรอมต์มัลติโมดัล
- สร้างรูปภาพจากพรอมต์ข้อความ (Gemini หรือ Imagen)
- อินพุตและเอาต์พุตสตรีม (รวมถึงเสียง) โดยใช้ Gemini Live API
- ใช้การเรียกใช้ฟังก์ชันเพื่อเชื่อมต่อ โมเดล Generative AI กับระบบและข้อมูลภายนอก
ดูวิธีควบคุมการสร้างเนื้อหา
- ทำความเข้าใจการออกแบบพรอมต์ รวมถึง แนวทางปฏิบัติแนะนำ กลยุทธ์ และพรอมต์ตัวอย่าง
- กำหนดค่าพารามิเตอร์ของโมเดล เช่น อุณหภูมิและโทเค็นเอาต์พุตสูงสุด (สำหรับ Gemini) หรือสัดส่วนภาพ และการสร้างบุคคล (สำหรับ Imagen)
- ใช้การตั้งค่าความปลอดภัยเพื่อปรับ ความเป็นไปได้ที่จะได้รับคำตอบที่อาจถือว่าไม่เหมาะสม
แสดงความคิดเห็น เกี่ยวกับประสบการณ์การใช้งาน Firebase AI Logic