كان اسم 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، انتقِل إلى خدمات الذكاء الاصطناعي > منطق الذكاء الاصطناعي.
انقر على Get started (البدء) لتشغيل سير عمل موجّه يساعدك في إعداد واجهات برمجة التطبيقات والموارد المطلوبة لمشروعك.
اختَر موفّر "Gemini API" الذي تريد استخدامه مع Firebase AI Logic حِزم SDK. يمكنك في أي وقت إعداد واستخدام موفّر واجهة برمجة التطبيقات الآخر إذا أردت ذلك.
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 أو إصدار أحدث.
اختَر هدف تطبيقك في "محرّر المشاريع"، ثم انتقِل إلى قسم الأطر والمكتبات والمحتوى المضمّن.
أضِف المكتبة الجديدة: انقر على الزر +، ثم أضِف 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.0.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.0.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 لمنصّة JavaScript على الويب باستخدام 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".
كيفية بدء استخدام حزمة تطوير البرامج (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. راجِع القوائم التالية لمعرفة أي تغييرات قد تحتاج إلى إجرائها في الرمز البرمجي لاستيعاب Firebase AI Logic حزمة SDK.
مطلوبة لجميع اللغات والمنصات
استدعاء الدوال
إذا كنت قد نفّذت هذه الميزة قبل الإطلاق العام، عليك إجراء تعديلات على طريقة تحديد المخطط. ننصحك بمراجعة دليل استدعاء الدوال المعدَّل لمعرفة كيفية كتابة تعريفات الدوال.إنشاء إخراج منظَّم (مثل 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 (بدلاً من Agent Platform Gemini API (formerly Vertex AI)):
إعدادات الأمان
- تمت إزالة استخدامات
SafetySetting.methodغير المتوافقة.
- تمت إزالة استخدامات
البيانات المضمّنة
- تمت إزالة استخدامات
InlineDataPart.videoMetadataغير المتوافقة.
- تمت إزالة استخدامات
Dart
التعدادات
- تمت إزالة القيم من التعدادات التالية:
HarmCategoryوHarmProbabilityوBlockReasonوFinishReason.
- تمت إزالة القيم من التعدادات التالية:
جزء البيانات
- تمت إعادة تسمية
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 API في
ملف إعداد Firebase أو العنصر لا يتضمّن واجهة برمجة تطبيقات مطلوبة في
قائمة السماح للمنتج الذي تحاول استخدامه.
تأكَّد من أنّ مفتاح واجهة برمجة التطبيقات Firebase API الذي يستخدمه تطبيقك يتضمّن جميع واجهات برمجة التطبيقات المطلوبة المُدرَجة في قائمة السماح "قيود واجهة برمجة التطبيقات" الخاصة بالمفتاح. بالنسبة إلى Firebase AI Logic، يجب أن يتضمّن مفتاح واجهة برمجة التطبيقات في Firebase على الأقل واجهة برمجة التطبيقات Firebase AI Logic في قائمة السماح. من المفترض أن تكون واجهة برمجة التطبيقات هذه قد أُضيفت تلقائيًا إلى القائمة المسموح بها لمفتاح واجهة برمجة التطبيقات عند تفعيل واجهات برمجة التطبيقات المطلوبة في وحدة تحكّم Firebase.
يمكنك الاطّلاع على جميع مفاتيح واجهة برمجة التطبيقات في لوحة واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد في وحدة تحكّم Google Cloud.
تقديم ملاحظات حول تجربتك مع Firebase AI Logic