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


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

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

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

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

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

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

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

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

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

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

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

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

به Firebase AI Logic SDK ها مهاجرت کنید

نمای کلی مراحل انتقال به SDKهای منطقی هوش مصنوعی Firebase :

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

  • مرحله 2 : Firebase AI Logic SDK را به برنامه خود اضافه کنید.

  • مرحله 3 : واردات و مقداردهی اولیه خود را در برنامه خود به روز کنید.

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

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

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

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

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

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

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

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

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

مرحله 2 : Firebase AI Logic SDK را به برنامه خود اضافه کنید

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

سویفت

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

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

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

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

  2. هنگامی که از شما خواسته شد، مخزن SDK پلتفرم های Apple Firebase را اضافه کنید:

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

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

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

Kotlin

Firebase AI Logic SDK برای Android ( firebase-ai ) دسترسی به APIها را برای تعامل با مدل‌های Gemini و Imagen فراهم می‌کند.

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

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.14.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 Android استفاده می‌کند.

Java

Firebase AI Logic SDK برای Android ( firebase-ai ) دسترسی به APIها را برای تعامل با مدل‌های Gemini و Imagen فراهم می‌کند.

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

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

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.14.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 Android استفاده می‌کند.

Web

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

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

    npm install firebase
    
  2. Firebase را در برنامه خود راه اندازی کنید:

    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 && flutter pub add firebase_ai
    
  2. در فایل lib/main.dart خود، افزونه هسته Firebase، افزونه Firebase AI Logic و فایل پیکربندی را که قبلا ایجاد کرده‌اید وارد کنید:

    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 های سرویس گیرنده هوش مصنوعی Google در دسترس نبود.

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

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

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

سویفت

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

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

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

  3. روی دکمه - از پایین لیست کلیک کنید و برای تایید روی Remove کلیک کنید.

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 های سرویس گیرنده هوش مصنوعی Google در دسترس نبود.

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

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

واردات خود و نحوه راه اندازی سرویس پشتیبان Gemini Developer API و ایجاد یک نمونه GenerativeModel به روز کنید.

سویفت

// BEFORE
import GoogleGenerativeAI

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

// AFTER
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.0-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.0-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.0-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.0-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.0-flash');

وحدت

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

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

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

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

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

  • SDKهای مشتری Firebase AI Logic از اجرای کد پشتیبانی نمی کنند. اگر از این ویژگی استفاده می کنید، مطمئن شوید که آن را در برنامه خود قرار دهید.

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

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

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

  • تولید خروجی ساختاریافته (مانند JSON) با استفاده از responseSchema
    اگر این ویژگی را پیاده‌سازی کرده‌اید، باید به‌روزرسانی‌هایی را برای نحوه تعریف طرحواره خود انجام دهید. توصیه می‌کنیم راهنمای خروجی ساختاریافته جدید را برای یادگیری نحوه نوشتن طرحواره‌های 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 را به انتهای لیست پارامترها منتقل کرد تا با پلتفرم های دیگر تراز شود.

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 را به انتهای لیست پارامترها منتقل کرد تا با پلتفرم های دیگر تراز شود.

Web

توجه داشته باشید که Google AI Client SDK برای جاوا اسکریپت از زمانی که SDK های کلاینت AI Logic Firebase از آن منشعب شد، تغییرات زیادی داشته است. لیست زیر برخی از تغییرات احتمالی است که ممکن است لازم باشد هنگام مهاجرت به SDK های مشتری AI Logic Firebase در نظر بگیرید.

  • شمارش ها

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

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

    • همه موارد استفاده از این ویژگی حذف شد، زیرا هنوز در Firebase AI Logic SDK پشتیبانی نمی‌شود.
  • خطاها

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

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 از SDK های سرویس گیرنده هوش مصنوعی Google در دسترس نبود.

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


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