সরাসরি মাইগ্রেশন নির্দেশাবলীতে যান।
ফায়ারবেস এআই লজিক এসডিকে ব্যবহার করার জন্য কেন মাইগ্রেট করবেন?
আপনি হয়তো বিকল্প মোবাইল বা ওয়েব ক্লায়েন্ট SDK ব্যবহার করে দেখেছেন যা আপনাকে Gemini Developer API- তে অ্যাক্সেস দিয়েছে।
এই ক্লায়েন্ট SDK গুলি মোবাইল এবং ওয়েব অ্যাপের জন্য গুরুত্বপূর্ণ পরিষেবা প্রদানকারী শক্তিশালী Firebase ইকোসিস্টেমের সাথে একীভূত ছিল না। এখন Firebase AI Logic ক্লায়েন্ট SDK গুলির পরিবর্তে এগুলিকে অবচিত করা হয়েছে, যা আপনাকে Gemini Developer API- তে অ্যাক্সেস দিতে পারে।
মোবাইল এবং ওয়েব অ্যাপের জন্য নিরাপত্তা বৈশিষ্ট্য
মোবাইল এবং ওয়েব অ্যাপের জন্য, নিরাপত্তা অত্যন্ত গুরুত্বপূর্ণ এবং বিশেষ বিবেচনার প্রয়োজন কারণ আপনার কোড - জেমিনি API- তে কল সহ - একটি অরক্ষিত পরিবেশে চলছে। অননুমোদিত ক্লায়েন্টদের দ্বারা অপব্যবহার থেকে API-গুলিকে রক্ষা করতে আপনি Firebase App Check ব্যবহার করতে পারেন।
যখন আপনি Firebase App Check AI Logic ব্যবহার করেন , তখন আপনি কখনই আপনার Gemini Developer API-এর জন্য Gemini API কী সরাসরি আপনার মোবাইল বা ওয়েব অ্যাপের কোডবেসে যোগ করেন না। পরিবর্তে, Gemini API কী সার্ভারে থাকে, ক্ষতিকারক উপাদানের সংস্পর্শে না আসে।
মোবাইল এবং ওয়েব অ্যাপের জন্য তৈরি ইকোসিস্টেম
Firebase হল Google-এর মোবাইল এবং ওয়েব অ্যাপ তৈরির প্ল্যাটফর্ম। Firebase AI Logic ব্যবহার করার অর্থ হল আপনার অ্যাপগুলি এমন একটি ইকোসিস্টেমের মধ্যে রয়েছে যা ফুল-স্ট্যাক অ্যাপ এবং ডেভেলপারদের চাহিদার উপর দৃষ্টি নিবদ্ধ করে। উদাহরণস্বরূপ:
Firebase Remote Config ব্যবহার করে নতুন অ্যাপ সংস্করণ প্রকাশ না করেই আপনার অ্যাপে রান-টাইম কনফিগারেশনগুলি গতিশীলভাবে সেট করুন অথবা মানগুলি (যেমন একটি মডেলের নাম এবং সংস্করণ) অদলবদল করুন।
আপনার মাল্টিমোডাল অনুরোধগুলিতে (যদি আপনি Vertex AI Gemini API ব্যবহার করেন) বড় ফাইলগুলি অন্তর্ভুক্ত করতে Cloud Storage for Firebase ব্যবহার করুন। Cloud Storage ক্লায়েন্ট SDK গুলি আপনাকে ফাইল আপলোড এবং ডাউনলোড পরিচালনা করতে সাহায্য করে (এমনকি খারাপ নেটওয়ার্ক পরিস্থিতিতেও) এবং আপনার শেষ-ব্যবহারকারীদের ডেটার জন্য আরও সুরক্ষা প্রদান করে। Cloud Storage for Firebase ব্যবহার সম্পর্কে আমাদের সমাধান নির্দেশিকাতে আরও জানুন।
মোবাইল এবং ওয়েব অ্যাপের জন্য তৈরি ডাটাবেস SDK ব্যবহার করে স্ট্রাকচার্ড ডেটা পরিচালনা করুন (যেমন Cloud Firestore )।
Firebase AI Logic SDK-তে মাইগ্রেট করুন
ফায়ারবেস এআই লজিক এসডিকেতে স্থানান্তরের পদক্ষেপগুলির সংক্ষিপ্তসার:
ধাপ ১ : একটি নতুন বা বিদ্যমান Firebase প্রকল্প সেট আপ করুন এবং আপনার অ্যাপটিকে Firebase এর সাথে সংযুক্ত করুন।
ধাপ ২ : আপনার অ্যাপে Firebase AI Logic SDK গুলি যোগ করুন।
ধাপ ৩ : আপনার অ্যাপে আপনার আমদানি এবং আরম্ভকরণ আপডেট করুন।
ধাপ ৪ : আপনার ব্যবহৃত বৈশিষ্ট্যগুলির উপর নির্ভর করে আপনার কোড আপডেট করুন।
ধাপ ১ : একটি Firebase প্রকল্প সেট আপ করুন এবং আপনার অ্যাপটি সংযুক্ত করুন
Firebase কনসোলে সাইন ইন করুন, এবং তারপর আপনার Firebase প্রকল্পটি নির্বাচন করুন।
যদি আপনার ইতিমধ্যেই কোন Firebase প্রকল্প না থাকে, তাহলে একটি নতুন Firebase প্রকল্প তৈরি করতে বোতামটি ক্লিক করুন, এবং তারপর নিম্নলিখিত বিকল্পগুলির যেকোনো একটি ব্যবহার করুন:
বিকল্প ১ : কর্মপ্রবাহের প্রথম ধাপে একটি নতুন প্রকল্পের নাম প্রবেশ করিয়ে একটি সম্পূর্ণ নতুন ফায়ারবেস প্রকল্প (এবং এর অন্তর্নিহিত Google Cloud প্রকল্প স্বয়ংক্রিয়ভাবে) তৈরি করুন।
বিকল্প ২ : " Add Firebase to Google Cloud project " (পৃষ্ঠার নীচে) ক্লিক করে একটি বিদ্যমান Google Cloud প্রকল্পে "Add Firebase" যোগ করুন। কর্মপ্রবাহের প্রথম ধাপে, বিদ্যমান প্রকল্পের প্রকল্পের নাম প্রবেশ করা শুরু করুন, এবং তারপর প্রদর্শিত তালিকা থেকে প্রকল্পটি নির্বাচন করুন।
আপনি যদি চান, তাহলে Google AI Studio- তে একটি Gemini API কী তৈরি করার সময় পর্দার আড়ালে তৈরি করা প্রকল্পে Firebase যোগ করতে পারেন।
একটি Firebase প্রকল্প তৈরি করতে অন-স্ক্রিন ওয়ার্কফ্লোর অবশিষ্ট ধাপগুলি সম্পূর্ণ করুন। মনে রাখবেন যে অনুরোধ করা হলে, Firebase AI Logic SDK ব্যবহার করার জন্য আপনাকে Google Analytics সেট আপ করার প্রয়োজন নেই ।
Firebase কনসোলে, ফায়ারবেস এআই লজিক পৃষ্ঠায় যান।
আপনার প্রকল্পের জন্য প্রয়োজনীয় API এবং সংস্থান সেট আপ করতে সাহায্য করার জন্য একটি নির্দেশিত কর্মপ্রবাহ চালু করতে "শুরু করুন" এ ক্লিক করুন।
জেমিনি ডেভেলপার API নির্বাচন করুন। আপনি চাইলে পরে যেকোনো সময় অন্য API প্রদানকারী সেট আপ করতে এবং ব্যবহার করতে পারেন।
কনসোলটি প্রয়োজনীয় API গুলি সক্ষম করবে এবং আপনার প্রকল্পে একটি নতুন, ডেডিকেটেড জেমিনি API কী তৈরি করবে।
আপনার অ্যাপের কোডবেসে এই নতুন জেমিনি API কী যোগ করবেন না । আরও জানুন।কনসোলের ওয়ার্কফ্লোতে যদি অনুরোধ করা হয়, তাহলে আপনার অ্যাপটি নিবন্ধন করতে এবং এটিকে Firebase-এর সাথে সংযুক্ত করতে অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন।
আপনার অ্যাপে লাইব্রেরি এবং ইনিশিয়ালাইজেশন আপডেট করতে এই মাইগ্রেশন গাইডটি চালিয়ে যান।
ধাপ ২ : আপনার অ্যাপে Firebase AI Logic SDK যোগ করুন
আপনার Firebase প্রজেক্ট সেট আপ হওয়া এবং আপনার অ্যাপ Firebase-এর সাথে সংযুক্ত হওয়ার মাধ্যমে (পূর্ববর্তী ধাপটি দেখুন), আপনি এখন আপনার অ্যাপে Firebase AI Logic SDK যোগ করতে পারবেন।
সুইফট
ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।
Firebase AI Logic লাইব্রেরি Gemini এবং Imagen মডেলের সাথে ইন্টারঅ্যাক্ট করার জন্য API গুলিতে অ্যাক্সেস প্রদান করে। লাইব্রেরিটি Apple প্ল্যাটফর্মের জন্য Firebase SDK এর অংশ হিসেবে অন্তর্ভুক্ত ( firebase-ios-sdk )।
যদি আপনি ইতিমধ্যেই Firebase ব্যবহার করে থাকেন, তাহলে নিশ্চিত করুন যে আপনার Firebase প্যাকেজটি v12.5.0 বা তার পরবর্তী সংস্করণের।
Xcode-এ, আপনার অ্যাপ প্রজেক্ট খোলা থাকা অবস্থায়, File > Add Package Dependencies- এ নেভিগেট করুন।
অনুরোধ করা হলে, Firebase Apple platforms SDK সংগ্রহস্থল যোগ করুন:
https://github.com/firebase/firebase-ios-sdkসর্বশেষ SDK সংস্করণটি নির্বাচন করুন।
FirebaseAILogicলাইব্রেরি নির্বাচন করুন।
শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে ব্যাকগ্রাউন্ডে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।
Kotlin
অ্যান্ড্রয়েডের জন্য ফায়ারবেস এআই লজিক এসডিকে ( firebase-ai ) জেমিনি এবং ইমেজেন মডেলের সাথে ইন্টারঅ্যাক্ট করার জন্য API গুলিতে অ্যাক্সেস প্রদান করে।
আপনার মডিউল (অ্যাপ-লেভেল) গ্র্যাডেল ফাইলে (যেমন <project>/<app-module>/build.gradle.kts ), Android এর জন্য 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 Android লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
যদি আপনি 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 গুলিতে অ্যাক্সেস প্রদান করে।
আপনার মডিউল (অ্যাপ-লেভেল) গ্র্যাডেল ফাইলে (যেমন <project>/<app-module>/build.gradle.kts ), Android এর জন্য 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 Android লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
যদি আপনি 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 লাইব্রেরি Gemini এবং Imagen মডেলের সাথে ইন্টারঅ্যাক্ট করার জন্য API গুলিতে অ্যাক্সেস প্রদান করে। লাইব্রেরিটি Firebase JavaScript SDK for Web-এর অংশ হিসেবে অন্তর্ভুক্ত।
npm ব্যবহার করে ওয়েবের জন্য Firebase JS SDK ইনস্টল করুন:
npm install firebaseআপনার অ্যাপে 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
Flutter ( firebase_ai ) এর জন্য Firebase AI Logic প্লাগইন জেমিনি এবং ইমেজেন মডেলের সাথে ইন্টারঅ্যাক্ট করার জন্য API গুলিতে অ্যাক্সেস প্রদান করে।
আপনার Flutter প্রজেক্ট ডিরেক্টরি থেকে, কোর প্লাগইন এবং Firebase AI Logic প্লাগইন ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:
flutter pub add firebase_core firebase_aiআপনার
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';আপনার
lib/main.dartফাইলে, কনফিগারেশন ফাইল দ্বারা এক্সপোর্ট করাDefaultFirebaseOptionsঅবজেক্ট ব্যবহার করে Firebase আরম্ভ করুন:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );আপনার Flutter অ্যাপ্লিকেশনটি পুনর্নির্মাণ করুন:
flutter run
ঐক্য
গুগল এআই ক্লায়েন্ট এসডিকে থেকে ইউনিটির জন্য সমর্থন পাওয়া যায়নি।
ইউনিটির জন্য ফায়ারবেস এআই লজিক এসডিকে কীভাবে শুরু করবেন তা শিখুন।
আপনার অ্যাপ থেকে পুরানো SDK সরান
আপনার অ্যাপটি স্থানান্তরিত করার পরে (এই নির্দেশিকার বাকি অংশগুলি দেখুন), পুরানো লাইব্রেরিটি মুছে ফেলতে ভুলবেন না।
সুইফট
পুরাতন লাইব্রেরিটি সরান:
এক্সকোডে, আপনার অ্যাপ প্রজেক্ট খোলা থাকা অবস্থায়, প্যাকেজস ডিপেন্ডেন্সিজ ফলকে নেভিগেট করুন।
প্যাকেজ নির্ভরতার তালিকা থেকে
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
ঐক্য
গুগল এআই ক্লায়েন্ট এসডিকে থেকে ইউনিটির জন্য সমর্থন পাওয়া যায়নি।
ইউনিটির জন্য ফায়ারবেস এআই লজিক এসডিকে কীভাবে শুরু করবেন তা শিখুন।
ধাপ ৩ : আপনার অ্যাপে আপনার আমদানি এবং আরম্ভকরণ আপডেট করুন
আপনার আমদানিগুলি এবং আপনি কীভাবে জেমিনি ডেভেলপার API ব্যাকএন্ড পরিষেবাটি শুরু করবেন তা আপডেট করুন এবং একটি 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');
ঐক্য
গুগল এআই ক্লায়েন্ট এসডিকে থেকে ইউনিটির জন্য সমর্থন পাওয়া যায়নি।
ইউনিটির জন্য ফায়ারবেস এআই লজিক এসডিকে কীভাবে শুরু করবেন তা শিখুন।
মনে রাখবেন যে আপনি যে ক্ষমতা ব্যবহার করছেন তার উপর নির্ভর করে, আপনি সর্বদা একটি GenerativeModel ইনস্ট্যান্স তৈরি নাও করতে পারেন ।
- একটি Imagen মডেল অ্যাক্সেস করতে, একটি
ImagenModelইনস্ট্যান্স তৈরি করুন।
ধাপ ৪ : আপনার ব্যবহৃত বৈশিষ্ট্যের উপর নির্ভর করে কোড আপডেট করুন
এই ধাপে আপনি কোন বৈশিষ্ট্যগুলি ব্যবহার করেন তার উপর নির্ভর করে প্রয়োজনীয় পরিবর্তনগুলি বর্ণনা করা হয়েছে।
Firebase AI Logic ক্লায়েন্ট SDK গুলি কোড এক্সিকিউশন সমর্থন করে না। আপনি যদি এই বৈশিষ্ট্যটি ব্যবহার করেন, তাহলে আপনার অ্যাপে এটি অন্তর্ভুক্ত করতে ভুলবেন না।
Firebase AI Logic ক্লায়েন্ট SDK-তে মাইগ্রেশন করার জন্য আপনার কোডে যে কোনও পরিবর্তন করার প্রয়োজন হতে পারে তার জন্য নিম্নলিখিত তালিকাগুলি পর্যালোচনা করুন।
সকল ভাষা এবং প্ল্যাটফর্মের জন্য প্রয়োজনীয়
ফাংশন কলিং
যদি আপনি এই বৈশিষ্ট্যটি বাস্তবায়ন করে থাকেন, তাহলে আপনার স্কিমা কীভাবে সংজ্ঞায়িত করবেন তা আপডেট করতে হবে। আপনার ফাংশন ঘোষণা কীভাবে লিখতে হয় তা শিখতে আমরা আপডেট করা ফাংশন কলিং গাইডটি পর্যালোচনা করার পরামর্শ দিচ্ছি।responseSchemaব্যবহার করে স্ট্রাকচার্ড আউটপুট (যেমন JSON) তৈরি করা হচ্ছে
যদি আপনি এই বৈশিষ্ট্যটি বাস্তবায়ন করে থাকেন, তাহলে আপনার স্কিমা কীভাবে সংজ্ঞায়িত করবেন তা আপডেট করতে হবে। JSON স্কিমা কীভাবে লিখতে হয় তা শিখতে আমরা নতুন স্ট্রাকচার্ড আউটপুট গাইডটি পর্যালোচনা করার পরামর্শ দিচ্ছি।সময়সীমা শেষ
- অনুরোধের জন্য ডিফল্ট সময়সীমা ১৮০ সেকেন্ডে পরিবর্তন করা হয়েছে।
প্ল্যাটফর্ম বা ভাষার উপর ভিত্তি করে প্রয়োজনীয়
সুইফট
গণনা
বেশিরভাগ
enumপ্রকারের পরিবর্তেstructs ব্যবহার করে স্ট্যাটিক ভেরিয়েবল ব্যবহার করা হয়েছে। এই পরিবর্তন API-কে পশ্চাদমুখী-সামঞ্জস্যপূর্ণ উপায়ে বিকশিত করার জন্য আরও নমনীয়তা প্রদান করে।switchস্টেটমেন্ট ব্যবহার করার সময়, অজানা বা অপ্রচলিত মানগুলি কভার করার জন্য আপনাকে এখন একটিdefault:case অন্তর্ভুক্ত করতে হবে, যার মধ্যে ভবিষ্যতে SDK-তে যোগ করা নতুন মান অন্তর্ভুক্ত থাকবে।BlockThresholdগণনার নাম পরিবর্তন করেHarmBlockThresholdরাখা হয়েছে; এই ধরণটি এখন একটিstruct।নিম্নলিখিত গণনাগুলি (এখন
structগুলি) থেকেunknownএবংunspecifiedকেসগুলি সরানো হয়েছে:HarmCategory,HarmBlockThreshold,HarmProbability,BlockReason, এবংFinishReason।নতুন টাইপগুলিকে ব্যাকওয়ার্ড-সামঞ্জস্যপূর্ণ
Partযোগ করার অনুমতি দেওয়ার জন্যModelContent.Partনামক একটি প্রোটোকল দিয়ে গণনা প্রতিস্থাপন করা হয়েছে। এই পরিবর্তনটি Content parts বিভাগে আরও বিশদে বর্ণনা করা হয়েছে।
বিষয়বস্তুর অংশ
ThrowingPartsRepresentableপ্রোটোকলটি সরিয়ে ফেলা হয়েছে, এবং মাঝে মাঝে কম্পাইলার ত্রুটি এড়াতেModelContentএর জন্য ইনিশিয়ালাইজারগুলিকে সরলীকৃত করা হয়েছে। যেসব ছবি সঠিকভাবে এনকোড করে না, সেগুলোgenerateContentএ ব্যবহার করার সময়ও ত্রুটি দেখাবে।ModelContent.PartকেসগুলিকেPartপ্রোটোকলের সাথে সামঞ্জস্যপূর্ণ নিম্নলিখিতstructপ্রকার দিয়ে প্রতিস্থাপন করা হয়েছে:-
.textথেকেTextPart -
.dataথেকেInlineDataPart -
.fileDataথেকেFileDataPart -
.functionCalltoFunctionCallPart -
.functionResponsetoFunctionResponsePart
-
ক্ষতিকর বিভাগ
-
HarmCategoryআরSafetySettingটাইপে নেস্টেড না করার জন্য পরিবর্তন করা হয়েছে। যদি আপনি এটিকেSafetySetting.HarmCategoryহিসাবে উল্লেখ করেন, তাহলে এটিHarmCategoryদিয়ে প্রতিস্থাপন করা যেতে পারে।
-
নিরাপত্তা প্রতিক্রিয়া
- কোনও প্রতিক্রিয়ায় এটি ব্যবহার না করায়,
SafetyFeedbackপ্রকারটি সরিয়ে ফেলা হয়েছে।
- কোনও প্রতিক্রিয়ায় এটি ব্যবহার না করায়,
উদ্ধৃতি মেটাডেটা
-
CitationMetadataতেcitationSourcesপ্রপার্টির নাম পরিবর্তন করেcitationsকরা হয়েছে।
-
মোট বিলযোগ্য অক্ষর
-
CountTokensResponseএtotalBillableCharactersপ্রপার্টি পরিবর্তন করে ঐচ্ছিক করা হয়েছে যাতে কোনও অক্ষর পাঠানো না হওয়া পরিস্থিতি প্রতিফলিত হয়।
-
প্রার্থীর প্রতিক্রিয়া
- অন্যান্য প্ল্যাটফর্মের সাথে মেলে
CandidateResponseনাম পরিবর্তন করেCandidateরাখা হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে মেলে
জেনারেশন কনফিগারেশন
-
GenerationConfigএর পাবলিক প্রোপার্টিগুলিকেinternalএ পরিবর্তন করা হয়েছে। এগুলো সবই initializer-এ কনফিগারযোগ্য রয়ে গেছে।
-
Kotlin
গণনা
enumক্লাস এবংsealedক্লাসগুলিকে নিয়মিত ক্লাস দিয়ে প্রতিস্থাপন করা হয়েছে। এই পরিবর্তনটি API-কে একটি পশ্চাদমুখী সামঞ্জস্যপূর্ণ উপায়ে বিকশিত করার জন্য আরও নমনীয়তা প্রদান করে।BlockThresholdগণনার নাম পরিবর্তন করেHarmBlockThresholdরাখা হয়েছে।নিম্নলিখিত গণনা থেকে মানগুলি সরানো হয়েছে:
HarmBlockThreshold,HarmProbability,HarmSeverity,BlockReason, এবংFinishReason।
ব্লব পদ্ধতি
-
Blobঅন্তর্ভুক্ত করা সমস্ত পদ্ধতির নাম পরিবর্তন করেInlineDataব্যবহার করা হয়েছে।
-
নিরাপত্তা সেটিংস
- ক্ষেত্র
methodবাতিলযোগ্য করে পরিবর্তন করা হয়েছে।
- ক্ষেত্র
ক্লাসের সময়কাল
- কোটলিনের
Durationক্লাসের সমস্ত ব্যবহার সরিয়ে ফেলা হয়েছে এবংlongদিয়ে প্রতিস্থাপন করা হয়েছে। এই পরিবর্তনটি জাভার সাথে আরও ভাল আন্তঃকার্যক্ষমতা প্রদান করে।
- কোটলিনের
উদ্ধৃতি মেটাডেটা
-
CitationMetadataতে পূর্বে ঘোষিত সমস্ত ক্ষেত্রগুলিকেCitationনামে একটি নতুন শ্রেণীতে আবৃত করা হয়েছে।CitationMetadataতেcitationsনামক তালিকায় উদ্ধৃতি পাওয়া যাবে। এই পরিবর্তনটি প্ল্যাটফর্ম জুড়ে প্রকারের আরও ভাল সারিবদ্ধকরণের অনুমতি দেয়।
-
টোকেন গণনা করুন
-
totalBillableCharactersফিল্ডটিকে nullable এ পরিবর্তন করা হয়েছে।
-
মোট বিলযোগ্য অক্ষর
-
CountTokensResponseএtotalBillableCharactersপ্রপার্টি পরিবর্তন করে ঐচ্ছিক করা হয়েছে যাতে কোনও অক্ষর পাঠানো না হওয়া পরিস্থিতি প্রতিফলিত হয়।
-
একটি মডেল তৈরি করা হচ্ছে
- অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করার জন্য
requestOptionsপ্যারামিটারটিকে প্যারামিটার তালিকার শেষে সরানো হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করার জন্য
Java
গণনা
enumক্লাস এবংsealedক্লাসগুলিকে নিয়মিত ক্লাস দিয়ে প্রতিস্থাপন করা হয়েছে। এই পরিবর্তনটি API-কে একটি পশ্চাদমুখী সামঞ্জস্যপূর্ণ উপায়ে বিকশিত করার জন্য আরও নমনীয়তা প্রদান করে।BlockThresholdগণনার নাম পরিবর্তন করেHarmBlockThresholdরাখা হয়েছে।নিম্নলিখিত গণনা থেকে মানগুলি সরানো হয়েছে:
HarmBlockThreshold,HarmProbability,HarmSeverity,BlockReason, এবংFinishReason।
ব্লব পদ্ধতি
-
Blobঅন্তর্ভুক্ত করা সমস্ত পদ্ধতির নাম পরিবর্তন করেInlineDataব্যবহার করা হয়েছে।
-
নিরাপত্তা সেটিংস
- ক্ষেত্র
methodবাতিলযোগ্য করে পরিবর্তন করা হয়েছে।
- ক্ষেত্র
ক্লাসের সময়কাল
- কোটলিনের
Durationক্লাসের সমস্ত ব্যবহার সরিয়ে ফেলা হয়েছে এবংlongদিয়ে প্রতিস্থাপন করা হয়েছে। এই পরিবর্তনটি জাভার সাথে আরও ভাল আন্তঃকার্যক্ষমতা প্রদান করে।
- কোটলিনের
উদ্ধৃতি মেটাডেটা
-
CitationMetadataতে পূর্বে ঘোষিত সমস্ত ক্ষেত্রগুলিকেCitationনামে একটি নতুন শ্রেণীতে আবৃত করা হয়েছে।CitationMetadataতেcitationsনামক তালিকায় উদ্ধৃতি পাওয়া যাবে। এই পরিবর্তনটি প্ল্যাটফর্ম জুড়ে প্রকারের আরও ভাল সারিবদ্ধকরণের অনুমতি দেয়।
-
টোকেন গণনা করুন
-
totalBillableCharactersফিল্ডটিকে nullable এ পরিবর্তন করা হয়েছে।
-
মোট বিলযোগ্য অক্ষর
-
CountTokensResponseএtotalBillableCharactersপ্রপার্টি পরিবর্তন করে ঐচ্ছিক করা হয়েছে যাতে কোনও অক্ষর পাঠানো না হওয়া পরিস্থিতি প্রতিফলিত হয়।
-
একটি মডেল তৈরি করা হচ্ছে
- অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করার জন্য
requestOptionsপ্যারামিটারটিকে প্যারামিটার তালিকার শেষে সরানো হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করার জন্য
Web
মনে রাখবেন যে Firebase AI Logic ক্লায়েন্ট SDK থেকে শাখা তৈরির পর থেকে JavaScript-এর জন্য Google AI ক্লায়েন্ট 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) সরানো হয়েছে।
- মডেল থেকে অসমর্থিত এম্বেডিং কার্যকারিতা (
ঐক্য
গুগল এআই ক্লায়েন্ট এসডিকে থেকে ইউনিটির জন্য সমর্থন পাওয়া যায়নি।
ইউনিটির জন্য ফায়ারবেস এআই লজিক এসডিকে কীভাবে শুরু করবেন তা শিখুন।
Firebase AI Logic এর সাথে আপনার অভিজ্ঞতা সম্পর্কে মতামত দিন।