সরাসরি মাইগ্রেশন সংক্রান্ত নির্দেশাবলী দেখুন
Firebase AI Logic SDK ব্যবহার করার জন্য কেন মাইগ্রেট করতে হবে?
আপনি হয়ত মোবাইল বা ওয়েব ক্লায়েন্ট SDK-এর বিকল্প সেট ব্যবহার করে দেখেছেন যা আপনাকে Gemini Developer API-এ অ্যাক্সেস দিয়েছে।
সেইসব ক্লায়েন্ট SDK, Firebase ইকোসিস্টেমে ইন্টিগ্রেট করা হয়নি, যা মোবাইল ও ওয়েব অ্যাপের জন্য গুরুত্বপূর্ণ পরিষেবা প্রদান করে। Firebase AI Logic ক্লায়েন্ট SDK-এর জন্য এগুলি এখন আর ব্যবহার করা হয় না, যা আপনাকে Gemini Developer API-এ অ্যাক্সেস দিতে পারে।
মোবাইল ও ওয়েব অ্যাপের জন্য নিরাপত্তা ফিচার
মোবাইল ও ওয়েব অ্যাপের ক্ষেত্রে, নিরাপত্তা অত্যন্ত গুরুত্বপূর্ণ এবং এর জন্য বিশেষ বিবেচনা প্রয়োজন কারণ আপনার কোড – যার মধ্যে Gemini API-এ করা কল অন্তর্ভুক্ত – সুরক্ষিত নয় এমন পরিবেশে রান করে। অননুমোদিত ক্লায়েন্টদের দ্বারা API-এর অপব্যবহার থেকে রক্ষা করতে, আপনি Firebase App Check ব্যবহার করতে পারেন।
আপনি Firebase App Check-এর সাথে Firebase AI Logic ব্যবহার করলে, আপনার Gemini Developer API-এর জন্য Gemini API কী কখনও সরাসরি আপনার মোবাইল বা ওয়েব অ্যাপের কোডবেসে যোগ করেন না। এর পরিবর্তে, Gemini API কী সার্ভারে থাকে এবং ক্ষতিকর অ্যাক্টরদের কাছে এটি এক্সপোজ করা হয় না।
মোবাইল ও ওয়েব অ্যাপের জন্য তৈরি ইকোসিস্টেম
Firebase হল মোবাইল ও ওয়েব অ্যাপ ডেভেলপ করার জন্য Google-এর প্ল্যাটফর্ম। Firebase AI Logicব্যবহার করা মানে আপনার অ্যাপ এমন একটি ইকোসিস্টেমে আছে যা ফুল-স্ট্যাক অ্যাপ ও ডেভেলপারদের প্রয়োজন পূরণের উপর ফোকাস করে। যেমন:
Firebase Remote Config ব্যবহার করে নতুন অ্যাপ ভার্সন রিলিজ না করেই আপনার অ্যাপে (যেমন, মডেলের নাম ও ভার্সন) ডায়নামিক রান-টাইম কনফিগারেশন সেট করুন বা ভ্যালু অদল-বদল করুন।
আপনার মাল্টিমোডাল অনুরোধে (আপনি Agent Platform Gemini API (formerly Vertex AI) ব্যবহার করলে) বড় ফাইল যোগ করতে Cloud Storage for Firebase ব্যবহার করুন। Cloud Storage ক্লায়েন্ট SDK আপনাকে ফাইল আপলোড ও ডাউনলোড (এমনকি খারাপ নেটওয়ার্ক কানেকশন থাকলেও) ম্যানেজ করতে সাহায্য করে এবং আপনার এন্ড-ইউজারের ডেটার জন্য আরও বেশি নিরাপত্তা প্রদান করে। আমাদের সমাধানের নির্দেশিকা থেকে Cloud Storage for Firebase ব্যবহার করা সম্পর্কে আরও জানুন।
মোবাইল ও ওয়েব অ্যাপের জন্য তৈরি করা ডেটাবেস SDK ব্যবহার করে স্ট্রাকচার্ড ডেটা ম্যানেজ করুন (যেমন Cloud Firestore)।
Firebase AI Logic SDK-তে মাইগ্রেট করুন
Firebase AI Logic SDK-তে মাইগ্রেট করার ধাপগুলির ওভারভিউ:
ধাপ ১: নতুন বা আগে থেকে থাকা Firebase প্রোজেক্ট সেট-আপ করুন এবং Firebase-এর সাথে আপনার অ্যাপ কানেক্ট করুন।
ধাপ ২: আপনার অ্যাপে Firebase AI Logic SDK যোগ করুন।
ধাপ ৩: আপনার অ্যাপে ইমপোর্ট ও ইনিশিয়ালাইজেশন আপডেট করুন।
ধাপ ৪: আপনি যেসব ফিচার ব্যবহার করেন তার উপর নির্ভর করে আপনার কোড আপডেট করুন।
ধাপ ১: Firebase প্রোজেক্ট সেট-আপ করুন এবং আপনার অ্যাপ কানেক্ট করুন
Firebase কনসোলে সাইন-ইন করুন, এবং তারপর আপনার Firebase প্রোজেক্ট বেছে নিন।
Firebase কনসোলে, AI পরিষেবা > AI লজিক বিকল্পে যান।
আপনার প্রোজেক্টের জন্য প্রয়োজনীয় API ও রিসোর্স সেট-আপ করতে সাহায্য করে এমন নির্দেশিত ওয়ার্কফ্লো লঞ্চ করতে, শুরু করুন বিকল্পে ক্লিক করুন।
Gemini Developer API বিকল্প বেছে নিন। আপনি চাইলে, পরে যেকোনও সময় অন্য API প্রদানকারীকে সেট-আপ করে ব্যবহার করতে পারবেন।
কনসোল প্রয়োজনীয় API চালু করবে এবং আপনার প্রোজেক্টে একটি নতুন, ডেডিকেটেড Gemini API কী তৈরি করবে।
আপনার অ্যাপের কোডবেসে এই নতুন Gemini API কী যোগ করবেন না। আরও জানুন।কনসোলের ওয়ার্কফ্লোতে প্রম্পট করা হলে, আপনার অ্যাপ রেজিস্টার করতে এবং Firebase-এর সাথে কানেক্ট করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।
আপনার অ্যাপে লাইব্রেরি ও ইনিশিয়ালাইজেশন আপডেট করতে, এই মাইগ্রেশন গাইড পড়া চালিয়ে যান।
ধাপ ২: আপনার অ্যাপে Firebase AI Logic SDK যোগ করুন
Firebase প্রোজেক্ট সেট-আপ করা এবং Firebase-এর সাথে অ্যাপ কানেক্ট করা হয়ে গেলে (আগের ধাপ দেখুন), আপনি এখন অ্যাপে Firebase AI Logic SDK যোগ করতে পারবেন।
Swift
Firebase ডিপেন্ডেন্সি ইনস্টল ও ম্যানেজ করতে Swift Package Manager ব্যবহার করুন। প্রয়োজন হলে, ইনস্টলেশনের অন্যান্য বিকল্প সম্পর্কে জানুন।
Firebase AI Logic লাইব্রেরি, Gemini মডেলের সাথে ইন্টার্যাক্ট করার জন্য API-তে অ্যাক্সেস
প্রদান করে। Apple প্ল্যাটফর্মের (firebase-ios-sdk) জন্য Firebase SDK-এর অংশ হিসেবে লাইব্রেরি অন্তর্ভুক্ত করা হয়েছে।
আপনি আগে থেকেই Firebase ব্যবহার করলে, আপনার Firebase প্যাকেজ v12.5.0 বা তার পরের যেকোনও ভার্সন আছে কিনা তা নিশ্চিত করুন।
Xcode-এ, আপনার অ্যাপ প্রোজেক্ট খোলা থাকা অবস্থায়, ফাইল > প্যাকেজ ডিপেন্ডেন্সি যোগ করুন বিকল্পে নেভিগেট করুন।
প্রম্পট করা হলে, Firebase Apple প্ল্যাটফর্ম SDK রিপোজিটরি যোগ করুন:
https://github.com/firebase/firebase-ios-sdkলেটেস্ট SDK ভার্সন বেছে নিন।
FirebaseAILogicলাইব্রেরি ওFirebaseAppCheckলাইব্রেরি বেছে নিন।
সম্পূর্ণ হয়ে গেলে, Xcode অটোমেটিক আপনার ডিপেন্ডেন্সি সমাধান করা ও ডাউনলোড করা শুরু করবে।
Kotlin
Firebase AI Logic Android-এর জন্য SDK (firebase-ai) Gemini মডেলের সাথে ইন্টার্যাক্ট করার জন্য API-তে
অ্যাক্সেস প্রদান করে।
আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে
(যেমন <project>/<app-module>/build.gradle.kts),
Android-এর জন্য Firebase AI Logic এবং App Check লাইব্রেরির
ডিপেন্ডেন্সি যোগ করুন। লাইব্রেরি ভার্সনিং কন্ট্রোল করতে
Firebase Android BoM
ব্যবহার করার সাজেশন দিই।
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.0")) // Add the dependencies for the Firebase AI Logic and App Check libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") implementation("com.google.firebase:firebase-appcheck-debug") }
Firebase Android BoM ব্যবহার করার মাধ্যমে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির মানানসই ভার্সন ব্যবহার করবে।
Java
Firebase AI Logic Android-এর জন্য SDK (firebase-ai) Gemini মডেলের সাথে ইন্টার্যাক্ট করার জন্য API-তে
অ্যাক্সেস প্রদান করে।
আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে
(যেমন <project>/<app-module>/build.gradle.kts),
Android-এর জন্য Firebase AI Logic এবং App Check লাইব্রেরির
ডিপেন্ডেন্সি যোগ করুন। লাইব্রেরি ভার্সনিং কন্ট্রোল করতে
Firebase Android BoM
ব্যবহার করার সাজেশন দিই।
Java-এর জন্য, আপনাকে আরও দুটি লাইব্রেরি যোগ করতে হবে।
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.0")) // Add the dependencies for the Firebase AI Logic and App Check libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") implementation("com.google.firebase:firebase-appcheck-debug") // 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 লাইব্রেরি, Gemini মডেলের সাথে ইন্টার্যাক্ট করার জন্য API-তে অ্যাক্সেস প্রদান করে। এই লাইব্রেরি ওয়েবের জন্য Firebase JavaScript SDK-এর অংশ হিসেবে অন্তর্ভুক্ত করা হয়েছে।
npm ব্যবহার করে ওয়েবের জন্য Firebase JS SDK ইনস্টল করুন:
npm install firebaseআপনার অ্যাপে Firebase ইনিশিয়ালাইজ করুন:
import { initializeApp } from "firebase/app"; import { initializeAppCheck, DebugProvider } from "firebase/app-check"; // 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
Flutter-এর জন্য Firebase AI Logic প্লাগ-ইন (firebase_ai) Gemini মডেলের সাথে ইন্টার্যাক্ট করার জন্য
API-তে অ্যাক্সেস প্রদান করে।
আপনার Flutter প্রোজেক্ট ডিরেক্টরি থেকে, Firebase AI Logic এবং App Check প্লাগ-ইন ইনস্টল করতে নিম্নলিখিত কমান্ড রান করুন:
flutter pub add firebase_ai firebase_app_checkআপনার
lib/main.dartফাইলে, Firebase AI Logic এবং App Check প্লাগ-ইন ইমপোর্ট করুন:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'package:firebase_app_check/firebase_app_check.dart'; import 'firebase_options.dart';এছাড়াও, আপনার
lib/main.dartফাইলে, কনফিগারেশন ফাইল থেকে এক্সপোর্ট করাDefaultFirebaseOptionsঅবজেক্ট ব্যবহার করে Firebase ইনিশিয়ালাইজ করেছেন কিনা তা নিশ্চিত করুন:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );আপনার Flutter অ্যাপ্লিকেশন আবার তৈরি করুন:
flutter run
Unity
Unity-এর জন্য Google AI ক্লায়েন্ট SDK-তে সহায়তা উপলভ্য ছিল না।
কীভাবে Unity-এর জন্য Firebase AI Logic SDK ব্যবহার শুরু করবেন তা জানুন।
আপনার অ্যাপ থেকে পুরনো SDK সরিয়ে দিন
আপনার অ্যাপ মাইগ্রেট করা হয়ে গেলে (এই নির্দেশিকার বাকি অংশ দেখুন), পুরনো লাইব্রেরি মুছে দিতে ভুলবেন না।
Swift
পুরনো লাইব্রেরি সরিয়ে দিন:
Xcode-এ, আপনার অ্যাপ প্রজেক্ট খোলা থাকা অবস্থায়, প্যাকেজ ডিপেন্ডেন্সি প্যানেলে নেভিগেট করুন।
প্যাকেজ ডিপেন্ডেন্সি তালিকা থেকে
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
Unity-এর জন্য সহায়তা Google AI ক্লায়েন্ট SDK-তে উপলভ্য ছিল না।
কীভাবে Unity-এর জন্য Firebase AI Logic SDK ব্যবহার শুরু করবেন তা জানুন।
ধাপ ৩: আপনার অ্যাপে ইমপোর্ট ও ইনিশিয়ালাইজেশন আপডেট করুন
আপনার ইমপোর্ট এবং কীভাবে Gemini Developer API
ব্যাকএন্ড পরিষেবা চালু করবেন এবং GenerativeModel ইনস্ট্যান্স তৈরি করবেন তা আপডেট করুন।
Swift
// 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-3.8-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-3.8-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-3.8-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-3.8-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-3.8-flash');
Unity
Unity-এর জন্য সহায়তা Google AI ক্লায়েন্ট SDK-তে উপলভ্য ছিল না।
কীভাবে Unity-এর জন্য Firebase AI Logic SDK ব্যবহার শুরু করবেন তা জানুন।
মনে রাখবেন, আপনি যে ক্ষমতা ব্যবহার করছেন তার উপর নির্ভর করে, আপনি হয়ত সবসময়
GenerativeModel ইনস্ট্যান্স তৈরি করতে পারবেন না। Gemini Live API ব্যবহার করে ইনপুট ও আউটপুট স্ট্রিম করতে,
LiveModel ইনস্ট্যান্স তৈরি করুন।
ধাপ ৪: আপনার ব্যবহার করা ফিচারের উপর নির্ভর করে কোড আপডেট করুন
আপনি কোন ফিচার ব্যবহার করেন তার উপর নির্ভর করে এই ধাপে প্রয়োজনীয় পরিবর্তনগুলি বর্ণনা করা হয়েছে।
Firebase AI Logic ক্লায়েন্ট SDK-তে কোড এক্সিকিউশন কাজ করে না। আপনি এই ফিচার ব্যবহার করলে, আপনার অ্যাপে এটি অ্যাকোমোডেট করতে ভুলবেন না।
Firebase AI Logic ক্লায়েন্ট SDK-তে মাইগ্রেট করার জন্য আপনার কোডে কোনও পরিবর্তন করতে হবে কিনা তা বুঝতে নিম্নলিখিত তালিকা পর্যালোচনা করুন।
সব ভাষা ও প্ল্যাটফর্মের জন্য প্রয়োজন
ফাংশন কলিং
আপনি এই ফিচার প্রয়োগ করে থাকলে, আপনাকে নিজের স্কিমা কীভাবে সংজ্ঞায়িত করবেন সেই বিষয়ে আপডেট করতে হবে। কীভাবে ফাংশন ঘোষণা লিখতে হয় তা জানতে, আপডেট করা ফাংশন কলিং গাইড পর্যালোচনা করে দেখার পরামর্শ দিই।responseSchemaব্যবহার করে স্ট্রাকচার্ড আউটপুট (যেমন JSON) জেনারেট করা
আপনি এই ফিচার প্রয়োগ করে থাকলে, আপনাকে নিজের স্কিমা কীভাবে ডিফাইন করবেন সেই বিষয়ে আপডেট করতে হবে। JSON স্কিমা কীভাবে লিখতে হয় তা জানতে, আমরা নতুন স্ট্রাকচার্ড আউটপুট গাইড পর্যালোচনা করে দেখার জন্য সাজেস্ট করি।টাইম-আউট
- অনুরোধের জন্য ডিফল্ট টাইমআউট ১৮০ সেকেন্ডে পরিবর্তন করা হয়েছে।
প্ল্যাটফর্ম বা ভাষার উপর নির্ভর করে প্রয়োজন হয়
Swift
তালিকা
স্ট্যাটিক ভেরিয়েবল সহ
structদিয়ে বেশিরভাগenumধরন পরিবর্তন করা হয়েছে। এই পরিবর্তনটি API-কে ব্যাকওয়ার্ড-কম্প্যাটিবল উপায়ে আরও সহজে উন্নত করার সুবিধা দেয়।switchস্টেটমেন্ট ব্যবহার করার সময়, আপনাকে এখন অবশ্যই অজানা বা আনহ্যান্ডেলড ভ্যালু কভার করার জন্যdefault:কেস অন্তর্ভুক্ত করতে হবে, এর মধ্যে ভবিষ্যতে SDK-তে যোগ করা নতুন ভ্যালুও অন্তর্ভুক্ত।BlockThresholdএনুমেরেশনের নাম পরিবর্তন করেHarmBlockThresholdকরা হয়েছে; এই ধরনের নাম এখনstruct।নিম্নলিখিত তালিকা (এখন
struct):HarmCategory,HarmBlockThreshold,HarmProbability,BlockReasonএবংFinishReasonথেকেunknownএবংunspecifiedকেস সরানো হয়েছে।নতুন ধরনের ডেটা যাতে ব্যাকওয়ার্ড-কম্প্যাটিবল উপায়ে যোগ করা যায়, সেই জন্য এনুমেরেশন
ModelContent.Part-এর পরিবর্তেPartনামের একটি প্রোটোকল ব্যবহার করা হয়েছে। এই পরিবর্তন কন্টেন্টের অংশ বিভাগে আরও বিস্তারিতভাবে বর্ণনা করা হয়েছে।
কন্টেন্টের অংশ
ThrowingPartsRepresentableপ্রোটোকল সরিয়ে দেওয়া হয়েছে এবং মাঝে মাঝে কম্পাইলার সংক্রান্ত সমস্যা এড়াতেModelContent-এর জন্য ইনিশিয়ালাইজারকে আরও সহজ করা হয়েছে। যেসব ছবি ঠিকমতো এনকোড করা হয় না, সেগুলিgenerateContent-এ ব্যবহার করার সময়ও সমস্যা হবে।নিচে উল্লেখ করা
structধরনেরModelContent.Partকেস দিয়ে পরিবর্তন করা হয়েছে যাPartপ্রোটোকল মেনে চলে:.textথেকেTextPart.dataথেকেInlineDataPart.fileDataথেকেFileDataPart.functionCallথেকেFunctionCallPart.functionResponseথেকেFunctionResponsePart
ক্ষতির বিভাগ
HarmCategoryপরিবর্তন করেSafetySettingটাইপের মধ্যে আর নেস্ট করা নেই। আপনি যদি এটিকেSafetySetting.HarmCategoryহিসেবে উল্লেখ করেন, তাহলে সেটিHarmCategoryদিয়ে পরিবর্তন করা যেতে পারে।
নিরাপত্তা সংক্রান্ত ফিডব্যাক
SafetyFeedbackধরনের উত্তর সরিয়ে দেওয়া হয়েছে, কারণ এটি কোনও উত্তরে ব্যবহার করা হয়নি।
উদ্ধৃতি মেটাডেটা
CitationMetadata-এcitationSourcesপ্রপার্টির নাম পরিবর্তন করেcitationsকরা হয়েছে।
বিলযোগ্য অক্ষরের মোট সংখ্যা
- কোনও অক্ষর না পাঠানো হলে সেই পরিস্থিতি দেখানোর জন্য
CountTokensResponse-এtotalBillableCharactersপ্রপার্টি পরিবর্তন করে ঐচ্ছিক করা হয়েছে।
- কোনও অক্ষর না পাঠানো হলে সেই পরিস্থিতি দেখানোর জন্য
প্রার্থীর উত্তর
- অন্যান্য প্ল্যাটফর্মের সাথে ম্যাচ করাতে
CandidateResponse-এর নাম পরিবর্তন করেCandidateকরা হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে ম্যাচ করাতে
জেনারেট করার কনফিগারেশন
GenerationConfig-এর সর্বজনীন প্রপার্টি পরিবর্তন করেinternalকরা হয়েছে। এগুলি সবই ইনিশিয়ালাইজারে কনফিগার করা যায়।
Kotlin
তালিকা
সাধারণ ক্লাসের সাথে
enumক্লাস ওsealedক্লাস পরিবর্তন করা হয়েছে। এই পরিবর্তনটি API-কে ব্যাকওয়ার্ড কম্প্যাটিবল উপায়ে আরও নমনীয়ভাবে উন্নত করার অনুমতি দেয়।BlockThresholdএনুমেরেশনের নাম পরিবর্তন করেHarmBlockThresholdকরা হয়েছে।নিম্নলিখিত এনুমেরেশন থেকে ভ্যালু সরানো হয়েছে:
HarmBlockThreshold,HarmProbability,HarmSeverity,BlockReasonএবংFinishReason.
Blob পদ্ধতি
Blobঅন্তর্ভুক্ত থাকা সব পদ্ধতির নাম পরিবর্তন করে তার পরিবর্তেInlineDataব্যবহার করা হয়েছে।
নিরাপত্তা সেটিংস
methodফিল্ডকে নাল ভ্যালু গ্রহণ করার উপযুক্ত হিসেবে পরিবর্তন করা হয়েছে।
সময়সীমা ক্লাস
- Kotlin-এর
Durationক্লাসের সব ব্যবহার সরিয়ে দেওয়া হয়েছে এবং সেটির পরিবর্তেlongব্যবহার করা হয়েছে। এই পরিবর্তনের ফলে Java-র সাথে আরও ভালো ইন্টারঅপারেবিলিটি পাওয়া যায়।
- Kotlin-এর
উদ্ধৃতি মেটাডেটা
CitationMetadata-এ আগে ঘোষণা করা সব ফিল্ডকেCitationনামের নতুন ক্লাসে র্যাপ করা হয়েছে।CitationMetadata-এcitationsনামের তালিকায় উদ্ধৃতি পাওয়া যাবে। এই পরিবর্তনের ফলে, বিভিন্ন প্ল্যাটফর্ম জুড়ে টাইপ আরও ভালোভাবে অ্যালাইন করা যায়।
টোকেন গণনা করা
totalBillableCharactersফিল্ডকে নাল ভ্যালু গ্রহণ করার উপযুক্ত হিসেবে পরিবর্তন করা হয়েছে।
বিলযোগ্য অক্ষরের মোট সংখ্যা
- কোনও অক্ষর না পাঠানো হলে সেই পরিস্থিতি দেখানোর জন্য
CountTokensResponse-এtotalBillableCharactersপ্রপার্টি পরিবর্তন করে ঐচ্ছিক করা হয়েছে।
- কোনও অক্ষর না পাঠানো হলে সেই পরিস্থিতি দেখানোর জন্য
মডেল ইনস্ট্যানশিয়েট করা
- অন্যান্য প্ল্যাটফর্মের সাথে
অ্যালাইন করার জন্য প্যারামিটার তালিকার শেষে
requestOptionsপ্যারামিটারটি সরানো হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে
অ্যালাইন করার জন্য প্যারামিটার তালিকার শেষে
Java
তালিকা
সাধারণ ক্লাসের সাথে
enumক্লাস ওsealedক্লাস পরিবর্তন করা হয়েছে। এই পরিবর্তনটি API-কে ব্যাকওয়ার্ড কম্প্যাটিবল উপায়ে আরও নমনীয়ভাবে উন্নত করার অনুমতি দেয়।BlockThresholdএনুমেরেশনের নাম পরিবর্তন করেHarmBlockThresholdকরা হয়েছে।নিম্নলিখিত এনুমেরেশন থেকে ভ্যালু সরানো হয়েছে:
HarmBlockThreshold,HarmProbability,HarmSeverity,BlockReasonএবংFinishReason.
Blob পদ্ধতি
Blobঅন্তর্ভুক্ত থাকা সব পদ্ধতির নাম পরিবর্তন করে তার পরিবর্তেInlineDataব্যবহার করা হয়েছে।
নিরাপত্তা সেটিংস
methodফিল্ডকে নাল ভ্যালু গ্রহণ করার উপযুক্ত হিসেবে পরিবর্তন করা হয়েছে।
সময়সীমা ক্লাস
- Kotlin-এর
Durationক্লাসের সব ব্যবহার সরিয়ে দেওয়া হয়েছে এবং সেটির পরিবর্তেlongব্যবহার করা হয়েছে। এই পরিবর্তনের ফলে Java-র সাথে আরও ভালো ইন্টারঅপারেবিলিটি পাওয়া যায়।
- Kotlin-এর
উদ্ধৃতি মেটাডেটা
CitationMetadata-এ আগে ঘোষণা করা সব ফিল্ডকেCitationনামের নতুন ক্লাসে র্যাপ করা হয়েছে।CitationMetadata-এcitationsনামের তালিকায় উদ্ধৃতি পাওয়া যাবে। এই পরিবর্তনের ফলে, বিভিন্ন প্ল্যাটফর্ম জুড়ে টাইপ আরও ভালোভাবে অ্যালাইন করা যায়।
টোকেন গণনা করা
totalBillableCharactersফিল্ডকে নাল ভ্যালু গ্রহণ করার উপযুক্ত হিসেবে পরিবর্তন করা হয়েছে।
বিলযোগ্য অক্ষরের মোট সংখ্যা
- কোনও অক্ষর না পাঠানো হলে সেই পরিস্থিতি দেখানোর জন্য
CountTokensResponse-এtotalBillableCharactersপ্রপার্টি পরিবর্তন করে ঐচ্ছিক করা হয়েছে।
- কোনও অক্ষর না পাঠানো হলে সেই পরিস্থিতি দেখানোর জন্য
মডেল ইনস্ট্যানশিয়েট করা
- অন্যান্য প্ল্যাটফর্মের সাথে
অ্যালাইন করার জন্য প্যারামিটার তালিকার শেষে
requestOptionsপ্যারামিটারটি সরানো হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে
অ্যালাইন করার জন্য প্যারামিটার তালিকার শেষে
Web
মনে রাখবেন, Google AI ক্লায়েন্ট SDK for JavaScript-এ Firebase AI Logic ক্লায়েন্ট SDK-এর ব্রাঞ্চ তৈরি হওয়ার পর থেকে অনেক পরিবর্তন করা হয়েছে। আপনি Firebase AI Logic ক্লায়েন্ট SDK-তে মাইগ্রেট করার সময় আপনাকে নিম্নলিখিত সম্ভাব্য পরিবর্তনগুলি বিবেচনা করতে হতে পারে।
তালিকা
- নিম্নলিখিত এনুমেরেশন থেকে ভ্যালু সরানো হয়েছে:
HarmCategory,BlockThreshold,HarmProbability,HarmSeverity,BlockReasonএবংFinishReason.
- নিম্নলিখিত এনুমেরেশন থেকে ভ্যালু সরানো হয়েছে:
ব্লক করার কারণ
PromptFeedback-এblockReasonপরিবর্তন করে ঐচ্ছিক করা হয়েছে।
সার্চ গ্রাউন্ডিং
- এই ফিচারের সমস্ত ব্যবহার সরিয়ে দেওয়া হয়েছে, কারণ এটি এখনও Firebase AI Logic SDK-তে কাজ করে না।
সমস্যা
GoogleGenerativeAIError-এর সব ব্যবহার সরিয়ে দেওয়া হয়েছে এবং ঐচ্ছিকভাবেAIError-এ সরানো হয়েছে।
Dart
তালিকা
- নিম্নলিখিত এনুমেরেশন থেকে ভ্যালু সরানো হয়েছে:
HarmCategory,HarmProbability,BlockReasonএবংFinishReason.
- নিম্নলিখিত এনুমেরেশন থেকে ভ্যালু সরানো হয়েছে:
ডেটার অংশ
- অন্যান্য প্ল্যাটফর্মের সাথে সামঞ্জস্য বজায় রাখতে
DataPart-এর নাম পরিবর্তন করেInlineDataPartএবংstaticdataফাংশনের নাম পরিবর্তন করেinlineDataকরা হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে সামঞ্জস্য বজায় রাখতে
অনুরোধের বিকল্প
timeoutকাজ না করায়RequestOptionsসরিয়ে দেওয়া হয়েছে। এটি শীঘ্রই আবার যোগ করা হবে, তবে অন্যান্য প্ল্যাটফর্মের সাথে ম্যাচ করাতে এটিকেGenerativeModelধরনের মধ্যে সরানো হবে।
সিকোয়েন্স বন্ধ করা
GenerationConfig-এstopSequencesপ্যারামিটার পরিবর্তন করে ঐচ্ছিক করা হয়েছে এবং খালি অ্যারের পরিবর্তে ডিফল্ট হিসেবেnullসেট করা হয়েছে।
উদ্ধৃতি
CitationMetadata-এcitationSourcesপ্রপার্টির নাম পরিবর্তন করেcitationsকরা হয়েছে। অন্যান্য প্ল্যাটফর্মের সাথে মিল রাখতেCitationSourceটাইপের নাম পরিবর্তন করেCitationকরা হয়েছে।
অপ্রয়োজনীয় পাবলিক টাইপ, পদ্ধতি ও প্রপার্টি
- নিম্নলিখিত ধরন, পদ্ধতি ও প্রপার্টি সরিয়ে দেওয়া হয়েছে যেগুলি
অনিচ্ছাকৃতভাবে এক্সপোজ করা হয়েছিল:
defaultTimeout,CountTokensResponseFields,parseCountTokensResponse,parseEmbedContentResponse,parseGenerateContentResponse,parseContent,BatchEmbedContentsResponse,ContentEmbedding,EmbedContentRequest, এবংEmbedContentResponse.
- নিম্নলিখিত ধরন, পদ্ধতি ও প্রপার্টি সরিয়ে দেওয়া হয়েছে যেগুলি
অনিচ্ছাকৃতভাবে এক্সপোজ করা হয়েছিল:
টোকেন গণনা করা
countTokensফাংশন থেকে অতিরিক্ত ফিল্ড সরানো হয়েছে যেগুলি আর প্রয়োজনীয় নয়। শুধুমাত্রcontentsপ্রয়োজন।
মডেল ইনস্ট্যানশিয়েট করা
- অন্যান্য প্ল্যাটফর্মের সাথে সামঞ্জস্য বজায় রাখতে, প্যারামিটার তালিকার শেষে
systemInstructionপ্যারামিটারটি সরিয়ে দেওয়া হয়েছে ।
- অন্যান্য প্ল্যাটফর্মের সাথে সামঞ্জস্য বজায় রাখতে, প্যারামিটার তালিকার শেষে
এম্বেডিং ফাংশনালিটি
- মডেল থেকে কাজ করে না এমন এম্বেডিং ফাংশনালিটি (
embedContentএবংbatchEmbedContents) সরিয়ে দেওয়া হয়েছে।
- মডেল থেকে কাজ করে না এমন এম্বেডিং ফাংশনালিটি (
Unity
Unity-এর জন্য সহায়তা Google AI ক্লায়েন্ট SDK-তে উপলভ্য ছিল না।
কীভাবে Unity-এর জন্য Firebase AI Logic SDK ব্যবহার শুরু করবেন তা জানুন।
Firebase AI Logic-এর সাথে আপনার অভিজ্ঞতা সম্পর্কে মতামত জানান