مهاجرت به SDKهای Logic AI Firebase از سرویس گیرنده AI SDKهای Google


مستقیماً به دستورالعمل‌های مهاجرت بروید

چرا باید به استفاده از SDK های Firebase AI Logic مهاجرت کنیم؟

ممکن است مجموعه‌ای جایگزین از SDKهای موبایل یا کلاینت وب را امتحان کرده باشید که به شما امکان دسترسی به رابط برنامه‌نویسی کاربردی توسعه‌دهندگان Gemini را می‌دادند.

آن SDK های کلاینت در اکوسیستم قدرتمند Firebase که خدمات حیاتی را برای برنامه‌های موبایل و وب ارائه می‌دهد، ادغام نشده بودند. اکنون آنها به نفع SDK های کلاینت Firebase AI Logic منسوخ شده‌اند که می‌توانند به شما امکان دسترسی به Gemini Developer API را بدهند.

ویژگی‌های امنیتی برای برنامه‌های تلفن همراه و وب

برای برنامه‌های موبایل و وب، امنیت بسیار مهم است و نیاز به ملاحظات ویژه دارد زیرا کد شما - از جمله فراخوانی‌های Gemini API - در یک محیط محافظت نشده اجرا می‌شود. می‌توانید از Firebase App Check برای محافظت از APIها در برابر سوءاستفاده توسط کلاینت‌های غیرمجاز استفاده کنید.

وقتی از Firebase App Check with Firebase AI Logic استفاده می‌کنید ، هرگز کلید API Gemini خود را برای Gemini Developer API مستقیماً به کدبیس برنامه موبایل یا وب خود اضافه نمی‌کنید. در عوض، کلید API Gemini روی سرور باقی می‌ماند و در معرض دسترسی عوامل مخرب قرار نمی‌گیرد.

اکوسیستم ساخته شده برای برنامه‌های موبایل و وب

فایربیس پلتفرم گوگل برای توسعه اپلیکیشن‌های موبایل و وب است. استفاده از منطق هوش مصنوعی فایربیس به این معنی است که اپلیکیشن‌های شما در اکوسیستمی قرار دارند که بر نیازهای اپلیکیشن‌های فول‌استک و توسعه‌دهندگان متمرکز است. برای مثال:

  • با استفاده از Firebase Remote Config می‌توانید پیکربندی‌های زمان اجرا را به صورت پویا تنظیم کنید یا مقادیر موجود در برنامه خود (مانند نام مدل و نسخه) را بدون انتشار نسخه جدید برنامه، تغییر دهید.

  • از Cloud Storage for Firebase استفاده کنید تا فایل‌های بزرگ را در درخواست‌های چندوجهی خود بگنجانید (اگر از Vertex AI Gemini API استفاده می‌کنید). SDKهای کلاینت Cloud Storage به شما کمک می‌کنند تا آپلود و دانلود فایل‌ها را (حتی در شرایط شبکه ضعیف) مدیریت کنید و امنیت بیشتری برای داده‌های کاربران نهایی خود ارائه دهید. در راهنمای راه‌حل ما در مورد استفاده از Cloud Storage for Firebase اطلاعات بیشتری کسب کنید.

  • مدیریت داده‌های ساختاریافته با استفاده از SDKهای پایگاه داده ساخته شده برای برنامه‌های تلفن همراه و وب (مانند Cloud Firestore ).

مهاجرت به SDK های منطق هوش مصنوعی فایربیس

مرور کلی مراحل مهاجرت به SDK های Firebase AI Logic :

  • مرحله ۱ : یک پروژه Firebase جدید یا موجود راه‌اندازی کنید و برنامه خود را به Firebase متصل کنید.

  • مرحله 2 : کیت‌های توسعه نرم‌افزار (SDK) مربوط به Firebase AI Logic را به برنامه خود اضافه کنید.

  • مرحله ۳ : ایمپورت‌ها و مقداردهی اولیه را در برنامه خود به‌روزرسانی کنید.

  • مرحله ۴ : کد خود را بسته به ویژگی‌هایی که استفاده می‌کنید، به‌روزرسانی کنید.

مرحله ۱ : یک پروژه Firebase راه‌اندازی کنید و برنامه خود را متصل کنید

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

  2. در کنسول Firebase ، به صفحه منطق هوش مصنوعی فایربیس بروید.

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

  4. API توسعه‌دهنده Gemini را انتخاب کنید. در صورت تمایل، همیشه می‌توانید بعداً ارائه‌دهنده API دیگری را تنظیم و استفاده کنید.

    این کنسول APIهای مورد نیاز را فعال کرده و یک کلید API جدید و اختصاصی Gemini در پروژه شما ایجاد می‌کند.
    این کلید API جدید Gemini را به کدبیس برنامه خود اضافه نکنید . اطلاعات بیشتر.

  5. اگر در گردش کار کنسول از شما خواسته شد، دستورالعمل‌های روی صفحه را برای ثبت برنامه خود و اتصال آن به Firebase دنبال کنید.

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

مرحله 2 : کیت توسعه نرم‌افزاری Firebase AI Logic را به برنامه خود اضافه کنید

با راه‌اندازی پروژه Firebase و اتصال برنامه به Firebase (به مرحله قبل مراجعه کنید)، اکنون می‌توانید Firebase AI Logic SDK را به برنامه خود اضافه کنید.

سویفت

برای نصب و مدیریت وابستگی‌های Firebase از Swift Package Manager استفاده کنید.

کتابخانه Firebase AI Logic دسترسی به APIها را برای تعامل با مدل‌های Gemini و Imagen فراهم می‌کند. این کتابخانه به عنوان بخشی از Firebase SDK برای پلتفرم‌های اپل ( firebase-ios-sdk ) گنجانده شده است.

اگر از قبل از Firebase استفاده می‌کنید، مطمئن شوید که بسته Firebase شما نسخه ۱۲.۵.۰ یا بالاتر است.

  1. در Xcode، با باز کردن پروژه برنامه خود، به File > Add Package Dependencies بروید.

  2. وقتی از شما خواسته شد، مخزن SDK پلتفرم‌های اپل فایربیس را اضافه کنید:

    https://github.com/firebase/firebase-ios-sdk
    
  3. آخرین نسخه SDK را انتخاب کنید.

  4. کتابخانه FirebaseAILogic را انتخاب کنید.

پس از اتمام، Xcode به طور خودکار شروع به حل و دانلود وابستگی‌های شما در پس‌زمینه می‌کند.

Kotlin

کیت توسعه نرم‌افزاری منطق هوش مصنوعی فایربیس برای اندروید ( firebase-ai ) دسترسی به رابط‌های برنامه‌نویسی (API) برای تعامل با مدل‌های Gemini و Imagen را فراهم می‌کند.

در فایل Gradle ماژول (سطح برنامه) خود (مانند <project>/<app-module>/build.gradle.kts )، وابستگی مربوط به کتابخانه Firebase AI Logic برای اندروید را اضافه کنید. توصیه می‌کنیم از Firebase Android BoM برای کنترل نسخه‌بندی کتابخانه استفاده کنید.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.4.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")
}

با استفاده از Firebase Android BoM ، برنامه شما همیشه از نسخه‌های سازگار کتابخانه‌های اندروید Firebase استفاده خواهد کرد.

Java

کیت توسعه نرم‌افزاری منطق هوش مصنوعی فایربیس برای اندروید ( firebase-ai ) دسترسی به رابط‌های برنامه‌نویسی (API) برای تعامل با مدل‌های Gemini و Imagen را فراهم می‌کند.

در فایل Gradle ماژول (سطح برنامه) خود (مانند <project>/<app-module>/build.gradle.kts )، وابستگی مربوط به کتابخانه Firebase AI Logic برای اندروید را اضافه کنید. توصیه می‌کنیم از Firebase Android BoM برای کنترل نسخه‌بندی کتابخانه استفاده کنید.

برای جاوا، باید دو کتابخانه اضافی اضافه کنید.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.4.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")

  // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Reactive Streams)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

با استفاده از Firebase Android BoM ، برنامه شما همیشه از نسخه‌های سازگار کتابخانه‌های اندروید Firebase استفاده خواهد کرد.

Web

کتابخانه Firebase AI Logic دسترسی به APIها را برای تعامل با مدل‌های Gemini و Imagen فراهم می‌کند. این کتابخانه به عنوان بخشی از Firebase JavaScript SDK for Web گنجانده شده است.

  1. نصب Firebase JS SDK برای وب با استفاده از npm:

    npm install firebase
    
  2. مقداردهی اولیه فایربیس در برنامه شما:

    import { initializeApp } from "firebase/app";
    
    // 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);
    

Dart

افزونه Firebase AI Logic برای Flutter ( firebase_ai ) دسترسی به APIها را برای تعامل با مدل‌های Gemini و Imagen فراهم می‌کند.

  1. از دایرکتوری پروژه Flutter خود، دستور زیر را برای نصب افزونه اصلی و افزونه Firebase AI Logic اجرا کنید:

    flutter pub add firebase_core firebase_ai
    
  2. در فایل lib/main.dart خود، افزونه‌ی هسته‌ی فایربیس، افزونه‌ی فایربیس هوش مصنوعی لاجیک و فایل پیکربندی که قبلاً ایجاد کرده‌اید را وارد کنید:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'firebase_options.dart';
    
  3. همچنین در فایل lib/main.dart خود، Firebase را با استفاده از شیء DefaultFirebaseOptions که توسط فایل پیکربندی صادر شده است، مقداردهی اولیه کنید:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. برنامه Flutter خود را بازسازی کنید:

    flutter run
    

وحدت

پشتیبانی از Unity از طریق SDK های کلاینت هوش مصنوعی گوگل در دسترس نبود.

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

SDK قدیمی را از برنامه خود حذف کنید

پس از اتمام انتقال برنامه خود (به بخش‌های باقیمانده در این راهنما مراجعه کنید)، حتماً کتابخانه قدیمی را حذف کنید.

سویفت

کتابخانه قدیمی را حذف کنید:

  1. در Xcode، در حالی که پروژه اپلیکیشن شما باز است، به پنل Packages Dependencies بروید.

  2. بسته generative-ai-swift را از لیست وابستگی‌های بسته انتخاب کنید.

  3. روی دکمه‌ی - از پایین لیست کلیک کنید و برای تأیید، روی حذف کلیک کنید.

Kotlin

dependencies {
    implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
    implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Web

// BEFORE
import { initializeApp } from "firebase/app";
import { GoogleGenerativeAI } from "@google/generative-ai";

Dart

بسته قدیمی را حذف کنید:
flutter pub remove google_generative_ai

وحدت

پشتیبانی از Unity از طریق SDK های کلاینت هوش مصنوعی گوگل در دسترس نبود.

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

مرحله ۳ : به‌روزرسانی ایمپورت‌ها و مقداردهی اولیه در برنامه

ایمپورت‌های خود و نحوه‌ی مقداردهی اولیه‌ی سرویس Backend API توسعه‌دهنده‌ی Gemini و ایجاد یک نمونه‌ی GenerativeModel را به‌روزرسانی کنید.

سویفت

// BEFORE
import GoogleGenerativeAI

let model = GenerativeModel(name: "MODEL_NAME", apiKey: APIKey.default)

// AFTER
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-2.5-flash")

Kotlin

// BEFORE
import com.google.ai.client.generativeai.Chat
import com.google.ai.client.generativeai.type.Content
import com.google.ai.client.generativeai.java.GenerativeModuleFutures

...

val generativeModel = GenerativeModel(modelName = "MODEL_NAME",
  // Access your API key as a Build Configuration variable
  apiKey = BuildConfig.apiKey
)

// AFTER
import com.google.firebase.Firebase
import com.google.firebase.ai.ai
import com.google.firebase.ai.type.GenerativeBackend

...

// 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

// BEFORE
import com.google.ai.client.generativeai.Chat;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.java.GenerativeModuleFutures;

...

GenerativeModel gm = new GenerativeModel("MODEL_NAME",
  // Access your API key as a Build Configuration variable
  BuildConfig.apiKey
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// AFTER
import com.google.firebase.ai.FirebaseAI;
import com.google.firebase.ai.GenerativeModel;
import com.google.firebase.ai.java.GenerativeModelFutures;
import com.google.firebase.ai.type.GenerativeBackend;

...

// 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

// BEFORE
import { GoogleGenerativeAI } from "@google/generative-ai";

// Fetch your API_KEY and access your API
const API_KEY = "...";
const genAI = new GoogleGenerativeAI(API_KEY);

...

const model = genAI.getGenerativeModel({ model: "MODEL_NAME"});

// AFTER
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

// BEFORE
import 'package:google_generative_ai/google_generative_ai.dart';

final apiKey = Platform.environment['API_KEY'];
if (apiKey == null) {
print('No \$API_KEY environment variable');
exit(1);
}

final model = GenerativeModel(model: 'MODEL_NAME', apiKey: apiKey);

// AFTER
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 از طریق SDK های کلاینت هوش مصنوعی گوگل در دسترس نبود.

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

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

مرحله ۴ : بسته به ویژگی‌هایی که استفاده می‌کنید، کد را به‌روزرسانی کنید

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

  • کیت‌های توسعه نرم‌افزار (SDK) کلاینت Firebase AI Logic از اجرای کد پشتیبانی نمی‌کنند. اگر از این ویژگی استفاده می‌کنید، مطمئن شوید که آن را در برنامه خود لحاظ می‌کنید.

  • برای اطلاع از هرگونه تغییری که ممکن است برای تطبیق با مهاجرت به SDK های کلاینت Firebase AI Logic نیاز داشته باشید، لیست‌های زیر را مرور کنید.

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

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

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

  • تایم اوت

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

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

سویفت

  • شمارش‌ها

    • اکثر انواع enum با struct ها با متغیرهای استاتیک جایگزین شدند. این تغییر، انعطاف‌پذیری بیشتری را برای تکامل API به روشی سازگار با نسخه‌های قبلی فراهم می‌کند. هنگام استفاده از دستورات 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 را در CitationMetadata به citations تغییر داد.
  • کل کاراکترهای قابل پرداخت

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

    • برای مطابقت با سایر پلتفرم‌ها، نام CandidateResponse به Candidate تغییر یافت.
  • پیکربندی تولید

    • ویژگی‌های عمومی GenerationConfig به internal تغییر داده شد. همه آنها در مقداردهنده اولیه قابل تنظیم باقی می‌مانند.

Kotlin

  • شمارش‌ها

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

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

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

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

    • تمام متدهایی که Blob به عنوان بخشی از نام خود داشتند، به InlineData تغییر نام دادند.
  • تنظیمات ایمنی

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

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

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

    • فیلد totalBillableCharacters به ​​nullable تغییر داده شد.
  • کل کاراکترهای قابل پرداخت

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

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

Java

  • شمارش‌ها

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

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

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

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

    • تمام متدهایی که Blob به عنوان بخشی از نام خود داشتند، به InlineData تغییر نام دادند.
  • تنظیمات ایمنی

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

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

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

    • فیلد totalBillableCharacters به ​​nullable تغییر داده شد.
  • کل کاراکترهای قابل پرداخت

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

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

Web

توجه داشته باشید که SDK کلاینت هوش مصنوعی گوگل برای جاوا اسکریپت از زمانی که SDKهای کلاینت فایربیس هوش مصنوعی لاجیک از آن منشعب شده‌اند، تغییرات زیادی داشته است. لیست زیر برخی از تغییرات بالقوه‌ای است که ممکن است هنگام مهاجرت به SDKهای کلاینت فایربیس هوش مصنوعی لاجیک لازم باشد در نظر بگیرید.

  • شمارش‌ها

    • مقادیر از شمارش‌های زیر حذف شده‌اند: HarmCategory ، BlockThreshold ، HarmProbability ، HarmSeverity ، BlockReason و FinishReason .
  • دلیل مسدود شدن

    • blockReason در PromptFeedback به صورت اختیاری تغییر یافت.
  • اتصال زمین جستجو

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

    • تمام کاربردهای GoogleGenerativeAIError حذف شده و به صورت اختیاری به AIError منتقل شده است.

Dart

  • شمارش‌ها

    • مقادیر از شمارش‌های زیر حذف شدند: HarmCategory ، HarmProbability ، BlockReason و FinishReason .
  • بخش داده

    • نام DataPart به InlineDataPart و تابع data static به inlineData تغییر یافت تا با سایر پلتفرم‌ها هماهنگ شود.
  • گزینه‌های درخواست

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

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

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

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

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

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

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

وحدت

پشتیبانی از Unity از طریق SDK های کلاینت هوش مصنوعی گوگل در دسترس نبود.

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


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