كان اسم 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: فعِّل واجهات برمجة التطبيقات المطلوبة.
الخطوة 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، ولكن قد يكون خيارًا جيدًا إذا أردت الاستفادة من المستوى المجاني والحصة المعقولة.
الخطوة 2: تفعيل واجهات برمجة التطبيقات المطلوبة
تأكَّد من تفعيل جميع واجهات برمجة التطبيقات المطلوبة في مشروعك على Firebase لاستخدام موفّر خدمة "Gemini API" الذي اخترته.
يُرجى العِلم أنّه يمكنك تفعيل كلا موفِّري واجهات برمجة التطبيقات في مشروعك في الوقت نفسه.
سجِّل الدخول إلى Firebase وحدة التحكّم، ثم اختَر مشروعك على Firebase.
في وحدة تحكّم Firebase، انتقِل إلى صفحة Firebase AI Logic.
انقر على Get started (البدء) لتشغيل سير عمل موجّه يساعدك في إعداد واجهات برمجة التطبيقات المطلوبة والموارد لمشروعك.
اختَر مقدّم خدمة "Gemini API" الذي تريد استخدامه مع حِزم تطوير البرامج (SDK) الخاصة بـ Firebase AI Logic. ويمكنك إعداد واستخدام موفّر واجهة برمجة التطبيقات الآخر في وقت لاحق إذا أردت ذلك.
Gemini Developer API — الفوترة اختيارية (متاحة في خطة أسعار Spark بدون تكلفة)
ستفعّل سير عمل وحدة التحكّم واجهات برمجة التطبيقات المطلوبة وتنشئ مفتاح واجهة برمجة تطبيقات Gemini في مشروعك.
يجب عدم إضافة مفتاح واجهة برمجة التطبيقات Gemini هذا إلى قاعدة رموز تطبيقك. مزيد من المعلوماتVertex AI Gemini API — مطلوب إعداد الفوترة (يتطلّب خطة تسعير Blaze للدفع حسب الاستخدام)
ستتيح سير عمل وحدة التحكّم تفعيل واجهات برمجة التطبيقات المطلوبة في مشروعك.
يمكنك مواصلة قراءة دليل النقل هذا لتعديل المكتبة وعملية التهيئة في تطبيقك.
الخطوة 3: تعديل المكتبة المستخدَمة في تطبيقك
عدِّل قاعدة رموز تطبيقك لاستخدام مكتبة Firebase AI Logic.
Swift
في Xcode، بعد فتح مشروع تطبيقك، حدِّث حزمة Firebase إلى الإصدار 11.13.0 أو إصدار أحدث باستخدام أحد الخيارَين التاليَين:
الخيار 1: تحديث جميع الحِزم: انتقِل إلى ملف > الحِزم > التحديث إلى أحدث إصدارات الحِزم.
الخيار 2: تعديل Firebase بشكل فردي: انتقِل إلى حزمة Firebase في القسم المسمّى Package Dependencies (توابع الحزمة). انقر بزر الماوس الأيمن على حزمة Firebase، ثم اختَر تعديل الحزمة.
تأكَّد من أنّ حزمة Firebase تعرض الآن الإصدار 11.13.0 أو إصدارًا أحدث. إذا لم يكن كذلك، تأكَّد من أنّ متطلبات الحزمة المحدّدة تسمح بالتحديث إلى الإصدار 11.13.0 أو إصدار أحدث.
اختَر هدف تطبيقك في "محرّر المشاريع"، ثم انتقِل إلى قسم الأُطر والمكتبات والمحتوى المضمّن.
أضِف المكتبة الجديدة: انقر على الزر +، ثم أضِف FirebaseAI من حزمة 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:33.16.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("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:33.16.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-preview";// AFTER import { initializeApp } from "firebase/app"; import { getAI, getGenerativeModel } from "firebase/ai";
Dart
عدِّل ملف
pubspec.yaml
لاستخدام حزمةfirebase_ai
من خلال تنفيذ الأمر التالي من دليل مشروع 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 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
لم يكن دعم Unity متاحًا من "Vertex AI in Firebase".
تعرَّف على كيفية بدء استخدام Firebase AI Logic حزمة تطوير البرامج (SDK) في Unity.
يُرجى العِلم أنّه استنادًا إلى الميزة التي تستخدمها، قد لا تتمكّن دائمًا من إنشاء GenerativeModel
.
- للوصول إلى Imagen نموذج،
أنشئ
ImagenModel
مثيلاً.
الخطوة 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.مهلة
- تم تغيير المهلة التلقائية للطلبات إلى 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 المختلفة لتعرض الآن بشكل صحيح مثيلاً لفئتها بدلاً من
void
.
Web
التعدادات
- تمت إزالة القيم من التعدادات التالية:
HarmCategory
وBlockThreshold
وHarmProbability
وHarmSeverity
وBlockReason
وFinishReason
.
- تمت إزالة القيم من التعدادات التالية:
سبب الحظر
- تم تغيير
blockReason
فيPromptFeedback
ليصبح اختياريًا.
- تم تغيير
التغييرات مطلوبة فقط إذا كنت ستستخدم Gemini Developer API (بدلاً من Vertex AI Gemini API):
إعدادات الأمان
- تمت إزالة استخدامات
SafetySetting.method
غير المتوافق.
- تمت إزالة استخدامات
البيانات المضمّنة
- تمت إزالة استخدامات
InlineDataPart.videoMetadata
غير المتوافق.
- تمت إزالة استخدامات
Dart
التعدادات
- تمت إزالة القيم من التعدادات التالية:
HarmCategory
وHarmProbability
وBlockReason
وFinishReason
.
- تمت إزالة القيم من التعدادات التالية:
جزء البيانات
- تمت إعادة تسمية
DataPart
إلىInlineDataPart
، وتمت إعادة تسمية الدالةstatic
data
إلى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".
تعرَّف على كيفية بدء استخدام Firebase AI Logic حزمة تطوير البرامج (SDK) في 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