مستقیماً به دستورالعملهای مهاجرت بروید
چرا باید به استفاده از 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 راهاندازی کنید و برنامه خود را متصل کنید
وارد کنسول Firebase شوید و سپس پروژه Firebase خود را انتخاب کنید.
اگر از قبل پروژه Firebase ندارید، روی دکمه کلیک کنید تا یک پروژه Firebase جدید ایجاد شود و سپس از یکی از گزینههای زیر استفاده کنید:
گزینه ۱ : با وارد کردن نام پروژه جدید در اولین مرحله از گردش کار، یک پروژه Firebase کاملاً جدید (و پروژه Google Cloud زیربنایی آن به طور خودکار) ایجاد کنید.
گزینه ۲ : با کلیک روی «افزودن فایربیس به پروژه گوگل کلود» (در پایین صفحه)، «افزودن فایربیس » را به یک پروژه Google Cloud موجود اضافه کنید. در اولین مرحله از گردش کار، نام پروژه موجود را وارد کنید و سپس پروژه را از لیست نمایش داده شده انتخاب کنید.
اگر مایل باشید، میتوانید Firebase را به پروژهای که در پشت صحنه هنگام ایجاد کلید API Gemini در Google AI Studio ایجاد شده است، اضافه کنید.
مراحل باقیمانده از گردش کار روی صفحه را برای ایجاد یک پروژه Firebase تکمیل کنید. توجه داشته باشید که در صورت درخواست، نیازی به تنظیم Google Analytics برای استفاده از Firebase AI Logic SDKs ندارید .
در کنسول Firebase ، به صفحه منطق هوش مصنوعی فایربیس بروید.
برای شروع یک گردش کار هدایتشده که به شما در تنظیم APIها و منابع مورد نیاز پروژهتان کمک میکند، روی «شروع به کار» کلیک کنید.
API توسعهدهنده Gemini را انتخاب کنید. در صورت تمایل، همیشه میتوانید بعداً ارائهدهنده API دیگری را تنظیم و استفاده کنید.
این کنسول APIهای مورد نیاز را فعال کرده و یک کلید API جدید و اختصاصی Gemini در پروژه شما ایجاد میکند.
این کلید API جدید Gemini را به کدبیس برنامه خود اضافه نکنید . اطلاعات بیشتر.اگر در گردش کار کنسول از شما خواسته شد، دستورالعملهای روی صفحه را برای ثبت برنامه خود و اتصال آن به Firebase دنبال کنید.
برای بهروزرسانی کتابخانه و مقداردهی اولیه در برنامه خود، در این راهنمای مهاجرت ادامه دهید.
مرحله 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 شما نسخه ۱۲.۵.۰ یا بالاتر است.
در Xcode، با باز کردن پروژه برنامه خود، به File > Add Package Dependencies بروید.
وقتی از شما خواسته شد، مخزن SDK پلتفرمهای اپل فایربیس را اضافه کنید:
https://github.com/firebase/firebase-ios-sdkآخرین نسخه SDK را انتخاب کنید.
کتابخانه
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 استفاده خواهد کرد.
اگر تصمیم به استفاده از Firebase BoM ندارید، باید هر نسخه از کتابخانه Firebase را در خط وابستگی آن مشخص کنید.
توجه داشته باشید که اگر از چندین کتابخانه Firebase در برنامه خود استفاده میکنید، اکیداً توصیه میکنیم از BoM برای مدیریت نسخههای کتابخانه استفاده کنید، که تضمین میکند همه نسخهها سازگار هستند.
dependencies { // Add the dependency for the Firebase AI Logic library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai:17.4.0") }
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 استفاده خواهد کرد.
اگر تصمیم به استفاده از Firebase BoM ندارید، باید هر نسخه از کتابخانه Firebase را در خط وابستگی آن مشخص کنید.
توجه داشته باشید که اگر از چندین کتابخانه Firebase در برنامه خود استفاده میکنید، اکیداً توصیه میکنیم از BoM برای مدیریت نسخههای کتابخانه استفاده کنید، که تضمین میکند همه نسخهها سازگار هستند.
dependencies { // Add the dependency for the Firebase AI Logic library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai:17.4.0") }
Web
کتابخانه Firebase AI Logic دسترسی به APIها را برای تعامل با مدلهای Gemini و Imagen فراهم میکند. این کتابخانه به عنوان بخشی از Firebase JavaScript SDK for Web گنجانده شده است.
نصب Firebase JS SDK برای وب با استفاده از npm:
npm install 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 فراهم میکند.
از دایرکتوری پروژه Flutter خود، دستور زیر را برای نصب افزونه اصلی و افزونه Firebase AI Logic اجرا کنید:
flutter pub add firebase_core firebase_aiدر فایل
lib/main.dartخود، افزونهی هستهی فایربیس، افزونهی فایربیس هوش مصنوعی لاجیک و فایل پیکربندی که قبلاً ایجاد کردهاید را وارد کنید:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';همچنین در فایل
lib/main.dartخود، Firebase را با استفاده از شیءDefaultFirebaseOptionsکه توسط فایل پیکربندی صادر شده است، مقداردهی اولیه کنید:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );برنامه Flutter خود را بازسازی کنید:
flutter run
وحدت
پشتیبانی از Unity از طریق SDK های کلاینت هوش مصنوعی گوگل در دسترس نبود.
یاد بگیرید که چگونه با Firebase AI Logic SDK برای Unity شروع به کار کنید .
SDK قدیمی را از برنامه خود حذف کنید
پس از اتمام انتقال برنامه خود (به بخشهای باقیمانده در این راهنما مراجعه کنید)، حتماً کتابخانه قدیمی را حذف کنید.
سویفت
کتابخانه قدیمی را حذف کنید:
در Xcode، در حالی که پروژه اپلیکیشن شما باز است، به پنل Packages Dependencies بروید.
بسته
generative-ai-swiftرا از لیست وابستگیهای بسته انتخاب کنید.روی دکمهی
-از پایین لیست کلیک کنید و برای تأیید، روی حذف کلیک کنید.
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 را بهروزرسانی کنید.
سویفت
// BEFOREimport 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
// BEFOREimport 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
// BEFOREimport 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
// BEFOREimport { 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
// BEFOREimport '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 ایجاد نکنید .
- برای دسترسی به یک مدل Imagen ، یک نمونه
ImagenModelایجاد کنید.
مرحله ۴ : بسته به ویژگیهایی که استفاده میکنید، کد را بهروزرسانی کنید
این مرحله تغییراتی را شرح میدهد که ممکن است بسته به ویژگیهایی که استفاده میکنید، مورد نیاز باشند.
کیتهای توسعه نرمافزار (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و تابعdatastaticبه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 بازخورد دهید