সরাসরি মাইগ্রেশন নির্দেশাবলীতে যান
কেন Firebase AI লজিক SDK ব্যবহার করতে মাইগ্রেট করবেন?
আপনি হয়তো মোবাইল বা ওয়েব ক্লায়েন্ট SDK-এর একটি বিকল্প সেট ব্যবহার করে দেখেছেন যা আপনাকে Gemini Developer API- এ অ্যাক্সেস দিয়েছে।
সেই ক্লায়েন্ট SDKগুলিকে শক্তিশালী Firebase ইকোসিস্টেমে একত্রিত করা হয়নি যা মোবাইল এবং ওয়েব অ্যাপগুলির জন্য গুরুত্বপূর্ণ পরিষেবা প্রদান করে। সেগুলি এখন ফায়ারবেস এআই লজিক ক্লায়েন্ট SDK-এর পক্ষে অবমূল্যায়িত হয়েছে, যা আপনাকে Gemini Developer API- এ অ্যাক্সেস দিতে পারে।
মোবাইল এবং ওয়েব অ্যাপের নিরাপত্তা বৈশিষ্ট্য
মোবাইল এবং ওয়েব অ্যাপের জন্য, নিরাপত্তা অত্যন্ত গুরুত্বপূর্ণ এবং বিশেষ বিবেচনার প্রয়োজন কারণ আপনার কোড - জেমিনি API- তে কল সহ - একটি অরক্ষিত পরিবেশে চলছে৷ অননুমোদিত ক্লায়েন্টদের অপব্যবহার থেকে APIগুলিকে রক্ষা করতে আপনি Firebase App Check ব্যবহার করতে পারেন।
আপনি যখন Firebase এআই লজিক দিয়ে Firebase App Check ব্যবহার করেন , তখন আপনি কখনই আপনার মোবাইল বা ওয়েব অ্যাপের কোডবেসে সরাসরি জেমিনি ডেভেলপার API- এর জন্য আপনার Gemini API কী যোগ করবেন না। পরিবর্তে, Gemini API কী সার্ভারে থাকে, দূষিত অভিনেতাদের কাছে অপ্রকাশিত।
মোবাইল এবং ওয়েব অ্যাপের জন্য তৈরি ইকোসিস্টেম
Firebase হল মোবাইল এবং ওয়েব অ্যাপ তৈরির জন্য Google-এর প্ল্যাটফর্ম৷ Firebase AI লজিক ব্যবহার করার অর্থ হল আপনার অ্যাপগুলি এমন একটি ইকোসিস্টেমে রয়েছে যা ফুল-স্ট্যাক অ্যাপ এবং ডেভেলপারদের চাহিদার উপর ফোকাস করে। যেমন:
Firebase Remote Config ব্যবহার করে একটি নতুন অ্যাপ সংস্করণ প্রকাশ না করে গতিশীলভাবে রান-টাইম কনফিগারেশন সেট করুন বা আপনার অ্যাপে (যেমন একটি মডেলের নাম এবং সংস্করণ) মান পরিবর্তন করুন।
আপনার মাল্টিমোডাল অনুরোধে বড় ফাইল অন্তর্ভুক্ত করতে Cloud Storage for Firebase ব্যবহার করুন (যদি আপনি Vertex AI Gemini API ব্যবহার করেন)। Cloud Storage ক্লায়েন্ট SDKগুলি আপনাকে ফাইল আপলোড এবং ডাউনলোডগুলি পরিচালনা করতে সহায়তা করে (এমনকি দুর্বল নেটওয়ার্ক অবস্থার মধ্যেও) এবং আপনার শেষ-ব্যবহারকারীদের ডেটার জন্য আরও সুরক্ষা প্রদান করে৷ Cloud Storage for Firebase ব্যবহার করার বিষয়ে আমাদের সমাধান নির্দেশিকা থেকে আরও জানুন।
মোবাইল এবং ওয়েব অ্যাপের জন্য তৈরি ডাটাবেস SDK ব্যবহার করে কাঠামোগত ডেটা পরিচালনা করুন (যেমন Cloud Firestore )।
Firebase AI লজিক SDK-এ স্থানান্তর করুন
Firebase AI লজিক SDK-তে স্থানান্তরিত করার পদক্ষেপগুলির সংক্ষিপ্ত বিবরণ:
ধাপ 1 : একটি নতুন বা বিদ্যমান ফায়ারবেস প্রকল্প সেট আপ করুন এবং আপনার অ্যাপটিকে Firebase-এর সাথে সংযুক্ত করুন।
ধাপ 2 : আপনার অ্যাপে Firebase AI লজিক SDK যোগ করুন।
ধাপ 3 : আপনার অ্যাপে আপনার আমদানি এবং সূচনা আপডেট করুন।
ধাপ 4 : আপনি যে বৈশিষ্ট্যগুলি ব্যবহার করেন তার উপর নির্ভর করে আপনার কোড আপডেট করুন৷
ধাপ 1 : একটি ফায়ারবেস প্রকল্প সেট আপ করুন এবং আপনার অ্যাপ সংযুক্ত করুন
Firebase কনসোলে সাইন ইন করুন, এবং তারপর আপনার Firebase প্রকল্প নির্বাচন করুন।
যদি আপনার কাছে ইতিমধ্যে একটি ফায়ারবেস প্রজেক্ট না থাকে, তাহলে প্রজেক্ট তৈরি করুন এ ক্লিক করুন এবং তারপরে নিম্নলিখিত বিকল্পগুলির যেকোনো একটি ব্যবহার করুন:
বিকল্প 1 : একটি সম্পূর্ণ নতুন ফায়ারবেস প্রকল্প তৈরি করুন (এবং এর অন্তর্নিহিত Google Cloud প্রকল্প স্বয়ংক্রিয়ভাবে) "প্রকল্প তৈরি করুন" কর্মপ্রবাহের প্রথম ধাপে একটি নতুন প্রকল্পের নাম প্রবেশ করান৷
বিকল্প 2 : "প্রকল্প তৈরি করুন" কর্মপ্রবাহের প্রথম ধাপে ড্রপ-ডাউন মেনু থেকে আপনার Google Cloud প্রকল্পের নাম নির্বাচন করে একটি বিদ্যমান Google Cloud প্রকল্পে "Firebase যোগ করুন"।
আপনি যদি চান, আপনি Google AI স্টুডিওতে একটি Gemini API কী তৈরি করার সময় পর্দার আড়ালে তৈরি করা প্রকল্পে Firebase যোগ করতে পারেন।
মনে রাখবেন যে যখন অনুরোধ করা হয়, আপনাকে Firebase AI লজিক SDK ব্যবহার করার জন্য Google Analytics সেট আপ করতে হবে না ।
Firebase কনসোলে, Firebase AI লজিক পৃষ্ঠায় যান।
একটি নির্দেশিত ওয়ার্কফ্লো চালু করতে শুরু করুন ক্লিক করুন যা আপনাকে আপনার প্রকল্পের জন্য প্রয়োজনীয় API এবং সংস্থানগুলি সেট আপ করতে সহায়তা করে৷
জেমিনি ডেভেলপার API নির্বাচন করুন। আপনি যদি চান তাহলে আপনি সর্বদা সেট আপ করতে এবং পরে অন্য API প্রদানকারী ব্যবহার করতে পারেন।
কনসোল প্রয়োজনীয় API গুলি সক্ষম করবে এবং আপনার প্রকল্পে একটি নতুন, ডেডিকেটেড Gemini API কী তৈরি করবে৷
আপনার অ্যাপের কোডবেসে এই নতুন Gemini API কী যোগ করবেন না । আরও জানুন।কনসোলের ওয়ার্কফ্লোতে অনুরোধ করা হলে, আপনার অ্যাপ নিবন্ধন করতে এবং এটিকে Firebase-এ সংযুক্ত করতে অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন।
আপনার অ্যাপে লাইব্রেরি এবং ইনিশিয়ালাইজেশন আপডেট করতে এই মাইগ্রেশন গাইডে চালিয়ে যান।
ধাপ 2 : আপনার অ্যাপে Firebase AI Logic SDK যোগ করুন
আপনার Firebase প্রকল্প সেট আপ এবং আপনার অ্যাপ Firebase-এর সাথে সংযুক্ত (আগের ধাপ দেখুন), আপনি এখন আপনার অ্যাপে Firebase AI লজিক SDK যোগ করতে পারেন।
সুইফট
ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।
ফায়ারবেস এআই লজিক লাইব্রেরি জেমিনি এবং ইমেজেন মডেলের সাথে ইন্টারঅ্যাক্ট করার জন্য API গুলিতে অ্যাক্সেস সরবরাহ করে। অ্যাপল প্ল্যাটফর্মের জন্য Firebase SDK-এর অংশ হিসেবে লাইব্রেরি অন্তর্ভুক্ত করা হয়েছে ( firebase-ios-sdk
)।
আপনি যদি আগে থেকেই Firebase ব্যবহার করে থাকেন, তাহলে নিশ্চিত করুন যে আপনার Firebase প্যাকেজ v11.13.0 বা তার পরের।
Xcode-এ, আপনার অ্যাপ প্রকল্প খোলার সাথে, ফাইল > প্যাকেজ নির্ভরতা যোগ করুন -এ নেভিগেট করুন।
অনুরোধ করা হলে, Firebase Apple প্ল্যাটফর্ম SDK সংগ্রহস্থল যোগ করুন:
https://github.com/firebase/firebase-ios-sdk
সর্বশেষ SDK সংস্করণ নির্বাচন করুন৷
FirebaseAI
লাইব্রেরি নির্বাচন করুন।
শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে পটভূমিতে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।
Kotlin
অ্যান্ড্রয়েডের জন্য Firebase AI লজিক SDK ( firebase-ai
) জেমিনি এবং ইমেজেন মডেলগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য APIগুলিতে অ্যাক্সেস সরবরাহ করে৷
আপনার মডিউলে (অ্যাপ-লেভেল) গ্রেডল ফাইলে (যেমন <project>/<app-module>/build.gradle.kts
), Android এর জন্য Firebase AI লজিক লাইব্রেরির নির্ভরতা যোগ করুন। আমরা লাইব্রেরি সংস্করণ নিয়ন্ত্রণ করতে 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 লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি 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:16.0.0") }
Java
অ্যান্ড্রয়েডের জন্য Firebase AI লজিক SDK ( firebase-ai
) জেমিনি এবং ইমেজেন মডেলগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য APIগুলিতে অ্যাক্সেস সরবরাহ করে৷
আপনার মডিউলে (অ্যাপ-লেভেল) গ্রেডল ফাইলে (যেমন <project>/<app-module>/build.gradle.kts
), Android এর জন্য Firebase AI লজিক লাইব্রেরির নির্ভরতা যোগ করুন। আমরা লাইব্রেরি সংস্করণ নিয়ন্ত্রণ করতে 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 লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি 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:16.0.0") }
Web
ফায়ারবেস এআই লজিক লাইব্রেরি জেমিনি এবং ইমেজেন মডেলের সাথে ইন্টারঅ্যাক্ট করার জন্য API গুলিতে অ্যাক্সেস সরবরাহ করে। লাইব্রেরিটি ওয়েবের জন্য Firebase JavaScript SDK-এর অংশ হিসেবে অন্তর্ভুক্ত করা হয়েছে।
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
) এর জন্য ফায়ারবেস এআই লজিক প্লাগইন জেমিনি এবং ইমেজেন মডেলের সাথে ইন্টারঅ্যাক্ট করার জন্য APIগুলিতে অ্যাক্সেস সরবরাহ করে।
আপনার ফ্লাটার প্রজেক্ট ডিরেক্টরি থেকে, কোর প্লাগইন এবং ফায়ারবেস এআই লজিক প্লাগইন ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:
flutter pub add firebase_core && flutter pub add firebase_ai
আপনার
lib/main.dart
ফাইলে, Firebase কোর প্লাগইন, Firebase AI লজিক প্লাগইন এবং আগে তৈরি করা কনফিগারেশন ফাইল আমদানি করুন: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 run
ঐক্য
ঐক্যের জন্য সমর্থন Google AI ক্লায়েন্ট SDKs থেকে উপলব্ধ ছিল না।
একতার জন্য Firebase AI লজিক SDK দিয়ে কীভাবে শুরু করবেন তা জানুন।
আপনার অ্যাপ থেকে পুরানো SDK সরান
আপনি আপনার অ্যাপ স্থানান্তর করা শেষ করার পরে (এই নির্দেশিকায় অবশিষ্ট বিভাগগুলি দেখুন), পুরানো লাইব্রেরি মুছে ফেলার বিষয়টি নিশ্চিত করুন৷
সুইফট
পুরানো লাইব্রেরি সরান:
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
ঐক্য
ঐক্যের জন্য সমর্থন Google AI ক্লায়েন্ট SDKs থেকে উপলব্ধ ছিল না।
একতার জন্য Firebase AI লজিক SDK দিয়ে কীভাবে শুরু করবেন তা জানুন।
ধাপ 3 : আপনার অ্যাপে আপনার আমদানি এবং সূচনা আপডেট করুন
আপনার আমদানি আপডেট করুন এবং আপনি কিভাবে Gemini Developer API ব্যাকএন্ড পরিষেবা শুরু করবেন এবং একটি GenerativeModel
উদাহরণ তৈরি করুন৷
সুইফট
// BEFOREimport 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
// 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.0-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.0-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.0-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.0-flash');
ঐক্য
ঐক্যের জন্য সমর্থন Google AI ক্লায়েন্ট SDKs থেকে উপলব্ধ ছিল না।
একতার জন্য Firebase AI লজিক SDK দিয়ে কীভাবে শুরু করবেন তা জানুন।
মনে রাখবেন যে আপনি যে ক্ষমতা ব্যবহার করছেন তার উপর নির্ভর করে, আপনি সবসময় একটি GenerativeModel
উদাহরণ তৈরি করতে পারবেন না ।
- একটি Imagen মডেল অ্যাক্সেস করতে, একটি
ImagenModel
উদাহরণ তৈরি করুন।
ধাপ 4 : আপনি যে বৈশিষ্ট্যগুলি ব্যবহার করেন তার উপর নির্ভর করে কোড আপডেট করুন
আপনি কোন বৈশিষ্ট্যগুলি ব্যবহার করেন তার উপর নির্ভর করে এই পদক্ষেপটি প্রয়োজনীয় পরিবর্তনগুলি বর্ণনা করে৷
Firebase AI লজিক ক্লায়েন্ট SDK কোড এক্সিকিউশন সমর্থন করে না। আপনি যদি এই বৈশিষ্ট্যটি ব্যবহার করেন তবে আপনার অ্যাপে এটিকে মিটমাট করা নিশ্চিত করুন।
Firebase AI লজিক ক্লায়েন্ট SDK-তে স্থানান্তরিত করার জন্য আপনার কোডে যে কোনও পরিবর্তন করতে হবে তার জন্য নিম্নলিখিত তালিকাগুলি পর্যালোচনা করুন৷
সমস্ত ভাষা এবং প্ল্যাটফর্মের জন্য প্রয়োজনীয়
ফাংশন কলিং
আপনি যদি এই বৈশিষ্ট্যটি প্রয়োগ করেন, তাহলে আপনি কীভাবে আপনার স্কিমা সংজ্ঞায়িত করবেন সে সম্পর্কে আপনাকে আপডেট করতে হবে। কিভাবে আপনার ফাংশন ঘোষণা লিখতে হয় তা শিখতে আমরা আপডেট ফাংশন কলিং গাইড পর্যালোচনা করার পরামর্শ দিই।responseSchema
ব্যবহার করে স্ট্রাকচার্ড আউটপুট (যেমন JSON) তৈরি করা হচ্ছে
আপনি যদি এই বৈশিষ্ট্যটি প্রয়োগ করেন, তাহলে আপনি কীভাবে আপনার স্কিমা সংজ্ঞায়িত করবেন সে সম্পর্কে আপনাকে আপডেট করতে হবে। কীভাবে JSON স্কিমা লিখতে হয় তা শিখতে আমরা নতুন কাঠামোগত আউটপুট গাইড পর্যালোচনা করার পরামর্শ দিই।টাইম আউট
- অনুরোধের ডিফল্ট সময়সীমা 180 সেকেন্ডে পরিবর্তন করা হয়েছে।
প্ল্যাটফর্ম বা ভাষার উপর ভিত্তি করে প্রয়োজনীয়
সুইফট
গণনা
স্ট্যাটিক ভেরিয়েবলের সাথে
struct
s দিয়ে বেশিরভাগenum
প্রকার প্রতিস্থাপন করা হয়েছে। এই পরিবর্তনটি পিছিয়ে-সামঞ্জস্যপূর্ণ উপায়ে API-কে বিকশিত করার জন্য আরও নমনীয়তার অনুমতি দেয়।switch
স্টেটমেন্ট ব্যবহার করার সময়, আপনাকে এখন একটিdefault:
অজানা বা আন-হ্যান্ডেল করা মানগুলিকে কভার করতে, ভবিষ্যতে SDK-তে যুক্ত করা নতুন মানগুলি সহ।BlockThreshold
গণনার নাম পরিবর্তন করেHarmBlockThreshold
রাখা হয়েছে; এই ধরনের এখন একটিstruct
।নিম্নলিখিত গণনাগুলি থেকে
unknown
এবংunspecified
কেসগুলি সরানো হয়েছে (এখনstruct
):HarmCategory
,HarmBlockThreshold
,HarmProbability
,BlockReason
, এবংFinishReason
৷পশ্চাদগামী-সামঞ্জস্যপূর্ণ উপায়ে নতুন প্রকারগুলি যোগ করার অনুমতি দেওয়ার জন্য
Part
নামের একটি প্রোটোকল দিয়ে গণনাModelContent.Part
প্রতিস্থাপন করা হয়েছে৷ এই পরিবর্তনটি বিষয়বস্তুর অংশ বিভাগে আরও বিস্তারিতভাবে বর্ণনা করা হয়েছে।
বিষয়বস্তু অংশ
ThrowingPartsRepresentable
প্রোটোকল সরানো হয়েছে, এবং মাঝে মাঝে কম্পাইলার ত্রুটিগুলি এড়াতেModelContent
জন্য ইনিশিয়ালাইজারগুলিকে সরলীকৃত করেছে৷generateContent
এ ব্যবহার করার সময় যে ছবিগুলি সঠিকভাবে এনকোড করে না সেগুলি এখনও ত্রুটি ছুঁড়বে।ModelContent.Part
কেসগুলিকেPart
প্রোটোকলের সাথে সামঞ্জস্যপূর্ণ নিম্নলিখিতstruct
টাইপ দিয়ে প্রতিস্থাপন করা হয়েছে:-
.text
থেকেTextPart
-
InlineDataPart
এ.data
-
.fileData
থেকেFileDataPart
-
.functionCall
toFunctionCallPart
-
.functionResponse
toFunctionResponsePart
-
ক্ষতি বিভাগ
-
HarmCategory
পরিবর্তন করেSafetySetting
টাইপ এ আর নেস্ট করা যাবে না। আপনি যদি এটিকেSafetySetting.HarmCategory
হিসেবে উল্লেখ করেন, তাহলে সেটিকেHarmCategory
দিয়ে প্রতিস্থাপন করা যেতে পারে।
-
নিরাপত্তা প্রতিক্রিয়া
-
SafetyFeedback
প্রকারটি সরানো হয়েছে, যেহেতু এটি কোনো প্রতিক্রিয়াতে ব্যবহার করা হয়নি।
-
উদ্ধৃতি মেটাডেটা
-
CitationMetadata
এcitationSources
সম্পত্তির নাম পরিবর্তন করেcitations
।
-
মোট বিলযোগ্য অক্ষর
-
CountTokensResponse
এtotalBillableCharacters
সম্পত্তি পরিবর্তন করা হয়েছে যাতে কোনো অক্ষর পাঠানো হয় না এমন পরিস্থিতিতে প্রতিফলিত করতে ঐচ্ছিক।
-
প্রার্থীর প্রতিক্রিয়া
- অন্যান্য প্ল্যাটফর্মের সাথে মেলে
Candidate
প্রতিCandidateResponse
নাম পরিবর্তন করা হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে মেলে
জেনারেশন কনফিগারেশন
-
GenerationConfig
এর সর্বজনীন বৈশিষ্ট্যগুলিকেinternal
পরিবর্তন করা হয়েছে। এগুলি সবই ইনিশিয়ালাইজারে কনফিগারযোগ্য থাকে।
-
Kotlin
গণনা
নিয়মিত ক্লাসের সাথে
enum
ক্লাস এবংsealed
ক্লাস প্রতিস্থাপিত। এই পরিবর্তনটি পিছিয়ে থাকা সামঞ্জস্যপূর্ণ উপায়ে API-কে বিকশিত করার জন্য আরও নমনীয়তার অনুমতি দেয়।BlockThreshold
গণনার নাম পরিবর্তন করেHarmBlockThreshold
রাখা হয়েছে।নিম্নলিখিত গণনাগুলি থেকে মানগুলি সরানো হয়েছে:
HarmBlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
, এবংFinishReason
৷
ব্লব পদ্ধতি
- পরিবর্তে
InlineData
ব্যবহার করার জন্য তাদের নামের অংশ হিসাবেBlob
অন্তর্ভুক্ত সমস্ত পদ্ধতির নাম পরিবর্তন করা হয়েছে।
- পরিবর্তে
নিরাপত্তা সেটিংস
- ক্ষেত্র
method
বাতিলযোগ্য হতে পরিবর্তন করা হয়েছে।
- ক্ষেত্র
সময়কাল ক্লাস
- Kotlin এর
Duration
ক্লাসের সমস্ত ব্যবহার মুছে ফেলা হয়েছে, এবং এটিlong
দিয়ে প্রতিস্থাপিত হয়েছে। এই পরিবর্তন জাভার সাথে আরও ভাল আন্তঃকার্যযোগ্যতা প্রদান করে।
- Kotlin এর
উদ্ধৃতি মেটাডেটা
-
CitationMetadata
তে পূর্বে ঘোষিত সমস্ত ক্ষেত্রকেCitation
নামক একটি নতুন ক্লাসে মোড়ানো। উদ্ধৃতিগুলিকেCitationMetadata
এcitations
বলা তালিকায় পাওয়া যাবে। এই পরিবর্তনটি প্ল্যাটফর্ম জুড়ে প্রকারের আরও ভাল প্রান্তিককরণের অনুমতি দেয়।
-
টোকেন গণনা করুন
- ক্ষেত্রটি
totalBillableCharacters
বাতিলযোগ্য হিসাবে পরিবর্তন করা হয়েছে।
- ক্ষেত্রটি
মোট বিলযোগ্য অক্ষর
-
CountTokensResponse
এtotalBillableCharacters
সম্পত্তি পরিবর্তন করা হয়েছে যাতে কোনো অক্ষর পাঠানো হয় না এমন পরিস্থিতিতে প্রতিফলিত করতে ঐচ্ছিক।
-
একটি মডেল ইনস্ট্যান্টিয়েটিং
- অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করতে প্যারামিটার তালিকার শেষে
requestOptions
প্যারামিটারটি সরানো হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করতে প্যারামিটার তালিকার শেষে
Java
গণনা
নিয়মিত ক্লাসের সাথে
enum
ক্লাস এবংsealed
ক্লাস প্রতিস্থাপিত। এই পরিবর্তনটি পিছিয়ে থাকা সামঞ্জস্যপূর্ণ উপায়ে API-কে বিকশিত করার জন্য আরও নমনীয়তার অনুমতি দেয়।BlockThreshold
গণনার নাম পরিবর্তন করেHarmBlockThreshold
রাখা হয়েছে।নিম্নলিখিত গণনাগুলি থেকে মানগুলি সরানো হয়েছে:
HarmBlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
, এবংFinishReason
৷
ব্লব পদ্ধতি
- পরিবর্তে
InlineData
ব্যবহার করার জন্য তাদের নামের অংশ হিসাবেBlob
অন্তর্ভুক্ত সমস্ত পদ্ধতির নাম পরিবর্তন করা হয়েছে।
- পরিবর্তে
নিরাপত্তা সেটিংস
- ক্ষেত্র
method
বাতিলযোগ্য হতে পরিবর্তন করা হয়েছে।
- ক্ষেত্র
সময়কাল ক্লাস
- Kotlin এর
Duration
ক্লাসের সমস্ত ব্যবহার মুছে ফেলা হয়েছে, এবং এটিlong
দিয়ে প্রতিস্থাপিত হয়েছে। এই পরিবর্তন জাভার সাথে আরও ভাল আন্তঃকার্যযোগ্যতা প্রদান করে।
- Kotlin এর
উদ্ধৃতি মেটাডেটা
-
CitationMetadata
তে পূর্বে ঘোষিত সমস্ত ক্ষেত্রকেCitation
নামক একটি নতুন ক্লাসে মোড়ানো। উদ্ধৃতিগুলিকেCitationMetadata
এcitations
বলা তালিকায় পাওয়া যাবে। এই পরিবর্তনটি প্ল্যাটফর্ম জুড়ে প্রকারের আরও ভাল প্রান্তিককরণের অনুমতি দেয়।
-
টোকেন গণনা করুন
- ক্ষেত্রটি
totalBillableCharacters
বাতিলযোগ্য হিসাবে পরিবর্তন করা হয়েছে।
- ক্ষেত্রটি
মোট বিলযোগ্য অক্ষর
-
CountTokensResponse
এtotalBillableCharacters
সম্পত্তি পরিবর্তন করা হয়েছে যাতে কোনো অক্ষর পাঠানো হয় না এমন পরিস্থিতিতে প্রতিফলিত করতে ঐচ্ছিক।
-
একটি মডেল ইনস্ট্যান্টিয়েটিং
- অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করতে প্যারামিটার তালিকার শেষে
requestOptions
প্যারামিটারটি সরানো হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করতে প্যারামিটার তালিকার শেষে
Web
উল্লেখ্য যে ফায়ারবেস এআই লজিক ক্লায়েন্ট SDK-এর শাখা থেকে জাভাস্ক্রিপ্টের জন্য Google AI ক্লায়েন্ট SDK-তে অনেক পরিবর্তন হয়েছে। নিম্নলিখিত তালিকায় কিছু সম্ভাব্য পরিবর্তন রয়েছে যা আপনাকে Firebase AI Logic ক্লায়েন্ট SDK-তে স্থানান্তরিত করার সময় বিবেচনা করতে হবে।
গণনা
- নিম্নলিখিত গণনাগুলি থেকে মানগুলি সরানো হয়েছে:
HarmCategory
,BlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
, এবংFinishReason
৷
- নিম্নলিখিত গণনাগুলি থেকে মানগুলি সরানো হয়েছে:
ব্লক কারণ
-
PromptFeedback
ঐচ্ছিক হতেblockReason
পরিবর্তন করা হয়েছে।
-
গ্রাউন্ডিং অনুসন্ধান করুন
- এই বৈশিষ্ট্যটির সমস্ত ব্যবহার সরানো হয়েছে, যেহেতু এটি এখনও Firebase AI লজিক SDK-তে সমর্থিত নয়৷
ত্রুটি
-
GoogleGenerativeAIError
এর সমস্ত ব্যবহার মুছে ফেলা হয়েছে, এবং ঐচ্ছিকভাবেAIError
এ সরানো হয়েছে।
-
Dart
গণনা
- নিম্নলিখিত গণনাগুলি থেকে মানগুলি সরানো হয়েছে:
HarmCategory
,HarmProbability
,BlockReason
, এবংFinishReason
।
- নিম্নলিখিত গণনাগুলি থেকে মানগুলি সরানো হয়েছে:
ডেটা অংশ
-
InlineDataPart
এDataPart
নামকরণ করা হয়েছে এবং অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করার জন্যinlineData
এstatic
data
ফাংশন।
-
অনুরোধ বিকল্প
-
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
) সরানো হয়েছে৷
- মডেল থেকে অসমর্থিত এম্বেডিং কার্যকারিতা (
ঐক্য
ঐক্যের জন্য সমর্থন Google AI ক্লায়েন্ট SDKs থেকে উপলব্ধ ছিল না।
একতার জন্য Firebase AI লজিক SDK দিয়ে কীভাবে শুরু করবেন তা জানুন।
Firebase AI লজিকের সাথে আপনার অভিজ্ঞতা সম্পর্কে মতামত দিন