كان يُطلق على 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
هذه الخطوة مطلوبة فقط إذا كنت تريد التبديل إلى استخدام Gemini Developer API مع Firebase AI Logic حِزم SDK للعميل. ومع ذلك، إذا كنت تريد مواصلة استخدام Vertex AI Gemini API، انتقِل إلى الخطوة التالية.
يُرجى العِلم أنّه يمكنك تفعيل مزوّدَي "Gemini API" في مشروعك في الوقت نفسه.
في Firebase Console، انتقِل إلى خدمات الذكاء الاصطناعي > Firebase AI Logic.
انتقِل إلى علامة التبويب الإعدادات ، واختَر Gemini Developer API.
فعِّل Gemini Developer API.
ستتأكّد وحدة التحكّم من تفعيل واجهات برمجة التطبيقات المطلوبة وستنشئ مفتاح Gemini API في مشروعك على Firebase.
**لا** تُضِف مفتاح API هذا إلى قاعدة الرموز البرمجية لتطبيقك.Gemini مزيد من المعلوماتتابِع في دليل نقل البيانات هذا لتعديل المكتبة وعملية التهيئة في تطبيقك.
الخطوة 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:34.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") }زامِن مشروع Android مع ملفات Gradle.
يُرجى العِلم أنّه إذا اخترت عدم استخدام Firebase Android BoM، ما عليك سوى إضافة
الاعتمادية لمكتبة firebase-ai وقبول أحدث إصدار
يقترحه "استوديو Android".
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:34.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") }زامِن مشروع Android مع ملفات Gradle.
يُرجى العِلم أنّه إذا اخترت عدم استخدام Firebase Android BoM، ما عليك سوى إضافة
الاعتمادية لمكتبة firebase-ai وقبول أحدث إصدار
يقترحه "استوديو Android".
Web
احصل على أحدث إصدار من Firebase JS SDK للويب باستخدام 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 in Firebase".
تعرَّف على كيفية بدء استخدام Firebase AI Logic SDK لـ Unity.
الخطوة 4: تعديل عملية التهيئة في تطبيقك
|
انقر على مزوّد Gemini API لعرض المحتوى والرمز البرمجي الخاصَّين بالمزوّد على هذه الصفحة. |
عدِّل طريقة تهيئة الخدمة لمزوّد واجهة برمجة التطبيقات الذي اخترته وأنشئ مثيلاً لـ GenerativeModel.
Swift
import FirebaseAILogic
// 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-3.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-3.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-3.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-3.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-3.5-flash');
Unity
لم يكن دعم Unity متاحًا من "Vertex AI in Firebase".
تعرَّف على كيفية بدء استخدام Firebase AI Logic SDK لـ Unity.
يُرجى العِلم أنّه قد لا تنشئ دائمًا
مثيلاً لـ GenerativeModel، وذلك حسب الإمكانية التي تستخدمها. لبث الإدخال والإخراج باستخدام Gemini Live API، أنشئ مثيلاً لـ LiveModel.
الخطوة 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".
تعرَّف على كيفية بدء استخدام Firebase AI Logic SDK لـ Unity.
قدِّم ملاحظاتك حول تجربتك مع Firebase AI Logic