كان يُطلق على Firebase AI Logic ومجموعة تطوير البرامج (SDK) الخاصة بالعملاء في السابق اسم "Vertex AI in Firebase". ولعرض خدماتنا الموسّعة وميزاتنا بشكل أفضل (على سبيل المثال، نتيح الآن استخدام Gemini Developer API)، أعدنا تسمية خدماتنا وإعادة تجميعها في Firebase AI Logic.
للوصول بأمان إلى نماذج الذكاء الاصطناعي التوليدي من Google مباشرةً من تطبيقاتك المتوافقة مع الأجهزة الجوّالة أو الويب، يمكنك الآن اختيار مزوّد "Gemini API"، سواء كانVertex AI Gemini API المتاح منذ فترة طويلة أوGemini Developer API المتاح الآن. وهذا يعني أنّه يتوفّر لك الآن خيار استخدام Gemini Developer API، الذي يوفّر خطة بدون تكلفة مع حدود ومعدّلات معقولة.
نظرة عامة على خطوات نقل البيانات إلى حِزم تطوير البرامج (SDK) من Firebase AI Logic
الخطوة 1: اختَر أفضل مقدّم "Gemini API" لتطبيقك وحالات الاستخدام.
الخطوة 2: إعداد مشروعك على Firebase لكي تتمكّن من استخدام Gemini Developer API
لا ينطبق ذلك إلا إذا كنت تريد استخدام Gemini Developer API بدلاً من Vertex AI Gemini API.الخطوة 3: عدِّل المكتبة المستخدَمة في تطبيقك.
الخطوة 4: عدِّل عملية الإعداد في تطبيقك.
الخطوة 5: عدِّل الرمز البرمجي استنادًا إلى الميزات التي تستخدمها.
الخطوة 1: اختيار أفضل مقدّم خدمة لواجهة برمجة التطبيقات Gemini API لتطبيقك
من خلال عملية نقل البيانات هذه، يمكنك اختيار مقدّم خدمة "Gemini API":
لا يمكن لحِزم SDK القديمة من "Vertex AI in Firebase" استخدام سوى Vertex AI Gemini API.
تتيح لك حِزم تطوير البرامج (SDK) الجديدة من Firebase AI Logic اختيار مقدّم خدمات "Gemini API" الذي تريد الاتصال به مباشرةً من تطبيقك المتوافق مع الأجهزة الجوّالة أو الويب، سواء كانGemini Developer API أو Vertex AI Gemini API.
راجِع الاختلافات بين استخدام موفّري خدمة Gemini API، لا سيما من حيث الميزات المتاحة والأسعار وحدود الأسعار. على سبيل المثال، لا يتيح Gemini Developer API تقديم الملفات باستخدام عناوين URL الخاصة بخدمة Cloud Storage، ولكن قد يكون خيارًا جيدًا إذا كنت تريد الاستفادة من فئته التي لا تتطلّب أي تكلفة والحصة المعقولة التي يوفّرها.
إذا كنت تريد مواصلة استخدام Vertex AI Gemini API:
يمكنك تخطّي الخطوة التالية والانتقال مباشرةً إلى تحديث المكتبة في تطبيقك، ثم إلى بقية هذا الدليل.إذا أردت التبديل إلى Gemini Developer API:
انتقِل إلى الخطوة التالية لإعداد مشروعك على Firebase لاستخدام واجهة برمجة التطبيقات هذه، ثم إلى بقية هذا الدليل.
الخطوة 2: إعداد مشروعك على Firebase ليتمكّن من استخدام Gemini Developer API
هذه الخطوة مطلوبة فقط إذا كنت تريد التبديل إلى استخدام حِزم تطوير البرامج (SDK) لإصدار Gemini Developer API مع حِزم تطوير البرامج (SDK) لإصدار Firebase AI Logic. إذا كنت تريد مواصلة استخدام Vertex AI Gemini API، انتقِل إلى الخطوة التالية.
يُرجى العِلم أنّه لا بأس بتفعيل موفِّري "واجهة برمجة تطبيقات Gemini" في مشروعك في الوقت نفسه.
في وحدة تحكُّم Firebase، انتقِل إلى صفحة Firebase AI Logic.
انتقِل إلى علامة التبويب الإعدادات، وانقر على Gemini Developer API.
فعِّل Gemini Developer API.
ستضمن وحدة التحكّم تفعيل واجهات برمجة التطبيقات المطلوبة وإنشاء مفتاح واجهة برمجة التطبيقات Gemini في مشروعك على Firebase.
تابِع الخطوات الواردة في دليل نقل البيانات هذا لتعديل المكتبة و عملية الإعداد في تطبيقك.
الخطوة 3: تعديل المكتبة المستخدَمة في تطبيقك
عليك تعديل رمز تطبيقك البرمجي لاستخدام مكتبة Firebase AI Logic.
Swift
في Xcode، مع فتح مشروع تطبيقك، عدِّل حزمة Firebase إلى الإصدار 11.13.0 أو إصدار أحدث باستخدام أحد الخيارَين التاليَين:
الخيار 1: تحديث جميع الحِزم: انتقِل إلى الملف > الحِزم > التحديث إلى أحدث إصدارات الحِزم.
الخيار 2: تعديل Firebase بشكلٍ فردي: انتقِل إلى حِزمة Firebase في القسم المُسمى تبعيات الحِزمة. انقر بزر الماوس الأيمن على حزمة Firebase، ثم اختَر تعديل الحزمة.
تأكَّد من أنّ حزمة Firebase تعرِض الآن الإصدار 11.13.0 أو إصدارًا أحدث. إذا لم يكن الأمر كذلك، تأكَّد من أنّ متطلبات الحزمة المحدّدة تسمح بالتحديث إلى الإصدار 11.13.0 أو إصدار أحدث.
اختَر استهداف تطبيقك في "محرر المشاريع"، ثم انتقِل إلى القسم الإطارات والمراجع والمحتوى المضمّن.
أضِف المكتبة الجديدة: انقر على الزر +، ثم أضِف FirebaseAI من حزمة Firebase.
بعد الانتهاء من نقل بيانات تطبيقك (اطّلِع على الأقسام المتبقية في هذا الدليل)، احرص على إزالة المكتبة القديمة:
اختَر FirebaseVertexAI، ثم اضغط على الزر —.
Kotlin
في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً
<project>/<app-module>/build.gradle.kts
أو<project>/<app-module>/build.gradle
)، استبدِل التبعيات القديمة (حسب الاقتضاء) بما يلي.يُرجى العِلم أنّه قد يكون من الأسهل نقل قاعدة بيانات تطبيقك (اطّلِع على الأقسام المتبقية في هذا الدليل) قبل حذف التبعية القديمة.
// BEFORE dependencies { implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
implementation("com.google.firebase:firebase-vertexai")// OR if not using the BoMimplementation("com.google.firebase:firebase-vertexai:16.x.y")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.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") }مزامنة مشروع Android مع ملفات Gradle
يُرجى العِلم أنّه في حال اختيار عدم استخدام Firebase Android BoM، ما عليك سوى إضافة
التبعية لمكتبة firebase-ai
وقبول أحدث إصدار
يقترحه Android Studio.
Java
في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً
<project>/<app-module>/build.gradle.kts
أو<project>/<app-module>/build.gradle
)، استبدِل التبعيات القديمة (حسب الاقتضاء) بما يلي.يُرجى العِلم أنّه قد يكون من الأسهل نقل قاعدة بيانات تطبيقك (اطّلِع على الأقسام المتبقية في هذا الدليل) قبل حذف التبعية القديمة.
// BEFORE dependencies { implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
implementation("com.google.firebase:firebase-vertexai")// OR if not using the BoMimplementation("com.google.firebase:firebase-vertexai:16.x.y")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.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") }مزامنة مشروع Android مع ملفات Gradle
يُرجى العِلم أنّه في حال اختيار عدم استخدام Firebase Android BoM، ما عليك سوى إضافة
التبعية لمكتبة firebase-ai
وقبول أحدث إصدار
يقترحه Android Studio.
Web
احصل على أحدث إصدار من حزمة تطوير البرامج (SDK) لبرنامج Firebase JS للويب باستخدام npm:
npm i firebase@latest
أو
yarn add firebase@latest
في أي مكان استوردت فيه المكتبة، عدِّل عبارات الاستيراد لاستخدام
firebase/ai
بدلاً من ذلك.يُرجى العلم أنّه قد يكون من الأسهل نقل قاعدة بيانات تطبيقك (اطّلِع على الأقسام المتبقية في هذا الدليل) قبل حذف عمليات الاستيراد القديمة.
// BEFORE import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";// AFTER import { initializeApp } from "firebase/app"; import { getAI, getGenerativeModel } from "firebase/ai";
Dart
عدِّل استخدام حزمة
firebase_ai
في ملفpubspec.yaml
من خلال تنفيذ الأمر التالي من دليل مشروع Flutter:flutter pub add firebase_ai
إعادة إنشاء مشروع Flutter:
flutter run
بعد الانتهاء من نقل بيانات تطبيقك (اطّلِع على الأقسام المتبقية في هذا الدليل)، احرص على حذف الحزمة القديمة:
flutter pub remove firebase_vertexai
Unity
لم يكن دعم Unity متاحًا من "Vertex AI في Firebase".
تعرَّف على كيفية بدء استخدام حزمة تطوير البرامج (SDK) لنظام التشغيل Firebase AI Logic في Unity.
الخطوة 4: تعديل عملية الإعداد في تطبيقك
انقر على مزوّد 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.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');
Unity
لم يكن دعم Unity متاحًا من "Vertex AI في Firebase".
تعرَّف على كيفية بدء استخدام حزمة تطوير البرامج (SDK) لنظام التشغيل Firebase AI Logic في Unity.
يُرجى العلم أنّه استنادًا إلى الإمكانات التي تستخدمها، قد لا تتمكّن دائمًا من
إنشاء مثيل GenerativeModel
.
- للوصول إلى نموذج Imagen،
أنشئ مثيل
ImagenModel
.
الخطوة 5: تعديل الرمز البرمجي استنادًا إلى الميزات التي تستخدمها
توضّح هذه الخطوة التغييرات التي قد تكون مطلوبة استنادًا إلى الميزات التي تستخدمها.
إذا كنت تستخدم عناوين URL Cloud Storage و وبدّلت استخدام Gemini Developer API في عملية نقل البيانات هذه، عليك تعديل طلبات الوسائط المتعددة لتضمين الملفات كبيانات مضمّنة (أو استخدام عناوين URL الخاصة بفيديوهات YouTube).
راجِع القوائم التالية بحثًا عن أي تغييرات قد تحتاج إلى إجرائها في الرمز البرمجي لاستيعاب استخدام Firebase AI Logic حزمة SDK.
Swift
ما مِن تغييرات إضافية.
Kotlin
Live API
- تمّت إزالة القيمة
UNSPECIFIED
لفئة التعدادResponseModality
. بدلاً من ذلك، استخدِمnull
.
- تمّت إزالة القيمة
Java
Live API
- تمّت إزالة القيمة
UNSPECIFIED
لفئة التعدادResponseModality
. بدلاً من ذلك، استخدِمnull
.
- تمّت إزالة القيمة
تم تغيير طرق إنشاء Java المختلفة لعرض مثيل صفها بشكل صحيح الآن بدلاً من void.
Web
التغييرات المطلوبة فقط إذا كنت بصدد بدء استخدام الرمز Gemini Developer API (بدلاً من الرمز Vertex AI Gemini API):
إعدادات السلامة
- تمّت إزالة استخدامات
SafetySetting.method
غير المتوافقة.
- تمّت إزالة استخدامات
البيانات المضمّنة
- تمّت إزالة استخدامات
InlineDataPart.videoMetadata
غير المتوافقة.
- تمّت إزالة استخدامات
Dart
ما مِن تغييرات إضافية.
Unity
لم يكن دعم Unity متاحًا من "Vertex AI in Firebase".
تعرَّف على كيفية بدء استخدام حزمة تطوير البرامج (SDK) لنظام التشغيل Firebase AI Logic في Unity.
تقديم ملاحظات حول تجربتك مع Firebase AI Logic