از نسخه پیش‌نمایش Vertex AI در SDKهای Firebase به AI Logic SDKهای Firebase مهاجرت کنید


Firebase AI Logic و SDK های مشتری آن قبلا " Vertex AI در Firebase " نامیده می شدند. برای انعکاس بهتر خدمات و ویژگی‌های توسعه‌یافته خود (به عنوان مثال، ما اکنون از Gemini Developer API پشتیبانی می‌کنیم!)، نام سرویس‌های خود را به Firebase AI Logic تغییر دادیم و دوباره بسته‌بندی کردیم .

برای دسترسی ایمن به مدل‌های هوش مصنوعی مولد Google مستقیماً از تلفن همراه یا برنامه‌های وب خود، اکنون می‌توانید یک ارائه‌دهنده « Gemini API » انتخاب کنید — یا Vertex AI Gemini API که مدت‌ها در دسترس است یا اکنون Gemini Developer API . این به این معنی است که اکنون می‌توانید از Gemini Developer API استفاده کنید، که یک ردیف بدون هزینه با محدودیت‌ها و سهمیه‌های نرخ معقول ارائه می‌کند.

مروری بر مراحل انتقال به کیت توسعه نرم افزاری Firebase AI Logic

  • مرحله 1 : بهترین ارائه دهنده "Gemini API" را برای برنامه و موارد استفاده خود انتخاب کنید.

  • مرحله 2 : 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 .

تفاوت‌های بین استفاده از دو ارائه‌دهنده API Gemini را بررسی کنید، به‌ویژه از نظر ویژگی‌های پشتیبانی‌شده، قیمت‌گذاری و محدودیت‌های نرخ. فقط برای یک مثال، Gemini Developer API از ارائه فایل‌ها با استفاده از URLهای Cloud Storage پشتیبانی نمی‌کند، اما اگر می‌خواهید از سطح بدون هزینه و سهمیه معقول آن استفاده کنید، ممکن است انتخاب خوبی باشد.

مرحله 2 : API های مورد نیاز را فعال کنید

مطمئن شوید که همه APIهای مورد نیاز در پروژه Firebase شما برای استفاده از ارائه دهنده " Gemini API " انتخابی شما فعال هستند.

توجه داشته باشید که می توانید هر دو ارائه دهنده API را همزمان در پروژه خود فعال کنید.

  1. وارد کنسول Firebase شوید و سپس پروژه Firebase خود را انتخاب کنید.

  2. در کنسول Firebase ، به صفحه Firebase AI Logic بروید.

  3. برای راه‌اندازی یک گردش کار هدایت‌شده که به شما کمک می‌کند APIها و منابع مورد نیاز پروژه خود را تنظیم کنید، روی Get Start کلیک کنید.

  4. ارائه‌دهنده «Gemini API» را که می‌خواهید با Firebase AI Logic SDK استفاده کنید، انتخاب کنید. اگر بخواهید، همیشه می‌توانید بعداً ارائه‌دهنده API دیگر را راه‌اندازی کرده و از آن استفاده کنید.

    • Gemini Developer APIصورت‌حساب اختیاری (در طرح قیمت‌گذاری بدون هزینه Spark موجود است)
      گردش کار کنسول، API های مورد نیاز را فعال می کند و یک کلید API Gemini در پروژه شما ایجاد می کند.
      این کلید Gemini API را به پایگاه کد برنامه خود اضافه نکنید . بیشتر بدانید.

    • Vertex AI Gemini API - صورت‌حساب مورد نیاز است (به طرح قیمت‌گذاری Blaze نیاز دارد)
      گردش کار کنسول، API های مورد نیاز در پروژه شما را فعال می کند.

  5. در این راهنمای مهاجرت برای به روز رسانی کتابخانه و مقداردهی اولیه در برنامه خود ادامه دهید.

مرحله 3 : کتابخانه مورد استفاده در برنامه خود را به روز کنید

برای استفاده از کتابخانه Firebase AI Logic ، پایگاه کد برنامه خود را به روز کنید.

سویفت

  1. در Xcode، با باز بودن پروژه برنامه، بسته Firebase خود را با استفاده از یکی از گزینه های زیر به نسخه 11.13.0 یا جدیدتر به روز کنید:

    • گزینه 1 : به روز رسانی همه بسته ها: به File > Packages > Update to Latest Package Versions بروید.

    • گزینه 2 : به‌روزرسانی Firebase به صورت جداگانه: به بسته Firebase در قسمتی به نام Package Dependencies بروید. روی بسته Firebase کلیک راست کنید و سپس Update Package را انتخاب کنید.

  2. مطمئن شوید که بسته Firebase اکنون نسخه 11.13.0 یا بالاتر را نشان می دهد. اگر اینطور نیست، بررسی کنید که بسته مورد نیاز مشخص شده شما اجازه به روز رسانی به نسخه 11.13.0 یا جدیدتر را می دهد.

  3. هدف برنامه خود را در ویرایشگر پروژه انتخاب کنید و سپس به بخش Frameworks، Libraries و Embedded Content بروید.

  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.15.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. پروژه اندروید خود را با فایل های 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.15.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. پروژه اندروید خود را با فایل های Gradle همگام سازی کنید.

توجه داشته باشید که اگر تصمیم گرفتید از Firebase Android BoM استفاده نکنید، فقط وابستگی را برای کتابخانه firebase-ai اضافه کنید و آخرین نسخه پیشنهادی Android Studio را بپذیرید.

Web

  1. آخرین نسخه Firebase JS SDK for Web را با استفاده از 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. با اجرای دستور زیر از دایرکتوری پروژه Flutter خود، بسته firebase_ai را در فایل pubspec.yaml خود به روز کنید:

    flutter pub add firebase_ai
  2. پروژه Flutter خود را بازسازی کنید:

    flutter run
  3. پس از اتمام مهاجرت برنامه خود (به بخش های باقی مانده در این راهنما مراجعه کنید)، مطمئن شوید که بسته قدیمی را حذف کرده اید:

    flutter pub remove firebase_vertexai

وحدت

پشتیبانی از Unity از Vertex AI در Firebase در دسترس نبود.

یاد بگیرید که چگونه با Firebase AI Logic SDK for Unity شروع کنید .

مرحله 4 : مقدار اولیه را در برنامه خود به روز کنید

برای مشاهده محتوا و کد ارائه دهنده خاص در این صفحه، روی ارائه دهنده API Gemini خود کلیک کنید.

نحوه راه اندازی سرویس را برای ارائه دهنده API انتخابی خود و ایجاد یک نمونه GenerativeModel به روز کنید.

سویفت


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 از Vertex AI در Firebase در دسترس نبود.

یاد بگیرید که چگونه با Firebase AI Logic SDK for Unity شروع کنید .

توجه داشته باشید که بسته به قابلیتی که استفاده می کنید، ممکن است همیشه یک نمونه GenerativeModel ایجاد نکنید .

مرحله 5 : کد خود را بسته به ویژگی هایی که استفاده می کنید به روز کنید

این مرحله تغییراتی را توضیح می‌دهد که ممکن است بسته به ویژگی‌هایی که استفاده می‌کنید لازم باشد.

  • اگر از نشانی‌های وب Cloud Storage استفاده می‌کنید و برای استفاده از Gemini Developer API در این انتقال جایگزین شده‌اید، باید درخواست‌های چندوجهی خود را به‌روزرسانی کنید تا فایل‌ها را به‌عنوان داده‌های درون خطی درج کنید (یا از نشانی‌های وب YouTube برای ویدیوها استفاده کنید).

  • چندین تغییر برای نسخه‌های GA SDKهای " Vertex AI in Firebase " ارائه شد. همین تغییرات برای استفاده از Firebase AI Logic SDK مورد نیاز است. لیست‌های زیر را برای هرگونه تغییری که ممکن است لازم باشد در کد خود برای سازگاری با Firebase AI Logic SDK انجام دهید، مرور کنید.

برای همه زبان ها و سیستم عامل ها مورد نیاز است

  • فراخوانی تابع
    اگر این ویژگی را قبل از GA پیاده‌سازی کرده‌اید، باید نحوه تعریف طرحواره خود را به‌روزرسانی کنید. توصیه می کنیم راهنمای فراخوانی عملکرد به روز شده را مرور کنید تا نحوه نوشتن اعلان عملکرد خود را بیاموزید.

  • تولید خروجی ساختاریافته (مانند JSON) با استفاده از responseSchema
    اگر این ویژگی را قبل از GA پیاده‌سازی کرده‌اید، باید نحوه تعریف طرحواره خود را به‌روزرسانی کنید. توصیه می‌کنیم راهنمای خروجی ساختاریافته جدید را برای یادگیری نحوه نوشتن طرحواره‌های JSON مرور کنید.

  • تایم اوت

    • مدت زمان پیش‌فرض درخواست‌ها را 180 ثانیه تغییر داد.

بر اساس پلتفرم یا زبان مورد نیاز است

سویفت

  • شمارش ها

    • بیشتر انواع enum با struct s با متغیرهای استاتیک جایگزین کرد. این تغییر به انعطاف پذیری بیشتری برای تکامل API به روشی سازگار با عقب اجازه می دهد. هنگام استفاده از دستورهای switch ، اکنون باید یک default: case برای پوشش مقادیر ناشناخته یا کنترل نشده، از جمله مقادیر جدیدی که در آینده به SDK اضافه می‌شوند.

    • نام شمارش BlockThreshold را به HarmBlockThreshold تغییر نام داد. این نوع در حال حاضر یک struct است.

    • موارد unknown و unspecified را از شمارش‌های زیر حذف کرد (اکنون struct s): 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 با کلاس‌های معمولی جایگزین شدند. این تغییر به انعطاف پذیری بیشتری برای تکامل API به روشی سازگار با عقب اجازه می دهد.

    • نام شمارش BlockThreshold را به HarmBlockThreshold تغییر داد.

    • مقادیر از شمارش های زیر حذف شد: HarmBlockThreshold ، HarmProbability ، HarmSeverity ، BlockReason ، و FinishReason .

  • روش های لکه ای

    • همه متدهایی را که Blob به عنوان بخشی از نام آن‌ها درج می‌کردند تغییر نام داد تا به جای آن InlineData استفاده کند.
  • تنظیمات ایمنی

    • method فیلد را تغییر داد تا nullable باشد.
  • کلاس مدت

    • تمام موارد استفاده از کلاس Duration Kotlin را حذف کرد و آن را با long جایگزین کرد. این تغییر قابلیت همکاری بهتر با جاوا را فراهم می کند.
  • فراداده استناد

    • تمام فیلدهایی که قبلاً در CitationMetadata اعلام شده بودند را در یک کلاس جدید به نام Citation قرار داد. نقل‌قول‌ها را می‌توان در فهرستی به نام citations در CitationMetadata یافت. این تغییر باعث می شود تا انواع بهتری در بین پلتفرم ها تراز شوند.
  • توکن ها را بشمار

    • فیلد totalBillableCharacters به تهی تغییر داد.
  • مجموع کاراکترهای قابل پرداخت

    • ویژگی totalBillableCharacters را در CountTokensResponse تغییر داد تا برای منعکس کردن موقعیت‌هایی که هیچ کاراکتری ارسال نمی‌شود، اختیاری باشد.
  • نمونه سازی یک مدل

    • پارامتر requestOptions را به انتهای لیست پارامترها منتقل کرد تا با پلتفرم های دیگر تراز شود.
  • Live API

    • مقدار UNSPECIFIED برای کلاس enum ResponseModality حذف شد. در عوض از null استفاده کنید.

    • LiveGenerationConfig.setResponseModalities به LiveGenerationConfig.setResponseModality تغییر نام داد.

    • کلاس LiveContentResponse.Status را حذف کرد و در عوض فیلدهای وضعیت را به عنوان ویژگی های LiveContentResponse تو در تو قرار داد.

    • کلاس LiveContentResponse را حذف کرد و به جای آن زیر کلاس‌های LiveServerMessage را ارائه کرد که با پاسخ‌های مدل مطابقت دارد.

    • LiveModelFutures.connect را تغییر داد تا ListenableFuture<LiveSessionFutures> به جای ListenableFuture<LiveSession> برگرداند.

Java

  • شمارش ها

    • کلاس‌های enum و کلاس‌های sealed با کلاس‌های معمولی جایگزین شدند. این تغییر به انعطاف پذیری بیشتری برای تکامل API به روشی سازگار با عقب اجازه می دهد.

    • نام شمارش BlockThreshold را به HarmBlockThreshold تغییر داد.

    • مقادیر از شمارش های زیر حذف شد: HarmBlockThreshold ، HarmProbability ، HarmSeverity ، BlockReason ، و FinishReason .

  • روش های لکه ای

    • همه متدهایی را که Blob به عنوان بخشی از نام آن‌ها درج می‌کردند تغییر نام داد تا به جای آن InlineData استفاده کند.
  • تنظیمات ایمنی

    • method فیلد را تغییر داد تا nullable باشد.
  • کلاس مدت

    • تمام موارد استفاده از کلاس Duration Kotlin را حذف کرد و آن را با long جایگزین کرد. این تغییر قابلیت همکاری بهتر با جاوا را فراهم می کند.
  • فراداده استناد

    • تمام فیلدهایی که قبلاً در CitationMetadata اعلام شده بودند را در یک کلاس جدید به نام Citation قرار داد. نقل‌قول‌ها را می‌توان در فهرستی به نام citations در CitationMetadata یافت. این تغییر باعث می شود تا انواع بهتری در بین پلتفرم ها تراز شوند.
  • توکن ها را بشمار

    • فیلد totalBillableCharacters به تهی تغییر داد.
  • مجموع کاراکترهای قابل پرداخت

    • ویژگی totalBillableCharacters را در CountTokensResponse تغییر داد تا برای منعکس کردن موقعیت‌هایی که هیچ کاراکتری ارسال نمی‌شود، اختیاری باشد.
  • نمونه سازی یک مدل

    • پارامتر requestOptions را به انتهای لیست پارامترها منتقل کرد تا با پلتفرم های دیگر تراز شود.
  • Live API

    • مقدار UNSPECIFIED برای کلاس enum ResponseModality حذف شد. در عوض از null استفاده کنید.

    • LiveGenerationConfig.setResponseModalities به LiveGenerationConfig.setResponseModality تغییر نام داد.

    • کلاس LiveContentResponse.Status را حذف کرد و در عوض فیلدهای وضعیت را به عنوان ویژگی های LiveContentResponse تو در تو قرار داد.

    • کلاس LiveContentResponse را حذف کرد و به جای آن زیر کلاس‌های LiveServerMessage را ارائه کرد که با پاسخ‌های مدل مطابقت دارد.

    • LiveModelFutures.connect را تغییر داد تا ListenableFuture<LiveSessionFutures> به جای ListenableFuture<LiveSession> برگرداند.

  • روش‌های مختلف سازنده جاوا را تغییر داد تا اکنون به‌جای 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 تغییر نام داد و تابع data static به inlineData برای تراز کردن با سایر پلتفرم‌ها.
  • درخواست گزینه ها

    • RequestOptions حذف کرد زیرا timeout فعال نبود. در آینده نزدیک دوباره اضافه خواهد شد، اما به نوع GenerativeModel منتقل می شود تا با سایر پلتفرم ها مطابقت داشته باشد.
  • توالی ها را متوقف کنید

    • پارامتر stopSequences را در GenerationConfig تغییر داد تا اختیاری باشد و به جای آرایه خالی، به طور پیش فرض به null تبدیل شود.
  • نقل قول ها

    • ویژگی citationSources به citations در CitationMetadata تغییر نام داد. نوع CitationSource برای مطابقت با سایر پلتفرم ها به Citation تغییر نام داد.
  • انواع، روش ها و ویژگی های عمومی غیر ضروری

    • انواع، روش‌ها و ویژگی‌های زیر ContentEmbedding که به‌طور ناخواسته در معرض نمایش قرار گرفتند حذف کرد: defaultTimeout ، CountTokensResponseFields ، parseCountTokensResponse ، parseEmbedContentResponse ، parseGenerateContentResponse ، parseContent ، BatchEmbedContentsResponse . EmbedContentRequest و EmbedContentResponse .
  • توکن ها را بشمار

    • فیلدهای اضافی را از تابع countTokens که دیگر ضروری نیستند حذف کرد. فقط contents مورد نیاز است.
  • نمونه سازی یک مدل

    • پارامتر systemInstruction را به انتهای لیست پارامترها منتقل کرد تا با پلتفرم های دیگر تراز شود.
  • قابلیت جاسازی

    • قابلیت جاسازی پشتیبانی نشده ( embedContent و batchEmbedContents ) از مدل حذف شد.

وحدت

پشتیبانی از Unity از Vertex AI در Firebase در دسترس نبود.

یاد بگیرید که چگونه با Firebase AI Logic SDK for Unity شروع کنید .

خطاهای احتمالی مربوط به مهاجرت

همانطور که در حال مهاجرت برای استفاده از نسخه GA 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 شما یک API مورد نیاز را در لیست مجاز خود برای محصولی که می‌خواهید استفاده کنید ندارد.

مطمئن شوید که کلید Firebase API مورد استفاده برنامه شما دارای همه APIهای مورد نیاز موجود در فهرست مجاز "محدودیت های API" کلید است . برای Firebase AI Logic ، کلید Firebase API شما باید حداقل Firebase AI Logic API را در لیست مجاز خود داشته باشد. هنگامی که APIهای مورد نیاز را در کنسول Firebase فعال می‌کردید، باید به‌طور خودکار به فهرست مجاز کلید API شما اضافه می‌شد.

می‌توانید همه کلیدهای API خود را در APIs & Services > پنل اعتبارنامه‌ها در کنسول Google Cloud مشاهده کنید.


درباره تجربه خود با Firebase AI Logic بازخورد بدهید