نقل البيانات إلى حِزم تطوير البرامج (SDK) لـ Firebase AI Logic من إصدار الإصدار التجريبي من حِزم تطوير البرامج (SDK) لـ Vertex AI in Firebase


كان اسم 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" الذي اخترته.

يُرجى العِلم أنّه يمكنك تفعيل كلا موفِّري واجهات برمجة التطبيقات في مشروعك في الوقت نفسه.

  1. سجِّل الدخول إلى Firebase وحدة التحكّم، ثم اختَر مشروعك على Firebase.

  2. في وحدة تحكّم Firebase، انتقِل إلى صفحة Firebase AI Logic.

  3. انقر على Get started (البدء) لتشغيل سير عمل موجّه يساعدك في إعداد واجهات برمجة التطبيقات المطلوبة والموارد لمشروعك.

  4. اختَر مقدّم خدمة "Gemini API" الذي تريد استخدامه مع حِزم تطوير البرامج (SDK) الخاصة بـ Firebase AI Logic. ويمكنك إعداد واستخدام موفّر واجهة برمجة التطبيقات الآخر في وقت لاحق إذا أردت ذلك.

    • Gemini Developer APIالفوترة اختيارية (متاحة في خطة أسعار Spark بدون تكلفة)
      ستفعّل سير عمل وحدة التحكّم واجهات برمجة التطبيقات المطلوبة وتنشئ مفتاح واجهة برمجة تطبيقات Gemini في مشروعك.
      يجب عدم إضافة مفتاح واجهة برمجة التطبيقات Gemini هذا إلى قاعدة رموز تطبيقك. مزيد من المعلومات

    • Vertex AI Gemini APIمطلوب إعداد الفوترة (يتطلّب خطة تسعير Blaze للدفع حسب الاستخدام)
      ستتيح سير عمل وحدة التحكّم تفعيل واجهات برمجة التطبيقات المطلوبة في مشروعك.

  5. يمكنك مواصلة قراءة دليل النقل هذا لتعديل المكتبة وعملية التهيئة في تطبيقك.

الخطوة 3: تعديل المكتبة المستخدَمة في تطبيقك

عدِّل قاعدة رموز تطبيقك لاستخدام مكتبة Firebase AI Logic.

Swift

  1. في Xcode، بعد فتح مشروع تطبيقك، حدِّث حزمة Firebase إلى الإصدار 11.13.0 أو إصدار أحدث باستخدام أحد الخيارَين التاليَين:

    • الخيار 1: تحديث جميع الحِزم: انتقِل إلى ملف > الحِزم > التحديث إلى أحدث إصدارات الحِزم.

    • الخيار 2: تعديل Firebase بشكل فردي: انتقِل إلى حزمة Firebase في القسم المسمّى Package Dependencies (توابع الحزمة). انقر بزر الماوس الأيمن على حزمة Firebase، ثم اختَر تعديل الحزمة.

  2. تأكَّد من أنّ حزمة Firebase تعرض الآن الإصدار 11.13.0 أو إصدارًا أحدث. إذا لم يكن كذلك، تأكَّد من أنّ متطلبات الحزمة المحدّدة تسمح بالتحديث إلى الإصدار 11.13.0 أو إصدار أحدث.

  3. اختَر هدف تطبيقك في "محرّر المشاريع"، ثم انتقِل إلى قسم الأُطر والمكتبات والمحتوى المضمّن.

  4. أضِف المكتبة الجديدة: انقر على الزر +، ثم أضِف FirebaseAI من حزمة Firebase.

  5. بعد الانتهاء من نقل تطبيقك (راجِع الأقسام المتبقية في هذا الدليل)، احرص على إزالة المكتبة القديمة:
    اختَر FirebaseVertexAI-Preview، ثم انقر على الزر .

Kotlin

  1. في ملف 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")
    }
  2. مزامنة مشروع Android مع ملفات Gradle

يُرجى العِلم أنّه في حال اختيار عدم استخدام Firebase Android BoM، ما عليك سوى إضافة التبعية الخاصة بمكتبة firebase-ai وقبول أحدث إصدار يقترحه Android Studio.

Java

  1. في ملف 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")
    }
  2. مزامنة مشروع Android مع ملفات Gradle

يُرجى العِلم أنّه في حال اختيار عدم استخدام Firebase Android BoM، ما عليك سوى إضافة التبعية الخاصة بمكتبة firebase-ai وقبول أحدث إصدار يقترحه Android Studio.

Web

  1. احصل على أحدث إصدار من حزمة تطوير البرامج (SDK) لخدمة Firebase JS على الويب باستخدام npm:

    npm i firebase@latest

    أو

    yarn add firebase@latest
  2. في أي مكان استوردت فيه المكتبة، عدِّل عبارات الاستيراد لاستخدام 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

  1. عدِّل ملف pubspec.yaml لاستخدام حزمة firebase_ai من خلال تنفيذ الأمر التالي من دليل مشروع Flutter:

    flutter pub add firebase_ai
  2. أعِد إنشاء مشروع Flutter باتّباع الخطوات التالية:

    flutter run
  3. بعد الانتهاء من نقل تطبيقك (راجِع الأقسام المتبقية في هذا الدليل)، احرص على حذف الحزمة القديمة باتّباع الخطوات التالية:

    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.

الخطوة 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