Firebase AI Logic এবং এর ক্লায়েন্ট SDK গুলিকে পূর্বে " Vertex AI in Firebase " বলা হত। আমাদের সম্প্রসারিত পরিষেবা এবং বৈশিষ্ট্যগুলিকে আরও ভালভাবে প্রতিফলিত করার জন্য (উদাহরণস্বরূপ, আমরা এখন Gemini Developer API সমর্থন করি!), আমরা আমাদের পরিষেবাগুলিকে Firebase AI Logic এ পুনঃনামকরণ এবং পুনঃপ্যাকেজ করেছি ।
আপনার মোবাইল বা ওয়েব অ্যাপ থেকে সরাসরি গুগলের জেনারেটিভ এআই মডেলগুলি নিরাপদে অ্যাক্সেস করতে, আপনি এখন একটি " জেমিনি এপিআই " সরবরাহকারী বেছে নিতে পারেন - হয় দীর্ঘ-উপলব্ধ ভার্টেক্স এআই জেমিনি এপিআই অথবা এখন জেমিনি ডেভেলপার এপিআই । এর অর্থ হল আপনার কাছে এখন জেমিনি ডেভেলপার এপিআই ব্যবহার করার বিকল্প রয়েছে, যা যুক্তিসঙ্গত হার সীমা এবং কোটা সহ একটি বিনামূল্যের স্তর প্রদান করে।
ফায়ারবেস এআই লজিক এসডিকেতে স্থানান্তরের পদক্ষেপগুলির সংক্ষিপ্তসার
ধাপ ১ : আপনার অ্যাপ এবং ব্যবহারের ক্ষেত্রে সেরা "Gemini API" প্রদানকারীটি বেছে নিন।
ধাপ ২ : প্রয়োজনীয় API গুলি সক্ষম করুন।
ধাপ ৩ : আপনার অ্যাপে ব্যবহৃত লাইব্রেরি আপডেট করুন।
ধাপ ৪ : আপনার অ্যাপে ইনিশিয়ালাইজেশন আপডেট করুন।
ধাপ ৫ : আপনার ব্যবহৃত বৈশিষ্ট্যের উপর নির্ভর করে আপনার কোড আপডেট করুন।
ধাপ ১ : আপনার অ্যাপের জন্য সেরা "Gemini API" প্রদানকারীটি বেছে নিন
এই মাইগ্রেশনের মাধ্যমে, আপনার " Gemini API " প্রদানকারীর মধ্যে একটি পছন্দ থাকবে:
পুরাতন " Vertex AI in Firebase " SDK গুলি শুধুমাত্র Vertex AI Gemini API ব্যবহার করতে পারত।
নতুন Firebase AI Logic SDK গুলি আপনাকে আপনার মোবাইল বা ওয়েব অ্যাপ থেকে সরাসরি কোন " Gemini API " প্রদানকারীকে কল করতে চান তা বেছে নিতে দেয় - হয় Gemini Developer API অথবা Vertex AI Gemini API ।
দুটি জেমিনি এপিআই প্রদানকারী ব্যবহারের মধ্যে পার্থক্য পর্যালোচনা করুন, বিশেষ করে সমর্থিত বৈশিষ্ট্য, মূল্য নির্ধারণ এবং হারের সীমার ক্ষেত্রে। শুধুমাত্র একটি উদাহরণের জন্য, জেমিনি ডেভেলপার এপিআই Cloud Storage ইউআরএল ব্যবহার করে ফাইল সরবরাহ সমর্থন করে না, তবে আপনি যদি এর বিনামূল্যের স্তর এবং যুক্তিসঙ্গত কোটার সুবিধা নিতে চান তবে এটি একটি ভাল পছন্দ হতে পারে।
ধাপ ২ : প্রয়োজনীয় API গুলি সক্ষম করুন
আপনার পছন্দের " Gemini API " প্রদানকারী ব্যবহার করার জন্য আপনার Firebase প্রকল্পে সমস্ত প্রয়োজনীয় API সক্রিয় আছে কিনা তা নিশ্চিত করুন।
মনে রাখবেন যে আপনার প্রোজেক্টে একই সাথে উভয় API প্রদানকারী সক্ষম করা যেতে পারে।
Firebase কনসোলে সাইন ইন করুন, এবং তারপর আপনার Firebase প্রকল্পটি নির্বাচন করুন।
Firebase কনসোলে, ফায়ারবেস এআই লজিক পৃষ্ঠায় যান।
আপনার প্রকল্পের জন্য প্রয়োজনীয় API এবং সংস্থান সেট আপ করতে সাহায্য করার জন্য একটি নির্দেশিত কর্মপ্রবাহ চালু করতে "শুরু করুন" এ ক্লিক করুন।
Firebase AI Logic SDK-এর সাথে আপনি যে "Gemini API" প্রোভাইডারটি ব্যবহার করতে চান তা নির্বাচন করুন। আপনি চাইলে পরে যেকোনো সময় অন্য API প্রোভাইডার সেট আপ করে ব্যবহার করতে পারেন।
জেমিনি ডেভেলপার এপিআই — বিলিং ঐচ্ছিক (কোনও খরচ ছাড়াই স্পার্ক মূল্য পরিকল্পনায় উপলব্ধ)
কনসোলের ওয়ার্কফ্লো প্রয়োজনীয় API গুলি সক্ষম করবে এবং আপনার প্রকল্পে একটি জেমিনি API কী তৈরি করবে।
এই জেমিনি এপিআই কীটি আপনার অ্যাপের কোডবেসে যোগ করবেন না । আরও জানুন।ভার্টেক্স এআই জেমিনি এপিআই — বিলিং প্রয়োজন (পে-অ্যাজ-ইউ-গো ব্লেজ প্রাইসিং প্ল্যান প্রয়োজন)
কনসোলের ওয়ার্কফ্লো আপনার প্রকল্পে প্রয়োজনীয় API গুলি সক্ষম করবে।
আপনার অ্যাপে লাইব্রেরি এবং ইনিশিয়ালাইজেশন আপডেট করতে এই মাইগ্রেশন গাইডটি চালিয়ে যান।
ধাপ ৩ : আপনার অ্যাপে ব্যবহৃত লাইব্রেরি আপডেট করুন
Firebase AI Logic লাইব্রেরি ব্যবহার করতে আপনার অ্যাপের কোডবেস আপডেট করুন।
সুইফট
Xcode-এ, আপনার অ্যাপ প্রজেক্ট খোলা থাকা অবস্থায়, নিম্নলিখিত বিকল্পগুলির মধ্যে একটি ব্যবহার করে আপনার Firebase প্যাকেজটি v11.13.0 বা তার পরবর্তী সংস্করণে আপডেট করুন:
বিকল্প ১ : সকল প্যাকেজ আপডেট করুন: ফাইল > প্যাকেজ > সর্বশেষ প্যাকেজ সংস্করণে আপডেট করুন এ নেভিগেট করুন।
বিকল্প ২ : পৃথকভাবে Firebase আপডেট করুন: Package Dependencies নামক বিভাগে Firebase প্যাকেজে নেভিগেট করুন। Firebase প্যাকেজে ডান-ক্লিক করুন, এবং তারপর Update Package নির্বাচন করুন।
নিশ্চিত করুন যে Firebase প্যাকেজটি এখন v11.13.0 বা তার পরবর্তী সংস্করণ দেখায়। যদি তা না হয়, তাহলে যাচাই করুন যে আপনার নির্দিষ্ট প্যাকেজ প্রয়োজনীয়তাগুলি v11.13.0 বা তার পরবর্তী সংস্করণে আপডেট করার অনুমতি দেয়।
প্রজেক্ট এডিটরে আপনার অ্যাপের টার্গেট নির্বাচন করুন, এবং তারপর ফ্রেমওয়ার্ক, লাইব্রেরি এবং এমবেডেড কন্টেন্ট বিভাগে নেভিগেট করুন।
নতুন লাইব্রেরি যোগ করুন: + বোতামটি নির্বাচন করুন, এবং তারপর Firebase প্যাকেজ থেকে FirebaseAI যোগ করুন।
আপনার অ্যাপটি স্থানান্তরিত করার পরে (এই নির্দেশিকার বাকি অংশগুলি দেখুন), পুরানো লাইব্রেরিটি সরিয়ে ফেলতে ভুলবেন না:
FirebaseVertexAI-Preview নির্বাচন করুন, এবং তারপর — বোতাম টিপুন।
Kotlin
আপনার মডিউলে (অ্যাপ-লেভেল) গ্র্যাডেল ফাইলে (সাধারণত
<project>/<app-module>/build.gradle.ktsঅথবা<project>/<app-module>/build.gradle), পুরানো নির্ভরতা (প্রযোজ্য হিসাবে) নিম্নলিখিতগুলি দিয়ে প্রতিস্থাপন করুন।মনে রাখবেন যে পুরানো নির্ভরতা মুছে ফেলার আগে আপনার অ্যাপের কোডবেস (এই নির্দেশিকার বাকি অংশগুলি দেখুন) স্থানান্তর করা সহজ হতে পারে।
// BEFORE dependencies {
implementation("com.google.firebase:firebase-vertexai:16.0.0-betaXX")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.5.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-ai লাইব্রেরির জন্য নির্ভরতা যোগ করুন এবং Android Studio দ্বারা প্রস্তাবিত সর্বশেষ সংস্করণটি গ্রহণ করুন।
Java
আপনার মডিউলে (অ্যাপ-লেভেল) গ্র্যাডেল ফাইলে (সাধারণত
<project>/<app-module>/build.gradle.ktsঅথবা<project>/<app-module>/build.gradle), পুরানো নির্ভরতা (প্রযোজ্য হিসাবে) নিম্নলিখিতগুলি দিয়ে প্রতিস্থাপন করুন।মনে রাখবেন যে পুরানো নির্ভরতা মুছে ফেলার আগে আপনার অ্যাপের কোডবেস (এই নির্দেশিকার বাকি অংশগুলি দেখুন) স্থানান্তর করা সহজ হতে পারে।
// BEFORE dependencies {
implementation("com.google.firebase:firebase-vertexai:16.0.0-betaXX")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.5.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-ai লাইব্রেরির জন্য নির্ভরতা যোগ করুন এবং Android Studio দ্বারা প্রস্তাবিত সর্বশেষ সংস্করণটি গ্রহণ করুন।
Web
npm ব্যবহার করে ওয়েবের জন্য Firebase JS SDK-এর সর্বশেষ সংস্করণটি পান:
npm i firebase@latest
অথবা
yarn add firebase@latest
আপনি যেখানেই লাইব্রেরি আমদানি করেছেন, সেখানে আপনার আমদানি বিবৃতি আপডেট করুন যাতে
firebase/aiব্যবহার করা যায়।মনে রাখবেন যে পুরানো আমদানি মুছে ফেলার আগে আপনার অ্যাপের কোডবেস (এই নির্দেশিকার বাকি অংশগুলি দেখুন) স্থানান্তর করা সহজ হতে পারে।
// BEFORE import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai-preview";// AFTER import { initializeApp } from "firebase/app"; import { getAI, getGenerativeModel } from "firebase/ai";
Dart
আপনার Flutter প্রজেক্ট ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালিয়ে আপনার
pubspec.yamlফাইলেfirebase_aiপ্যাকেজটি ব্যবহারের জন্য আপডেট করুন:flutter pub add firebase_ai
আপনার ফ্লটার প্রকল্পটি পুনর্নির্মাণ করুন:
flutter run
আপনার অ্যাপটি স্থানান্তরিত করার পরে (এই নির্দেশিকার বাকি অংশগুলি দেখুন), পুরানো প্যাকেজটি মুছে ফেলতে ভুলবেন না:
flutter pub remove firebase_vertexai
ঐক্য
" Firebase-এ Vertex AI " থেকে ইউনিটির জন্য সমর্থন পাওয়া যায়নি।
ইউনিটির জন্য ফায়ারবেস এআই লজিক এসডিকে কীভাবে শুরু করবেন তা শিখুন।
ধাপ ৪ : আপনার অ্যাপে ইনিশিয়ালাইজেশন আপডেট করুন
এই পৃষ্ঠায় প্রোভাইডার-নির্দিষ্ট কন্টেন্ট এবং কোড দেখতে আপনার জেমিনি API প্রোভাইডারে ক্লিক করুন। |
আপনার নির্বাচিত API প্রদানকারীর জন্য পরিষেবাটি কীভাবে শুরু করবেন তা আপডেট করুন এবং একটি GenerativeModel ইনস্ট্যান্স তৈরি করুন।
সুইফট
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
// 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
// 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
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
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');
ঐক্য
" Firebase-এ Vertex AI " থেকে ইউনিটির জন্য সমর্থন পাওয়া যায়নি।
ইউনিটির জন্য ফায়ারবেস এআই লজিক এসডিকে কীভাবে শুরু করবেন তা শিখুন।
মনে রাখবেন যে আপনি যে ক্ষমতা ব্যবহার করছেন তার উপর নির্ভর করে, আপনি সর্বদা একটি GenerativeModel ইনস্ট্যান্স তৈরি নাও করতে পারেন ।
- একটি Imagen মডেল অ্যাক্সেস করতে, একটি
ImagenModelইনস্ট্যান্স তৈরি করুন।
ধাপ ৫ : আপনার ব্যবহৃত বৈশিষ্ট্যের উপর নির্ভর করে আপনার কোড আপডেট করুন।
এই ধাপে আপনি কোন বৈশিষ্ট্যগুলি ব্যবহার করেন তার উপর নির্ভর করে প্রয়োজনীয় পরিবর্তনগুলি বর্ণনা করা হয়েছে।
যদি আপনি Cloud Storage ইউআরএল ব্যবহার করেন এবং এই মাইগ্রেশনে জেমিনি ডেভেলপার এপিআই ব্যবহার করার জন্য সোয়াপ করেন, তাহলে আপনাকে ইনলাইন ডেটা হিসেবে ফাইল অন্তর্ভুক্ত করার জন্য আপনার মাল্টিমোডাল অনুরোধগুলি আপডেট করতে হবে (অথবা ভিডিওর জন্য ইউটিউব ইউআরএল ব্যবহার করতে হবে)।
" Vertex AI in Firebase " SDK-এর GA সংস্করণের জন্য বেশ কিছু পরিবর্তন আনা হয়েছে। Firebase AI Logic SDK ব্যবহার করার জন্যও এই একই পরিবর্তনগুলি প্রয়োজন। Firebase AI Logic SDK ব্যবহার করার জন্য আপনার কোডে যে কোনও পরিবর্তন করার প্রয়োজন হতে পারে তার জন্য নিম্নলিখিত তালিকাগুলি পর্যালোচনা করুন।
সকল ভাষা এবং প্ল্যাটফর্মের জন্য প্রয়োজনীয়
ফাংশন কলিং
যদি আপনি GA এর আগে এই বৈশিষ্ট্যটি বাস্তবায়ন করে থাকেন, তাহলে আপনার স্কিমা কীভাবে সংজ্ঞায়িত করবেন তা আপডেট করতে হবে। আপনার ফাংশন ঘোষণা কীভাবে লিখতে হয় তা শিখতে আমরা আপডেট করা ফাংশন কলিং গাইডটি পর্যালোচনা করার পরামর্শ দিচ্ছি।responseSchemaব্যবহার করে স্ট্রাকচার্ড আউটপুট (যেমন JSON) তৈরি করা হচ্ছে
যদি আপনি GA এর আগে এই বৈশিষ্ট্যটি বাস্তবায়ন করে থাকেন, তাহলে আপনার স্কিমা কীভাবে সংজ্ঞায়িত করবেন তা আপডেট করতে হবে। 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প্যারামিটারটিকে প্যারামিটার তালিকার শেষে সরানো হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করার জন্য
Live API
enum ক্লাসের জন্য
UNSPECIFIEDমান সরানো হয়েছেResponseModality। পরিবর্তেnullব্যবহার করুন।LiveGenerationConfig.setResponseModalitiesনাম পরিবর্তন করেLiveGenerationConfig.setResponseModalityকরা হয়েছে।LiveContentResponse.Statusক্লাসটি সরিয়ে ফেলা হয়েছে, এবং এর পরিবর্তেLiveContentResponseএর বৈশিষ্ট্য হিসাবে স্ট্যাটাস ক্ষেত্রগুলিকে নেস্ট করা হয়েছে।LiveContentResponseক্লাসটি সরিয়ে ফেলা হয়েছে, এবং এর পরিবর্তেLiveServerMessageএর সাবক্লাসগুলি প্রদান করা হয়েছে যা মডেলের প্রতিক্রিয়াগুলির সাথে মেলে।ListenableFuture<LiveSessionFutures>এর পরিবর্তেListenableFuture<LiveSession>ফেরত দিতেLiveModelFutures.connectপরিবর্তন করা হয়েছে।
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প্যারামিটারটিকে প্যারামিটার তালিকার শেষে সরানো হয়েছে।
- অন্যান্য প্ল্যাটফর্মের সাথে সারিবদ্ধ করার জন্য
Live API
enum ক্লাসের জন্য
UNSPECIFIEDমান সরানো হয়েছেResponseModality। পরিবর্তেnullব্যবহার করুন।LiveGenerationConfig.setResponseModalitiesনাম পরিবর্তন করেLiveGenerationConfig.setResponseModalityকরা হয়েছে।LiveContentResponse.Statusক্লাসটি সরিয়ে ফেলা হয়েছে, এবং এর পরিবর্তেLiveContentResponseএর বৈশিষ্ট্য হিসাবে স্ট্যাটাস ক্ষেত্রগুলিকে নেস্ট করা হয়েছে।LiveContentResponseক্লাসটি সরিয়ে ফেলা হয়েছে, এবং এর পরিবর্তেLiveServerMessageএর সাবক্লাসগুলি প্রদান করা হয়েছে যা মডেলের প্রতিক্রিয়াগুলির সাথে মেলে।ListenableFuture<LiveSessionFutures>এর পরিবর্তেListenableFuture<LiveSession>ফেরত দিতেLiveModelFutures.connectপরিবর্তন করা হয়েছে।
বিভিন্ন জাভা বিল্ডার পদ্ধতি পরিবর্তন করে এখন
voidএর পরিবর্তে তাদের ক্লাসের ইনস্ট্যান্স সঠিকভাবে ফেরত দেওয়া হয়েছে।
Web
গণনা
- নিম্নলিখিত গণনাগুলি থেকে মানগুলি সরানো হয়েছে:
HarmCategory,BlockThreshold,HarmProbability,HarmSeverity,BlockReason, এবংFinishReason।
- নিম্নলিখিত গণনাগুলি থেকে মানগুলি সরানো হয়েছে:
ব্লক করার কারণ
-
PromptFeedbackএblockReasonঐচ্ছিক করা হয়েছে।
-
পরিবর্তনগুলি শুধুমাত্র তখনই প্রয়োজন যখন আপনি জেমিনি ডেভেলপার API ব্যবহার শুরু করেন ( Vertex AI জেমিনি API এর পরিবর্তে):
নিরাপত্তা সেটিংস
- অসমর্থিত
SafetySetting.methodএর ব্যবহারগুলি সরানো হয়েছে।
- অসমর্থিত
ইনলাইন ডেটা
- অসমর্থিত
InlineDataPart.videoMetadataএর ব্যবহারগুলি সরানো হয়েছে।
- অসমর্থিত
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-এ Vertex AI " থেকে ইউনিটির জন্য সমর্থন পাওয়া যায়নি।
ইউনিটির জন্য ফায়ারবেস এআই লজিক এসডিকে কীভাবে শুরু করবেন তা শিখুন।
স্থানান্তরের সাথে সম্পর্কিত সম্ভাব্য ত্রুটি
Firebase AI Logic এর GA সংস্করণ ব্যবহার করার জন্য আপনি যখন মাইগ্রেট করছেন, তখন এই মাইগ্রেশন গাইডে বর্ণিত সমস্ত প্রয়োজনীয় পরিবর্তনগুলি সম্পন্ন না করলে আপনি ত্রুটির সম্মুখীন হতে পারেন।
403 ত্রুটি: Requests to this API firebasevertexai.googleapis.com ... are blocked.
যদি আপনি একটি 403 ত্রুটি পান যেখানে লেখা থাকে যে Requests to this API firebasevertexai.googleapis.com ... are blocked. , তাহলে সাধারণত এর অর্থ হল আপনার Firebase কনফিগারেশন ফাইল বা অবজেক্টের Firebase API কী-এর অ্যালাউলিস্টে আপনি যে পণ্যটি ব্যবহার করার চেষ্টা করছেন তার জন্য প্রয়োজনীয় API নেই।
নিশ্চিত করুন যে আপনার অ্যাপে ব্যবহৃত Firebase API কীতে "API সীমাবদ্ধতা" allowlist-এ অন্তর্ভুক্ত সমস্ত প্রয়োজনীয় API রয়েছে । Firebase AI Logic-এর জন্য, আপনার Firebase API কী-এর allowlist-এ কমপক্ষে Firebase AI Logic API থাকা প্রয়োজন। Firebase কনসোলে প্রয়োজনীয় API গুলি সক্রিয় করার সময় এই APIটি স্বয়ংক্রিয়ভাবে আপনার API কী-এর allowlist-এ যুক্ত হওয়া উচিত ছিল।
আপনি Google Cloud কনসোলের APIs & Services > Credentials প্যানেলে আপনার সমস্ত API কী দেখতে পারবেন।
Firebase AI Logic এর সাথে আপনার অভিজ্ঞতা সম্পর্কে মতামত দিন।