كانت Firebase AI Logic وحِزم تطوير البرامج (SDK) الخاصة بالعملاء تُعرف سابقًا باسم "Vertex AI in Firebase". ولإبراز خدماتنا وميزاتنا الموسّعة بشكل أفضل (على سبيل المثال، نحن نتيح الآن استخدام Gemini Developer API)، أعدنا تسمية خدماتنا وأعدنا تجميعها في Firebase AI Logic.
للوصول بأمان إلى نماذج الذكاء الاصطناعي التوليدي من Google مباشرةً من تطبيقات الويب أو الأجهزة الجوّالة، يمكنك الآن اختيار مقدّم خدمة "Gemini API"، إما Agent Platform Gemini API (formerly Vertex AI) المتاح منذ فترة طويلة أو Gemini Developer API الآن. يعني ذلك أنّه أصبح بإمكانك استخدام Gemini Developer API الذي يوفّر مستوى بدون تكلفة مع حدود قصوى وحصص معقولة لمعدّل الاستخدام.
نظرة عامة على خطوات نقل البيانات إلى حِزم تطوير البرامج (SDK) في Firebase AI Logic
الخطوة 1: اختَر أفضل مقدّم خدمة لـ Gemini API يناسب تطبيقك وحالات الاستخدام.
الخطوة 2: تفعيل واجهات برمجة التطبيقات المطلوبة
الخطوة 3: حدِّث المكتبة المستخدَمة في تطبيقك.
الخطوة 4: تعديل عملية الإعداد في تطبيقك
الخطوة 5: عدِّل الرمز البرمجي استنادًا إلى الميزات التي تستخدمها.
الخطوة 1: اختيار أفضل مقدّم خدمة لواجهة Gemini API لتطبيقك
من خلال عملية النقل هذه، يمكنك اختيار مزوّد خدمة "Gemini API":
كانت حِزم تطوير البرامج (SDK) القديمة "Vertex AI in Firebase" تستخدم فقط Agent Platform Gemini API (formerly Vertex AI).
تتيح لك حِزم تطوير البرامج (SDK) الجديدة في Firebase AI Logic اختيار مقدّم خدمة "Gemini API" الذي تريد الاتصال به مباشرةً من تطبيق الويب أو تطبيق الأجهزة الجوّالة، سواء كان Gemini Developer API أو Agent Platform Gemini API (formerly Vertex AI).
راجِع الاختلافات بين استخدام مقدِّمَي خدمات Gemini API، خاصةً في ما يتعلّق بالميزات المتوافقة والأسعار والحدود القصوى لمعدّل الاستخدام. على سبيل المثال، لا تتيح Gemini Developer API تقديم الملفات باستخدام عناوين URL من النوع Cloud Storage، ولكنّها قد تكون خيارًا جيدًا إذا أردت الاستفادة من فئتها المجانية وحصتها المعقولة.
الخطوة 2: تفعيل واجهات برمجة التطبيقات المطلوبة
تأكَّد من تفعيل جميع واجهات برمجة التطبيقات المطلوبة في مشروع Firebase لاستخدام مقدّم خدمة "Gemini API" الذي اخترته.
يُرجى العِلم أنّه يمكنك تفعيل كلا مقدِّمَي واجهة برمجة التطبيقات في مشروعك في الوقت نفسه.
سجِّل الدخول إلى وحدة تحكّم Firebase، ثم اختَر مشروعك على Firebase.
في وحدة تحكّم Firebase، انتقِل إلى خدمات الذكاء الاصطناعي > AI Logic.
انقر على البدء لإطلاق سير عمل موجَّه يساعدك في إعداد واجهات برمجة التطبيقات المطلوبة والموارد لمشروعك.
اختَر مقدّم خدمة Gemini API الذي تريد استخدامه مع حِزم تطوير البرامج (SDK) من Firebase AI Logic. يمكنك دائمًا إعداد واستخدام موفّر واجهة برمجة التطبيقات الآخر لاحقًا، إذا أردت.
Gemini Developer API — الفوترة اختيارية (متوفّرة في خطة Spark الأساسية بدون تكلفة)
سيتيح سير العمل في وحدة التحكّم واجهات برمجة التطبيقات المطلوبة وإنشاء مفتاح واجهة برمجة تطبيقات Gemini في مشروعك.
لا تُضِف مفتاح واجهة برمجة التطبيقات Gemini هذا إلى قاعدة الرموز البرمجية لتطبيقك. مزيد من المعلوماتAgent Platform Gemini API (formerly Vertex AI) — يجب تفعيل الفوترة (تتطلّب خطة Blaze المَرِنة للدفع حسب الاستخدام)
ستعمل عملية سير العمل في وحدة التحكّم على تفعيل واجهات برمجة التطبيقات المطلوبة في مشروعك.
يُرجى مواصلة قراءة دليل نقل البيانات هذا لتحديث المكتبة وعملية الإعداد في تطبيقك.
الخطوة 3: تحديث المكتبة المستخدَمة في تطبيقك
تحديث قاعدة الرموز البرمجية لتطبيقك لاستخدام مكتبة Firebase AI Logic
Swift
في Xcode، افتح مشروع تطبيقك وحدِّث حزمة Firebase إلى الإصدار 12.5.0 أو إصدار أحدث باستخدام أحد الخيارات التالية:
الخيار 1: تحديث جميع الحِزم: انتقِل إلى الملف (File) > الحِزم (Packages) > التحديث إلى آخر إصدارات الحِزم (Update to Latest Package Versions).
الخيار 2: تحديث Firebase بشكل فردي: انتقِل إلى حزمة Firebase في القسم الذي يحمل اسم تبعية الحزمة (Package Dependencies). انقر بزر الماوس الأيمن على حزمة Firebase، ثم اختَر تحديث الحزمة.
تأكَّد من أنّ حزمة Firebase تعرض الآن الإصدار 12.5.0 أو إصدارًا أحدث. وإذا لم يتم ذلك، يُرجى التأكّد من أنّ متطلبات الحزمة المحدّدة تسمح بالتحديث إلى الإصدار 12.5.0 أو إصدار أحدث.
اختَر هدف تطبيقك في "محرِّر المشاريع" (Project Editor)، ثم انتقِل إلى قسم الأُطر والمكتبات والمحتوى المضمّن (Frameworks, Libraries, and Embedded Content).
أضِف المكتبة الجديدة: انقر على الزر +، ثم أضِف FirebaseAILogic من حزمة Firebase.
بعد الانتهاء من نقل تطبيقك (راجِع الأقسام المتبقية في هذا الدليل)، تأكَّد من إزالة المكتبة القديمة:
اختَر FirebaseVertexAI-Preview، ثم اضغط على الزر —.
Kotlin
في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً
<project>/<app-module>/build.gradle.ktsأو<project>/<app-module>/build.gradle)، استبدِل الاعتماديات القديمة (حسب الاقتضاء) بما يلي.يُرجى العِلم أنّه قد يكون من الأسهل نقل قاعدة الرموز البرمجية لتطبيقك (يُرجى الاطّلاع على الأقسام المتبقية في هذا الدليل) قبل حذف التبعية القديمة.
// BEFORE dependencies {
implementation("com.google.firebase:firebase-vertexai:16.0.0-betaXX")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.1.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("com.google.firebase:firebase-vertexai:16.0.0-betaXX")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.1.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
احصل على أحدث إصدار من حزمة تطوير البرامج (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-preview";// 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".
كيفية بدء استخدام حزمة تطوير البرامج (SDK) الخاصة بـ "Firebase AI Logic" لمنصة 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.8-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.8-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.8-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.8-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.8-flash');
Unity
لم يتوفّر الدعم لـ Unity من "Vertex AI in Firebase".
كيفية بدء استخدام حزمة تطوير البرامج (SDK) الخاصة بـ "Firebase AI Logic" لمنصة Unity
يُرجى العِلم أنّه وفقًا للميزة التي تستخدمها، قد لا تتمكّن دائمًا من إنشاء مثيل GenerativeModel. لبث الإدخال والإخراج باستخدام Gemini Live API،
أنشِئ مثيلاً من LiveModel.
الخطوة 5: تعديل الرمز البرمجي استنادًا إلى الميزات التي تستخدمها
توضّح هذه الخطوة التغييرات التي قد تكون مطلوبة حسب الميزات التي تستخدمها.
إذا كنت تستخدم عناوين URL لـ Cloud Storage و بدّلتها لاستخدام Gemini Developer API في عملية النقل هذه، عليك تعديل طلباتك المتعددة الوسائط لتضمين الملفات كبيانات مضمّنة (أو استخدام عناوين URL على YouTube للفيديوهات).
تم إجراء عدة تغييرات على إصدارات GA من حِزم تطوير البرامج (SDK) لـ "Vertex AI in Firebase". يجب إجراء هذه التغييرات نفسها لاستخدام حِزم تطوير البرامج (SDK) في Firebase AI Logic. يُرجى مراجعة القوائم التالية لمعرفة أي تغييرات قد تحتاج إلى إجرائها في الرمز البرمجي لاستيعاب حزمة تطوير البرامج (SDK) لـ Firebase AI Logic.
مطلوبة لجميع اللغات والمنصات
استدعاء الدوال
إذا نفّذت هذه الميزة قبل إتاحتها للجميع، عليك تعديل طريقة تحديد المخطط. ننصحك بمراجعة دليل استدعاء الدوال المعدَّل للتعرّف على كيفية كتابة تعريفات الدوال.إنشاء مخرجات منظَّمة (مثل JSON) باستخدام
responseSchema
إذا نفّذت هذه الميزة قبل إتاحتها للجميع، عليك إجراء تعديلات على طريقة تحديد المخطط. ننصحك بمراجعة دليل المخرجات المنظَّمة الجديد للتعرّف على كيفية كتابة مخططات JSON.Timeout
- تم تغيير المهلة التلقائية للطلبات إلى 180 ثانية.
مطلوبة استنادًا إلى النظام الأساسي أو اللغة
Swift
التعدادات
تم استبدال معظم أنواع
enumبـstructباستخدام متغيّرات ثابتة. يتيح هذا التغيير مرونة أكبر لتطوير واجهة برمجة التطبيقات بطريقة متوافقة مع الأنظمة القديمة. عند استخدام عباراتswitch، عليك الآن تضمين حالةdefault:لتغطية القيم غير المعروفة أو غير المُعالَجة، بما في ذلك القيم الجديدة التي تتم إضافتها إلى حزمة تطوير البرامج (SDK) في المستقبل.تمت إعادة تسمية التعداد
BlockThresholdإلىHarmBlockThreshold، وأصبح هذا النوع الآنstruct.تمت إزالة الحالتَين
unknownوunspecifiedمن التعدادات التالية (الآنstruct):HarmCategoryوHarmBlockThresholdوHarmProbabilityوBlockReasonوFinishReason.تم استبدال التعداد
ModelContent.Partببروتوكول باسمPartللسماح بإضافة أنواع جديدة بطريقة متوافقة مع الأنظمة القديمة. يتم وصف هذا التغيير بمزيد من التفصيل في قسم أجزاء المحتوى.
أجزاء المحتوى
تمت إزالة بروتوكول
ThrowingPartsRepresentableوتبسيط أدوات الإعداد لـModelContentلتجنُّب أخطاء برنامج التجميع العرضية. ستستمر الصور التي لا يتم ترميزها بشكل صحيح في عرض أخطاء عند استخدامها فيgenerateContent.تم استبدال حالات
ModelContent.Partبأنواعstructالتالية المتوافقة مع بروتوكولPart:- من
.textإلىTextPart - من
.dataإلىInlineDataPart - من
.fileDataإلىFileDataPart - من
.functionCallإلىFunctionCallPart - من
.functionResponseإلىFunctionResponsePart
- من
فئة الضرر
- تم تغيير
HarmCategoryبحيث لا يكون متداخلاً في النوعSafetySetting. إذا كنت تشير إليه باسمSafetySetting.HarmCategory، يمكن استبداله بـHarmCategory.
- تم تغيير
ملاحظات حول الأمان
- تمت إزالة النوع
SafetyFeedbackلأنّه لم يتم استخدامه في أي من الردود.
- تمت إزالة النوع
البيانات الوصفية للاقتباسات
- تمت إعادة تسمية الموقع الإلكتروني
citationSourcesإلىcitationsفيCitationMetadata.
- تمت إعادة تسمية الموقع الإلكتروني
إجمالي عدد الأحرف التي تتم فوترتها
- تم تغيير السمة
totalBillableCharactersفيCountTokensResponseلتصبح اختيارية، وذلك لتعكس الحالات التي لا يتم فيها إرسال أي أحرف.
- تم تغيير السمة
ردّ المرشّح
- تمت إعادة تسمية
CandidateResponseإلىCandidateلتتطابق مع المنصات الأخرى.
- تمت إعادة تسمية
إعدادات الإنشاء
- تم تغيير المواقع العلنية لـ "
GenerationConfig" إلى "internal". وتبقى جميعها قابلة للضبط في دالة الإعداد.
- تم تغيير المواقع العلنية لـ "
Kotlin
التعدادات
تم استبدال فئات "
enum" وفئات "sealed" بفئات عادية. يتيح هذا التغيير مزيدًا من المرونة لتطوير واجهة برمجة التطبيقات بطريقة متوافقة مع الأنظمة القديمة.تمت إعادة تسمية التعداد
BlockThresholdإلىHarmBlockThreshold.تمت إزالة القيم من التعدادات التالية:
HarmBlockThresholdوHarmProbabilityوHarmSeverityوBlockReasonوFinishReason.
طرق Blob
- تمت إعادة تسمية جميع الطرق التي تتضمّن
Blobكجزء من اسمها لاستخدامInlineDataبدلاً من ذلك.
- تمت إعادة تسمية جميع الطرق التي تتضمّن
إعدادات الأمان
- تم تغيير الحقل
methodليصبح قابلاً للإلغاء.
- تم تغيير الحقل
فئة المدة
- تمت إزالة جميع استخدامات فئة
Durationفي Kotlin، واستبدالها بـlong. يوفّر هذا التغيير إمكانية تشغيل متبادل أفضل مع Java.
- تمت إزالة جميع استخدامات فئة
البيانات الوصفية للاقتباسات
- تم تجميع كل الحقول التي تم الإعلان عنها سابقًا في
CitationMetadataفي فئة جديدة باسمCitation. يمكن العثور على الاقتباسات في القائمة التي تحمل الاسمcitationsفيCitationMetadata. يتيح هذا التغيير توافقًا أفضل للأنواع على مستوى المنصات.
- تم تجميع كل الحقول التي تم الإعلان عنها سابقًا في
احتساب الرموز المميّزة
- تم تغيير الحقل
totalBillableCharactersليصبح قابلاً للإلغاء.
- تم تغيير الحقل
إجمالي عدد الأحرف التي تتم فوترتها
- تم تغيير السمة
totalBillableCharactersفيCountTokensResponseلتصبح اختيارية، وذلك لتعكس الحالات التي لا يتم فيها إرسال أي أحرف.
- تم تغيير السمة
إنشاء مثيل من نموذج
- تم نقل المَعلمة
requestOptionsإلى نهاية قائمة المَعلمات لتتوافق مع المنصات الأخرى.
- تم نقل المَعلمة
Live API
تمت إزالة القيمة
UNSPECIFIEDلفئة التعدادResponseModality. بدلاً من ذلك، استخدِمnull.تمت إعادة تسمية "
LiveGenerationConfig.setResponseModalities" إلى "LiveGenerationConfig.setResponseModality".تمت إزالة الفئة
LiveContentResponse.Status، وتم بدلاً من ذلك دمج حقول الحالة كخصائص لـLiveContentResponse.تمت إزالة الفئة
LiveContentResponse، وتم توفير فئات فرعية منLiveServerMessageتتطابق مع الردود من النموذج.تم تغيير
LiveModelFutures.connectلعرضListenableFuture<LiveSessionFutures>بدلاً منListenableFuture<LiveSession>.
Java
التعدادات
تم استبدال فئات "
enum" وفئات "sealed" بفئات عادية. يتيح هذا التغيير مزيدًا من المرونة لتطوير واجهة برمجة التطبيقات بطريقة متوافقة مع الأنظمة القديمة.تمت إعادة تسمية التعداد
BlockThresholdإلىHarmBlockThreshold.تمت إزالة القيم من التعدادات التالية:
HarmBlockThresholdوHarmProbabilityوHarmSeverityوBlockReasonوFinishReason.
طرق Blob
- تمت إعادة تسمية جميع الطرق التي تتضمّن
Blobكجزء من اسمها لاستخدامInlineDataبدلاً من ذلك.
- تمت إعادة تسمية جميع الطرق التي تتضمّن
إعدادات الأمان
- تم تغيير الحقل
methodليصبح قابلاً للإلغاء.
- تم تغيير الحقل
فئة المدة
- تمت إزالة جميع استخدامات فئة
Durationفي Kotlin، واستبدالها بـlong. يوفّر هذا التغيير إمكانية تشغيل متبادل أفضل مع Java.
- تمت إزالة جميع استخدامات فئة
البيانات الوصفية للاقتباسات
- تم تجميع كل الحقول التي تم الإعلان عنها سابقًا في
CitationMetadataفي فئة جديدة باسمCitation. يمكن العثور على الاقتباسات في القائمة التي تحمل الاسمcitationsفيCitationMetadata. يتيح هذا التغيير توافقًا أفضل للأنواع على مستوى المنصات.
- تم تجميع كل الحقول التي تم الإعلان عنها سابقًا في
احتساب الرموز المميّزة
- تم تغيير الحقل
totalBillableCharactersليصبح قابلاً للإلغاء.
- تم تغيير الحقل
إجمالي عدد الأحرف التي تتم فوترتها
- تم تغيير السمة
totalBillableCharactersفيCountTokensResponseلتصبح اختيارية، وذلك لتعكس الحالات التي لا يتم فيها إرسال أي أحرف.
- تم تغيير السمة
إنشاء مثيل من نموذج
- تم نقل المَعلمة
requestOptionsإلى نهاية قائمة المَعلمات لتتوافق مع المنصات الأخرى.
- تم نقل المَعلمة
Live API
تمت إزالة القيمة
UNSPECIFIEDلفئة التعدادResponseModality. بدلاً من ذلك، استخدِمnull.تمت إعادة تسمية "
LiveGenerationConfig.setResponseModalities" إلى "LiveGenerationConfig.setResponseModality".تمت إزالة الفئة
LiveContentResponse.Status، وتم بدلاً من ذلك دمج حقول الحالة كخصائص لـLiveContentResponse.تمت إزالة الفئة
LiveContentResponse، وتم توفير فئات فرعية منLiveServerMessageتتطابق مع الردود من النموذج.تم تغيير
LiveModelFutures.connectلعرضListenableFuture<LiveSessionFutures>بدلاً منListenableFuture<LiveSession>.
تم تغيير العديد من طرق Java builder لتعرض الآن مثيل فئتها بشكل صحيح، بدلاً من
void.
Web
التعدادات
- تمت إزالة القيم من التعدادات التالية:
HarmCategoryوBlockThresholdوHarmProbabilityوHarmSeverityوBlockReasonوFinishReason.
- تمت إزالة القيم من التعدادات التالية:
سبب الحظر
- تم تغيير "
blockReason" في "PromptFeedback" ليصبح اختياريًا.
- تم تغيير "
التغييرات المطلوبة فقط إذا كنت ستبدأ باستخدام Gemini Developer API (بدلاً من Agent Platform Gemini API (formerly Vertex AI)):
إعدادات الأمان
- تمت إزالة استخدامات
SafetySetting.methodغير المتوافقة.
- تمت إزالة استخدامات
البيانات المضمّنة
- تمت إزالة استخدامات
InlineDataPart.videoMetadataغير المتوافقة.
- تمت إزالة استخدامات
Dart
التعدادات
- تمت إزالة القيم من التعدادات التالية:
HarmCategoryوHarmProbabilityوBlockReasonوFinishReason.
- تمت إزالة القيم من التعدادات التالية:
Data part
- تمت إعادة تسمية
DataPartإلىInlineDataPart، والدالةstaticdataإلىinlineDataلتتوافق مع المنصات الأخرى.
- تمت إعادة تسمية
خيارات الطلب
- تمت إزالة "
RequestOptions" لأنّ "timeout" لم يكن يعمل. ستتم إعادة إضافته في المستقبل القريب، ولكن سيتم نقله إلى النوعGenerativeModelليتطابق مع المنصات الأخرى.
- تمت إزالة "
إيقاف التسلسلات
- تم تغيير المَعلمة
stopSequencesفيGenerationConfigلتصبح اختيارية وتكون قيمتها التلقائيةnullبدلاً من مصفوفة فارغة.
- تم تغيير المَعلمة
الاقتباسات
- تمت إعادة تسمية الموقع الإلكتروني
citationSourcesإلىcitationsفيCitationMetadata. تمت إعادة تسمية النوعCitationSourceإلىCitationليتطابق مع المنصات الأخرى.
- تمت إعادة تسمية الموقع الإلكتروني
الأنواع والطرق والسمات العامة غير الضرورية
- تمت إزالة الأنواع والطرق والسمات التالية التي تم الكشف عنها عن غير قصد:
defaultTimeoutوCountTokensResponseFieldsوparseCountTokensResponseوparseEmbedContentResponseوparseGenerateContentResponseوparseContentوBatchEmbedContentsResponseوContentEmbeddingوEmbedContentRequestوEmbedContentResponse.
- تمت إزالة الأنواع والطرق والسمات التالية التي تم الكشف عنها عن غير قصد:
احتساب الرموز المميّزة
- تمت إزالة الحقول الإضافية من دالة
countTokensالتي لم تعد ضرورية. مطلوبcontentsفقط.
- تمت إزالة الحقول الإضافية من دالة
إنشاء مثيل من نموذج
- تم نقل المَعلمة
systemInstructionإلى نهاية قائمة المَعلمات لتتوافق مع المنصات الأخرى.
- تم نقل المَعلمة
وظيفة التضمين
- تمت إزالة وظيفة التضمين غير المتوافقة (
embedContentوbatchEmbedContents) من النموذج.
- تمت إزالة وظيفة التضمين غير المتوافقة (
Unity
لم يكن الدعم متاحًا لـ Unity من "Vertex AI in Firebase".
كيفية بدء استخدام حزمة تطوير البرامج (SDK) الخاصة بـ "Firebase AI Logic" لمنصة Unity
الأخطاء المحتملة المتعلّقة بالنقل
أثناء نقل البيانات لاستخدام الإصدار المتاح للجميع من Firebase AI Logic، قد تظهر لك أخطاء إذا لم تكن قد أكملت جميع التغييرات المطلوبة كما هو موضّح في دليل نقل البيانات هذا.
الخطأ 403: Requests to this API firebasevertexai.googleapis.com ... are blocked.
إذا ظهر لك الخطأ 403 الذي يشير إلى
Requests to this API firebasevertexai.googleapis.com ... are blocked.،
يعني ذلك عادةً أنّ مفتاح واجهة برمجة التطبيقات في Firebase في
ملف أو عنصر إعدادات Firebase لا يتضمّن واجهة برمجة تطبيقات مطلوبة في
قائمة المسموح به للمنتج الذي تحاول استخدامه.
تأكَّد من أنّ مفتاح واجهة برمجة التطبيقات في Firebase الذي يستخدمه تطبيقك يتضمّن جميع واجهات برمجة التطبيقات المطلوبة في القائمة المسموح بها ضمن "قيود واجهة برمجة التطبيقات" للمفتاح. بالنسبة إلى "Firebase AI Logic"، يجب أن يتضمّن مفتاح واجهة برمجة التطبيقات في Firebase واجهة برمجة التطبيقات Firebase AI Logic في القائمة المسموح بها كحدّ أدنى. من المفترض أن تكون واجهة برمجة التطبيقات هذه قد أُضيفت تلقائيًا إلى القائمة المسموح بها لمفتاح واجهة برمجة التطبيقات عند تفعيل واجهات برمجة التطبيقات المطلوبة في وحدة تحكّم Firebase.
يمكنك الاطّلاع على جميع مفاتيح واجهة برمجة التطبيقات في لوحة واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد في وحدة تحكّم Google Cloud.
تقديم ملاحظات حول تجربتك مع "Firebase AI Logic"