این راهنما به شما نشان میدهد که چگونه میتوانید مستقیماً از برنامه خود با استفاده از Firebase AI Logic کلاینت SDK برای پلتفرم انتخابی خود، تماس با Gemini API را شروع کنید.
همچنین میتوانید از این راهنما برای شروع دسترسی به مدلهای Imagen با استفاده از Firebase AI Logic SDK استفاده کنید.
پیش نیازها
سویفت
این راهنما فرض میکند که شما با استفاده از Xcode برای توسعه برنامهها برای پلتفرمهای اپل (مانند iOS) آشنا هستید.
اطمینان حاصل کنید که محیط توسعه شما و برنامه پلتفرم های اپل این شرایط را برآورده می کنند:
- Xcode 16.2 یا بالاتر
- برنامه شما iOS 15 یا بالاتر یا macOS 12 یا بالاتر را هدف قرار می دهد
(اختیاری) برنامه نمونه را بررسی کنید.
برنامه شروع سریع را دانلود کنید
میتوانید SDK را به سرعت امتحان کنید، اجرای کامل موارد استفاده مختلف را مشاهده کنید، یا اگر برنامه پلتفرمهای اپل خود را ندارید از برنامه نمونه استفاده کنید. برای استفاده از برنامه نمونه، باید آن را به پروژه Firebase متصل کنید .
Kotlin
این راهنما فرض میکند که با استفاده از Android Studio برای توسعه برنامهها برای Android آشنا هستید.
اطمینان حاصل کنید که محیط توسعه و برنامه Android شما این شرایط را برآورده می کند:
- اندروید استودیو (آخرین نسخه)
- برنامه شما سطح API 21 یا بالاتر را هدف قرار می دهد
(اختیاری) برنامه نمونه را بررسی کنید.
میتوانید SDK را به سرعت امتحان کنید، اجرای کامل موارد استفاده مختلف را مشاهده کنید، یا اگر برنامه اندرویدی خود را ندارید از برنامه نمونه استفاده کنید. برای استفاده از برنامه نمونه، باید آن را به پروژه Firebase متصل کنید .
Java
این راهنما فرض میکند که با استفاده از Android Studio برای توسعه برنامهها برای Android آشنا هستید.
اطمینان حاصل کنید که محیط توسعه و برنامه Android شما این شرایط را برآورده می کند:
- اندروید استودیو (آخرین نسخه)
- برنامه شما سطح API 21 یا بالاتر را هدف قرار می دهد
(اختیاری) برنامه نمونه را بررسی کنید.
میتوانید SDK را به سرعت امتحان کنید، اجرای کامل موارد استفاده مختلف را مشاهده کنید، یا اگر برنامه اندرویدی خود را ندارید از برنامه نمونه استفاده کنید. برای استفاده از برنامه نمونه، باید آن را به پروژه Firebase متصل کنید .
Web
این راهنما فرض می کند که شما با استفاده از جاوا اسکریپت برای توسعه برنامه های وب آشنا هستید. این راهنما مستقل از چارچوب است.
اطمینان حاصل کنید که محیط توسعه و برنامه وب شما این شرایط را برآورده می کند:
- (اختیاری) Node.js
- مرورگر وب مدرن
(اختیاری) برنامه نمونه را بررسی کنید.
می توانید SDK را به سرعت امتحان کنید، اجرای کامل موارد استفاده مختلف را مشاهده کنید، یا اگر برنامه وب خود را ندارید از نمونه برنامه استفاده کنید. برای استفاده از برنامه نمونه، باید آن را به پروژه Firebase متصل کنید .
Dart
این راهنما فرض می کند که شما با توسعه برنامه ها با Flutter آشنا هستید.
اطمینان حاصل کنید که محیط توسعه و برنامه Flutter شما این شرایط را برآورده می کند:
- دارت 3.2.0+
(اختیاری) برنامه نمونه را بررسی کنید.
میتوانید SDK را به سرعت امتحان کنید، اجرای کامل موارد استفاده مختلف را مشاهده کنید، یا اگر برنامه Flutter خود را ندارید از برنامه نمونه استفاده کنید. برای استفاده از برنامه نمونه، باید آن را به پروژه Firebase متصل کنید .
وحدت
این راهنما فرض می کند که شما با ساخت بازی با Unity آشنا هستید.
مطمئن شوید که محیط توسعه و بازی یونیتی شما با این شرایط مطابقت دارند:
- Unity Editor 2021 LTS یا جدیدتر
(اختیاری) برنامه نمونه را بررسی کنید.
میتوانید SDK را به سرعت امتحان کنید، اجرای کامل موارد استفاده مختلف را مشاهده کنید، یا اگر بازی یونیتی خود را ندارید از برنامه نمونه استفاده کنید. برای استفاده از برنامه نمونه، باید آن را به پروژه Firebase متصل کنید .
مرحله 1 : یک پروژه Firebase راه اندازی کنید و برنامه خود را متصل کنید
وارد کنسول Firebase شوید و سپس پروژه Firebase خود را انتخاب کنید.
اگر قبلاً پروژه Firebase ندارید، روی ایجاد پروژه کلیک کنید و سپس از یکی از گزینههای زیر استفاده کنید:
گزینه 1 : با وارد کردن نام پروژه جدید در اولین مرحله از گردش کار «ایجاد پروژه»، یک پروژه کاملاً جدید Firebase (و پروژه Google Cloud زیربنایی آن به صورت خودکار) ایجاد کنید.
گزینه 2 : «افزودن Firebase» به پروژه Google Cloud موجود با انتخاب نام پروژه Google Cloud خود از منوی کشویی در مرحله اول گردش کار «ایجاد پروژه».
توجه داشته باشید که وقتی از شما خواسته شد، برای استفاده از Firebase AI Logic SDK ها نیازی به راه اندازی Google Analytics ندارید .
در کنسول Firebase ، به صفحه Firebase AI Logic بروید.
برای راهاندازی یک گردش کار هدایتشده که به شما کمک میکند APIها و منابع مورد نیاز پروژه خود را تنظیم کنید، روی Get Start کلیک کنید.
ارائهدهنده « Gemini API » را که میخواهید با Firebase AI Logic SDK استفاده کنید، انتخاب کنید. اگر بخواهید، همیشه میتوانید بعداً ارائهدهنده API دیگر را راهاندازی کرده و از آن استفاده کنید.
Gemini Developer API — صورتحساب اختیاری (در طرح قیمتگذاری بدون هزینه Spark موجود است)
کنسول API های مورد نیاز را فعال می کند و یک کلید API Gemini در پروژه شما ایجاد می کند.
این کلید Gemini API را به پایگاه کد برنامه خود اضافه نکنید . بیشتر بدانید.اگر میخواهید طرح قیمتگذاری خود را ارتقا دهید، میتوانید بعداً صورتحساب را تنظیم کنید.
Vertex AI Gemini API - صورتحساب مورد نیاز است (به طرح قیمتگذاری Blaze نیاز دارد)
کنسول به شما کمک می کند تا صورتحساب را تنظیم کنید و API های مورد نیاز را در پروژه خود فعال کنید.
اگر در گردش کار کنسول از شما خواسته شد، دستورالعملهای روی صفحه را دنبال کنید تا برنامه خود را ثبت کرده و به Firebase متصل کنید.
برای افزودن SDK به برنامه خود، مرحله بعدی این راهنما را ادامه دهید.
مرحله 2 : SDK را اضافه کنید
با راه اندازی پروژه Firebase و اتصال برنامه به Firebase (مرحله قبل را ببینید)، اکنون می توانید Firebase AI Logic SDK را به برنامه خود اضافه کنید.
سویفت
برای نصب و مدیریت وابستگی های Firebase از Swift Package Manager استفاده کنید.
کتابخانه Firebase AI Logic دسترسی به API ها را برای تعامل با مدل های Gemini و Imagen فراهم می کند. این کتابخانه به عنوان بخشی از Firebase SDK برای پلتفرم های اپل ( 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 به طور خودکار شروع به حل و دانلود وابستگی های شما در پس زمینه می کند.
Kotlin
Firebase AI Logic SDK برای Android ( firebase-ai
) دسترسی به APIها را برای تعامل با مدلهای Gemini و Imagen فراهم میکند.
در فایل Gradle ماژول (سطح برنامه) خود (مانند <project>/<app-module>/build.gradle.kts
)، وابستگی را برای کتابخانه 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.14.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 استفاده میکند.
اگر تصمیم گرفتید از Firebase BoM استفاده نکنید، باید هر نسخه کتابخانه Firebase را در خط وابستگی آن مشخص کنید.
توجه داشته باشید که اگر از چندین کتابخانه Firebase در برنامه خود استفاده می کنید، ما قویاً توصیه می کنیم از BoM برای مدیریت نسخه های کتابخانه استفاده کنید، که تضمین می کند همه نسخه ها سازگار هستند.
dependencies { // Add the dependency for the Firebase AI Logic library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai:16.0.0") }
Java
Firebase AI Logic SDK برای Android ( firebase-ai
) دسترسی به APIها را برای تعامل با مدلهای Gemini و Imagen فراهم میکند.
در فایل Gradle ماژول (سطح برنامه) خود (مانند <project>/<app-module>/build.gradle.kts
)، وابستگی را برای کتابخانه 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.14.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 استفاده میکند.
اگر تصمیم گرفتید از Firebase BoM استفاده نکنید، باید هر نسخه کتابخانه Firebase را در خط وابستگی آن مشخص کنید.
توجه داشته باشید که اگر از چندین کتابخانه Firebase در برنامه خود استفاده می کنید، ما قویاً توصیه می کنیم از BoM برای مدیریت نسخه های کتابخانه استفاده کنید، که تضمین می کند همه نسخه ها سازگار هستند.
dependencies { // Add the dependency for the Firebase AI Logic library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai:16.0.0") }
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
وحدت
Firebase Unity SDK را دانلود کنید، سپس SDK را در جایی مناسب استخراج کنید.
Firebase Unity SDK مخصوص پلتفرم نیست.
در پروژه Unity باز خود، به Assets > Import Package > Custom Package بروید.
از SDK استخراج شده، بسته
FirebaseAI
را انتخاب کنید.در پنجره Import Unity Package ، روی Import کلیک کنید.
در کنسول Firebase ، در گردش کار راه اندازی، روی Next کلیک کنید.
مرحله 3 : سرویس را راه اندازی کنید و یک نمونه مدل ایجاد کنید
برای مشاهده محتوا و کد ارائه دهنده خاص در این صفحه، روی ارائه دهنده API Gemini خود کلیک کنید. |
هنگام استفاده از SDKهای مشتری Firebase AI Logic با Gemini Developer API ، کلید Gemini API خود را به پایگاه کد برنامه خود اضافه نکنید . بیشتر بدانید.
قبل از ارسال درخواست به یک مدل Gemini ، سرویس را برای ارائه دهنده API انتخابی خود راه اندازی کنید و یک نمونه GenerativeModel
ایجاد کنید.
سویفت
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.0-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.0-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.0-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.0-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.0-flash');
وحدت
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.0-flash");
توجه داشته باشید که بسته به قابلیتی که استفاده می کنید، ممکن است همیشه یک نمونه GenerativeModel
ایجاد نکنید .
- برای دسترسی به یک مدل Imagen ، یک نمونه
ImagenModel
ایجاد کنید.
همچنین، پس از اتمام این راهنمای شروع، یاد بگیرید که چگونه یک مدل برای مورد استفاده و برنامه خود انتخاب کنید.
مرحله 4 : یک درخواست سریع به یک مدل ارسال کنید
اکنون برای ارسال یک درخواست فوری به مدل Gemini تنظیم شده اید.
شما می توانید از generateContent()
برای تولید متن از دستوری که حاوی متن است استفاده کنید:
سویفت
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.0-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.0-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
برای جاوا، روشهای موجود در این 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.0-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.0-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.0-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);
وحدت
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.0-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 Live API پخش کنید.
- از فراخوانی تابع برای اتصال مدل های مولد به سیستم ها و اطلاعات خارجی استفاده کنید.
یاد بگیرید چگونه تولید محتوا را کنترل کنید
- طراحی سریع، از جمله بهترین شیوهها، استراتژیها و درخواستهای نمونه را درک کنید .
- پارامترهای مدل مانند دما و نشانههای حداکثر خروجی (برای Gemini ) یا نسبت ابعاد و تولید شخص (برای Imagen ) را پیکربندی کنید.
- از تنظیمات ایمنی برای تنظیم احتمال دریافت پاسخ هایی که ممکن است مضر تلقی شوند استفاده کنید .
درباره تجربه خود با Firebase AI Logic بازخورد بدهید