Firebase AI Logic और इसके क्लाइंट SDK को पहले "Vertex AI in Firebase" कहा जाता था. हमारी सेवाओं और सुविधाओं के बारे में बेहतर तरीके से जानकारी देने के लिए, हमने अपनी सेवाओं का नाम बदलकर Firebase AI Logic कर दिया है और उन्हें फिर से पैकेज किया है. उदाहरण के लिए, अब हम Gemini Developer API के साथ काम करते हैं!
अपने मोबाइल या वेब ऐप्लिकेशन से सीधे तौर पर Google के जनरेटिव एआई मॉडल को सुरक्षित तरीके से ऐक्सेस करने के लिए, अब "Gemini API" सेवा देने वाली कंपनी चुनी जा सकती है. इसके लिए, Vertex AI Gemini API या Gemini Developer API में से किसी एक को चुना जा सकता है. Vertex AI Gemini API, लंबे समय से उपलब्ध है. इसका मतलब है कि अब आपके पास Gemini Developer API का इस्तेमाल करने का विकल्प है. इसमें बिना शुल्क वाला टियर उपलब्ध है. इसमें दर की सीमाएं और कोटा सही तरीके से तय किए गए हैं.
Firebase AI Logic SDK पर माइग्रेट करने के तरीके की खास जानकारी
पहला चरण: अपने ऐप्लिकेशन और इस्तेमाल के उदाहरणों के लिए, "Gemini API" की सबसे अच्छी सेवा देने वाली कंपनी चुनें.
दूसरा चरण: ज़रूरी एपीआई चालू करें.
तीसरा चरण: अपने ऐप्लिकेशन में इस्तेमाल की गई लाइब्रेरी को अपडेट करें.
चौथा चरण: अपने ऐप्लिकेशन में, शुरू करने की प्रोसेस को अपडेट करें.
पांचवां चरण: इस्तेमाल की जा रही सुविधाओं के हिसाब से, अपने कोड को अपडेट करें.
पहला चरण: अपने ऐप्लिकेशन के लिए, "Gemini API" की सबसे अच्छी सेवा देने वाली कंपनी चुनें
इस माइग्रेशन के बाद, आपके पास "Gemini API" सेवा देने वाली कंपनी चुनने का विकल्प होगा:
पुराने "Vertex AI in Firebase" एसडीके, सिर्फ़ Vertex AI Gemini API का इस्तेमाल कर सकते थे.
नए Firebase AI Logic SDK टूल की मदद से, यह चुना जा सकता है कि आपको अपने मोबाइल या वेब ऐप्लिकेशन से सीधे किस "Gemini API" सेवा देने वाली कंपनी को कॉल करना है. इसके लिए, Gemini Developer API या Vertex AI Gemini API में से किसी एक को चुना जा सकता है.
दोनों Gemini API प्रोवाइडर के इस्तेमाल के बीच के अंतर की समीक्षा करें. खास तौर पर, इन अंतरों को इन बातों के हिसाब से देखें: काम करने वाली सुविधाएं, कीमत, और दर की सीमाएं. उदाहरण के लिए, Gemini Developer API, Cloud Storage यूआरएल का इस्तेमाल करके फ़ाइलें उपलब्ध कराने की सुविधा नहीं देता. हालांकि, अगर आपको बिना किसी शुल्क के इसके टियर और उचित कोटे का फ़ायदा लेना है, तो यह एक अच्छा विकल्प हो सकता है.
दूसरा चरण: ज़रूरी एपीआई चालू करना
पक्का करें कि आपने "Gemini API" सेवा देने वाली कंपनी का इस्तेमाल करने के लिए, अपने Firebase प्रोजेक्ट में सभी ज़रूरी एपीआई चालू किए हों.
ध्यान दें कि आपके प्रोजेक्ट में, एपीआई उपलब्ध कराने वाली दोनों कंपनियों की सेवाएं एक साथ चालू की जा सकती हैं.
Firebase कंसोल में साइन इन करें. इसके बाद, अपना Firebase प्रोजेक्ट चुनें.
Firebase कंसोल में, Firebase AI Logic पेज पर जाएं.
शुरू करें पर क्लिक करके, निर्देशों के साथ वर्कफ़्लो लॉन्च करें. इससे आपको अपने प्रोजेक्ट के लिए ज़रूरी एपीआई और संसाधन सेट अप करने में मदद मिलेगी.
सेवा देने वाली उस कंपनी को चुनें जिसका "Gemini API" आपको Firebase AI Logic SDK के साथ इस्तेमाल करना है. अगर आपको लगता है कि आपको किसी दूसरे एपीआई प्रोवाइडर का इस्तेमाल करना है, तो उसे बाद में भी सेट अप किया जा सकता है.
Gemini Developer API — बिलिंग ज़रूरी नहीं है (यह Spark के नो-कॉस्ट प्राइसिंग प्लान में उपलब्ध है)
कंसोल का वर्कफ़्लो, ज़रूरी एपीआई चालू करेगा और आपके प्रोजेक्ट में Gemini एपीआई पासकोड बनाएगा.
इस Gemini एपीआई कुंजी को अपने ऐप्लिकेशन के कोडबेस में न जोड़ें. ज़्यादा जानें.Vertex AI Gemini API — बिलिंग ज़रूरी है (इसके लिए, इस्तेमाल के हिसाब से पैसे चुकाने वाला Blaze प्लान ज़रूरी है)
कंसोल का वर्कफ़्लो, आपके प्रोजेक्ट में ज़रूरी एपीआई चालू करेगा.
अपने ऐप्लिकेशन में लाइब्रेरी और शुरू करने की प्रोसेस को अपडेट करने के लिए, इस माइग्रेशन गाइड को पढ़ें.
तीसरा चरण: अपने ऐप्लिकेशन में इस्तेमाल की गई लाइब्रेरी को अपडेट करें
Firebase AI Logic लाइब्रेरी का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन के कोडबेस को अपडेट करें.
Swift
Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलें. इसके बाद, Firebase पैकेज को v11.13.0 या इसके बाद के वर्शन पर अपडेट करें. इसके लिए, इनमें से कोई एक विकल्प इस्तेमाल करें:
पहला विकल्प: सभी पैकेज अपडेट करें: फ़ाइल > पैकेज > पैकेज के नए वर्शन पर अपडेट करें पर जाएं.
दूसरा विकल्प: Firebase को अलग-अलग अपडेट करें: पैकेज डिपेंडेंसी सेक्शन में जाकर, Firebase पैकेज पर जाएं. Firebase पैकेज पर राइट क्लिक करें. इसके बाद, पैकेज अपडेट करें को चुनें.
पक्का करें कि Firebase पैकेज में अब v11.13.0 या उसके बाद का वर्शन दिख रहा हो. अगर ऐसा नहीं होता है, तो पुष्टि करें कि आपने पैकेज से जुड़ी ज़रूरी शर्तों में v11.13.0 या उसके बाद के वर्शन पर अपडेट करने की अनुमति दी हो.
प्रोजेक्ट एडिटर में, अपने ऐप्लिकेशन का टारगेट चुनें. इसके बाद, फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किया गया कॉन्टेंट सेक्शन पर जाएं.
नई लाइब्रेरी जोड़ें: + बटन चुनें. इसके बाद, Firebase पैकेज से FirebaseAI जोड़ें.
अपने ऐप्लिकेशन को माइग्रेट करने के बाद (इस गाइड के बाकी सेक्शन देखें), पक्का करें कि आपने पुरानी लाइब्रेरी हटा दी हो:
FirebaseVertexAI-Preview को चुनें. इसके बाद, — बटन दबाएं.
Kotlin
अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) Gradle फ़ाइल (आम तौर पर
<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.0.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") }अपने Android प्रोजेक्ट को Gradle फ़ाइलों के साथ सिंक करें.
ध्यान दें कि अगर आपको Firebase Android BoM का इस्तेमाल नहीं करना है, तो सिर्फ़ firebase-ai
लाइब्रेरी के लिए डिपेंडेंसी जोड़ें. साथ ही, Android Studio की ओर से सुझाए गए नए वर्शन को स्वीकार करें.
Java
अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) Gradle फ़ाइल (आम तौर पर
<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.0.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") }अपने Android प्रोजेक्ट को Gradle फ़ाइलों के साथ सिंक करें.
ध्यान दें कि अगर आपको 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
अपनी
pubspec.yaml
फ़ाइल मेंfirebase_ai
पैकेज का इस्तेमाल करने के लिए, इसे अपडेट करें. इसके लिए, अपने फ़्लटर प्रोजेक्ट डायरेक्ट्री से यह कमांड चलाएं:flutter pub add firebase_ai
अपने Flutter प्रोजेक्ट को फिर से बनाएं:
flutter run
ऐप्लिकेशन को माइग्रेट करने के बाद (इस गाइड के बाकी सेक्शन देखें), पक्का करें कि आपने पुराना पैकेज मिटा दिया हो:
flutter pub remove firebase_vertexai
Unity
"Vertex AI in Firebase" से Unity के लिए सहायता उपलब्ध नहीं थी.
Unity के लिए Firebase AI Logic SDK टूल का इस्तेमाल शुरू करने का तरीका जानें.
चौथा चरण: अपने ऐप्लिकेशन में, SDK को शुरू करने की प्रोसेस अपडेट करना
इस पेज पर, Gemini API उपलब्ध कराने वाली कंपनी के हिसाब से कॉन्टेंट और कोड देखने के लिए, उस कंपनी पर क्लिक करें. |
चुने गए एपीआई उपलब्ध कराने वाली कंपनी के लिए, सेवा को शुरू करने के तरीके को अपडेट करें. साथ ही, GenerativeModel
इंस्टेंस बनाएं.
Swift
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.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');
Unity
"Vertex AI in Firebase" से Unity के लिए सहायता उपलब्ध नहीं थी.
Unity के लिए Firebase AI Logic SDK टूल का इस्तेमाल शुरू करने का तरीका जानें.
ध्यान दें कि इस्तेमाल की जा रही सुविधा के आधार पर, ऐसा हो सकता है कि आपको हमेशा GenerativeModel
इंस्टेंस बनाने की ज़रूरत न पड़े.
- Imagen मॉडल को ऐक्सेस करने के लिए,
ImagenModel
इंस्टेंस बनाएं.
पांचवां चरण: इस्तेमाल की जाने वाली सुविधाओं के हिसाब से कोड अपडेट करना
इस चरण में, उन बदलावों के बारे में बताया गया है जो आपकी ओर से इस्तेमाल की जाने वाली सुविधाओं के आधार पर ज़रूरी हो सकते हैं.
अगर आपने Cloud Storage यूआरएल का इस्तेमाल किया है और इस माइग्रेशन में Gemini Developer API का इस्तेमाल करने के लिए स्विच किया है, तो आपको मल्टीमॉडल अनुरोधों को अपडेट करना होगा, ताकि फ़ाइलों को इनलाइन डेटा के तौर पर शामिल किया जा सके. इसके अलावा, वीडियो के लिए YouTube यूआरएल का इस्तेमाल किया जा सकता है.
"Vertex AI in Firebase" SDK टूल के GA वर्शन में कई बदलाव किए गए हैं. Firebase AI Logic SDK का इस्तेमाल करने के लिए, ये बदलाव ज़रूरी हैं. Firebase AI Logic SDK टूल को शामिल करने के लिए, अपने कोड में किए जाने वाले बदलावों के बारे में जानने के लिए, यहां दी गई सूचियां देखें.
सभी भाषाओं और प्लैटफ़ॉर्म के लिए ज़रूरी है
फ़ंक्शन कॉलिंग
अगर आपने GA से पहले इस सुविधा को लागू किया था, तो आपको अपने स्कीमा को तय करने के तरीके में बदलाव करने होंगे. हमारा सुझाव है कि फ़ंक्शन के एलान लिखने का तरीका जानने के लिए, अपडेट की गई फ़ंक्शन कॉल करने से जुड़ी गाइड पढ़ें.responseSchema
का इस्तेमाल करके, स्ट्रक्चर्ड आउटपुट (जैसे कि JSON) जनरेट करना अगर आपने इस सुविधा को GA से पहले लागू किया था, तो आपको अपने स्कीमा को अपडेट करना होगा. हमारा सुझाव है कि JSON स्कीमा लिखने का तरीका जानने के लिए, नई स्ट्रक्चर्ड आउटपुट गाइड पढ़ें.टाइम आउट
- अनुरोधों के लिए डिफ़ॉल्ट टाइम आउट को 180 सेकंड पर सेट किया गया है.
प्लैटफ़ॉर्म या भाषा के हिसाब से ज़रूरी है
Swift
गिनती
ज़्यादातर
enum
टाइप को स्टैटिक वैरिएबल वालेstruct
से बदल दिया गया है. इस बदलाव से, एपीआई को बैकवर्ड-कंपैटिबल तरीके से डेवलप करने में आसानी होगी.switch
स्टेटमेंट का इस्तेमाल करते समय, अब आपकोdefault:
केस शामिल करना होगा. इससे, ऐसी वैल्यू को कवर किया जा सकेगा जिनके बारे में जानकारी नहीं है या जिन्हें हैंडल नहीं किया गया है. इनमें ऐसी नई वैल्यू भी शामिल हैं जिन्हें आने वाले समय में SDK में जोड़ा जाएगा.BlockThreshold
इन्यूमरेशन का नाम बदलकरHarmBlockThreshold
कर दिया गया है. यह टाइप अबstruct
है.नीचे दिए गए एन्यूमरेशन (अब
struct
) सेunknown
औरunspecified
के मामले हटा दिए गए हैं:HarmCategory
,HarmBlockThreshold
,HarmProbability
,BlockReason
, औरFinishReason
.ModelContent.Part
इन्यूमरेशन कोPart
नाम के प्रोटोकॉल से बदल दिया गया है, ताकि नए टाइप को बैकवर्ड-कंपैटिबल तरीके से जोड़ा जा सके. इस बदलाव के बारे में ज़्यादा जानकारी, कॉन्टेंट के हिस्से सेक्शन में दी गई है.
कॉन्टेंट के हिस्से
ThrowingPartsRepresentable
प्रोटोकॉल को हटा दिया गया है. साथ ही, कंपाइलर से जुड़ी कभी-कभी होने वाली गड़बड़ियों से बचने के लिए,ModelContent
के इनिशियलाइज़र को आसान बना दिया गया है. अगर इमेज को सही तरीके से कोड नहीं किया गया है, तोgenerateContent
में इस्तेमाल करते समय अब भी गड़बड़ियां दिखेंगी.ModelContent.Part
मामलों कोstruct
के इन टाइप से बदल दिया गया है. येPart
प्रोटोकॉल के मुताबिक हैं:.text
सेTextPart
.data
सेInlineDataPart
.fileData
सेFileDataPart
.functionCall
सेFunctionCallPart
.functionResponse
सेFunctionResponsePart
नुकसान की कैटगरी
HarmCategory
कोSafetySetting
टाइप में नेस्ट नहीं किया गया है. अगर इसेSafetySetting.HarmCategory
के तौर पर दिखाया जा रहा है, तो इसेHarmCategory
से बदला जा सकता है.
सुरक्षा से जुड़ा सुझाव/राय दें या शिकायत करें
SafetyFeedback
टाइप को हटा दिया गया है, क्योंकि इसका इस्तेमाल किसी भी जवाब में नहीं किया गया था.
उद्धरण का मेटाडेटा
citationSources
प्रॉपर्टी का नाम बदलकरCitationMetadata
मेंcitations
कर दिया गया है.
बिल किए जा सकने वाले कुल वर्ण
CountTokensResponse
मेंtotalBillableCharacters
प्रॉपर्टी को वैकल्पिक के तौर पर बदला गया है, ताकि उन स्थितियों को दिखाया जा सके जहां कोई वर्ण नहीं भेजा जाता है.
उम्मीदवार का जवाब
- अन्य प्लैटफ़ॉर्म से मैच करने के लिए,
CandidateResponse
का नाम बदलकरCandidate
कर दिया गया है.
- अन्य प्लैटफ़ॉर्म से मैच करने के लिए,
जनरेशन कॉन्फ़िगरेशन
GenerationConfig
की सार्वजनिक प्रॉपर्टी कोinternal
में बदल दिया गया है. इन सभी को इनिशियलाइज़र में कॉन्फ़िगर किया जा सकता है.
Kotlin
गिनती
enum
क्लास औरsealed
क्लास को सामान्य क्लास से बदल दिया गया है. इस बदलाव से, एपीआई को पुराने सिस्टम के साथ काम करने की सुविधा के साथ बेहतर बनाने में मदद मिलती है.BlockThreshold
इन्यूमरेशन का नाम बदलकरHarmBlockThreshold
कर दिया गया है.इन इन्यूमेशन से वैल्यू हटा दी गई हैं:
HarmBlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
, औरFinishReason
.
Blob के तरीके
Blob
को अपने नाम के हिस्से के तौर पर शामिल करने वाले सभी तरीकों का नाम बदलकर,InlineData
का इस्तेमाल किया गया है.
सुरक्षा सेटिंग
- फ़ील्ड
method
को नल वैल्यू स्वीकार करने वाला फ़ील्ड बनाया गया.
- फ़ील्ड
अवधि क्लास
- Kotlin की
Duration
क्लास के सभी इस्तेमाल हटा दिए गए हैं और इसेlong
से बदल दिया गया है. इस बदलाव से, Java के साथ बेहतर तरीके से काम किया जा सकेगा.
- Kotlin की
उद्धरण का मेटाडेटा
CitationMetadata
में पहले से तय किए गए सभी फ़ील्ड कोCitation
नाम की नई क्लास में रैप किया गया है. उद्धरणों कोCitationMetadata
मेंcitations
नाम की सूची में देखा जा सकता है. इस बदलाव से, अलग-अलग प्लैटफ़ॉर्म पर टाइप को बेहतर तरीके से अलाइन किया जा सकेगा.
टोकन की संख्या गिनना
- फ़ील्ड
totalBillableCharacters
को नल वैल्यू स्वीकार करने वाला फ़ील्ड बनाया गया.
- फ़ील्ड
बिल किए जा सकने वाले कुल वर्ण
CountTokensResponse
मेंtotalBillableCharacters
प्रॉपर्टी को वैकल्पिक के तौर पर बदला गया है, ताकि उन स्थितियों को दिखाया जा सके जहां कोई वर्ण नहीं भेजा जाता है.
मॉडल को इंस्टैंशिएट करना
requestOptions
पैरामीटर को पैरामीटर की सूची के आखिर में ले जाया गया है, ताकि यह अन्य प्लैटफ़ॉर्म के साथ अलाइन हो सके.
Live API
एनम क्लास
ResponseModality
के लिए,UNSPECIFIED
वैल्यू हटाई गई. इसके बजाय,null
का इस्तेमाल करें.LiveGenerationConfig.setResponseModalities
का नाम बदलकरLiveGenerationConfig.setResponseModality
किया गया.LiveContentResponse.Status
क्लास को हटा दिया गया है. इसके बजाय, स्टेटस फ़ील्ड कोLiveContentResponse
की प्रॉपर्टी के तौर पर नेस्ट किया गया है.LiveContentResponse
क्लास को हटा दिया गया है. इसके बजाय,LiveServerMessage
की ऐसी सबक्लास दी गई हैं जो मॉडल के जवाबों से मेल खाती हैं.LiveModelFutures.connect
को बदलकरListenableFuture<LiveSessionFutures>
कर दिया गया है, ताकिListenableFuture<LiveSession>
के बजायListenableFuture<LiveSessionFutures>
दिखे.
Java
गिनती
enum
क्लास औरsealed
क्लास को सामान्य क्लास से बदल दिया गया है. इस बदलाव से, एपीआई को पुराने सिस्टम के साथ काम करने की सुविधा के साथ बेहतर बनाने में मदद मिलती है.BlockThreshold
इन्यूमरेशन का नाम बदलकरHarmBlockThreshold
कर दिया गया है.इन इन्यूमेशन से वैल्यू हटा दी गई हैं:
HarmBlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
, औरFinishReason
.
Blob के तरीके
Blob
को अपने नाम के हिस्से के तौर पर शामिल करने वाले सभी तरीकों का नाम बदलकर,InlineData
का इस्तेमाल किया गया है.
सुरक्षा सेटिंग
- फ़ील्ड
method
को नल वैल्यू स्वीकार करने वाला फ़ील्ड बनाया गया.
- फ़ील्ड
अवधि क्लास
- Kotlin की
Duration
क्लास के सभी इस्तेमाल हटा दिए गए हैं और इसेlong
से बदल दिया गया है. इस बदलाव से, Java के साथ बेहतर तरीके से काम किया जा सकेगा.
- Kotlin की
उद्धरण का मेटाडेटा
CitationMetadata
में पहले से तय किए गए सभी फ़ील्ड कोCitation
नाम की नई क्लास में रैप किया गया है. उद्धरणों कोCitationMetadata
मेंcitations
नाम की सूची में देखा जा सकता है. इस बदलाव से, अलग-अलग प्लैटफ़ॉर्म पर टाइप को बेहतर तरीके से अलाइन किया जा सकेगा.
टोकन की संख्या गिनना
- फ़ील्ड
totalBillableCharacters
को नल वैल्यू स्वीकार करने वाला फ़ील्ड बनाया गया.
- फ़ील्ड
बिल किए जा सकने वाले कुल वर्ण
CountTokensResponse
मेंtotalBillableCharacters
प्रॉपर्टी को वैकल्पिक के तौर पर बदला गया है, ताकि उन स्थितियों को दिखाया जा सके जहां कोई वर्ण नहीं भेजा जाता है.
मॉडल को इंस्टैंशिएट करना
requestOptions
पैरामीटर को पैरामीटर की सूची के आखिर में ले जाया गया है, ताकि यह अन्य प्लैटफ़ॉर्म के साथ अलाइन हो सके.
Live API
एनम क्लास
ResponseModality
के लिए,UNSPECIFIED
वैल्यू हटाई गई. इसके बजाय,null
का इस्तेमाल करें.LiveGenerationConfig.setResponseModalities
का नाम बदलकरLiveGenerationConfig.setResponseModality
किया गया.LiveContentResponse.Status
क्लास को हटा दिया गया है. इसके बजाय, स्टेटस फ़ील्ड कोLiveContentResponse
की प्रॉपर्टी के तौर पर नेस्ट किया गया है.LiveContentResponse
क्लास को हटा दिया गया है. इसके बजाय,LiveServerMessage
की ऐसी सबक्लास दी गई हैं जो मॉडल के जवाबों से मेल खाती हैं.LiveModelFutures.connect
को बदलकरListenableFuture<LiveSessionFutures>
कर दिया गया है, ताकिListenableFuture<LiveSession>
के बजायListenableFuture<LiveSessionFutures>
दिखे.
Java बिल्डर के अलग-अलग तरीकों में बदलाव किया गया है. अब ये तरीके,
void
के बजाय अपनी क्लास का इंस्टेंस सही तरीके से दिखाते हैं.
Web
गिनती
- इन इन्यूमेशन से वैल्यू हटा दी गई हैं:
HarmCategory
,BlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
, औरFinishReason
.
- इन इन्यूमेशन से वैल्यू हटा दी गई हैं:
ब्लॉक करने की वजह
PromptFeedback
मेंblockReason
को वैकल्पिक फ़ील्ड के तौर पर सेट किया गया.
सिर्फ़ तब बदलाव करने होंगे, जब Vertex AI Gemini API के बजाय Gemini Developer API का इस्तेमाल किया जा रहा हो:
सुरक्षा सेटिंग
SafetySetting.method
के ऐसे इस्तेमाल को हटाया गया है जो काम नहीं करता.
इनलाइन डेटा
InlineDataPart.videoMetadata
के ऐसे इस्तेमाल को हटाया गया है जो काम नहीं करता.
Dart
गिनती
- इन इन्यूमेशन से वैल्यू हटा दी गई हैं:
HarmCategory
,HarmProbability
,BlockReason
, औरFinishReason
.
- इन इन्यूमेशन से वैल्यू हटा दी गई हैं:
डेटा का हिस्सा
- अन्य प्लैटफ़ॉर्म के साथ अलाइन करने के लिए,
DataPart
का नाम बदलकरInlineDataPart
कर दिया गया है. साथ ही,static
data
फ़ंक्शन का नाम बदलकरinlineData
कर दिया गया है.
- अन्य प्लैटफ़ॉर्म के साथ अलाइन करने के लिए,
अनुरोध के विकल्प
timeout
काम नहीं कर रहा था, इसलिएRequestOptions
को हटा दिया गया है. इसे आने वाले समय में फिर से जोड़ा जाएगा. हालांकि, इसेGenerativeModel
टाइप में ले जाया जाएगा, ताकि यह अन्य प्लैटफ़ॉर्म से मेल खा सके.
स्टॉप सीक्वेंस
GenerationConfig
मेंstopSequences
पैरामीटर को बदला गया है. अब यह पैरामीटर वैकल्पिक है और डिफ़ॉल्ट रूप से, खाली कलेक्शन के बजायnull
पर सेट है.
उद्धरण
citationSources
प्रॉपर्टी का नाम बदलकरCitationMetadata
मेंcitations
कर दिया गया है. अन्य प्लैटफ़ॉर्म से मेल खाने के लिए,CitationSource
टाइप का नाम बदलकरCitation
कर दिया गया है.
ज़रूरत से ज़्यादा सार्वजनिक टाइप, तरीके, और प्रॉपर्टी
- हमने इन टाइप, तरीकों, और प्रॉपर्टी को हटा दिया है. इन्हें गलती से सार्वजनिक कर दिया गया था:
defaultTimeout
,CountTokensResponseFields
,parseCountTokensResponse
,parseEmbedContentResponse
,parseGenerateContentResponse
,parseContent
,BatchEmbedContentsResponse
,ContentEmbedding
,EmbedContentRequest
, औरEmbedContentResponse
.
- हमने इन टाइप, तरीकों, और प्रॉपर्टी को हटा दिया है. इन्हें गलती से सार्वजनिक कर दिया गया था:
टोकन की संख्या गिनना
countTokens
फ़ंक्शन से ऐसे फ़ील्ड हटा दिए गए हैं जिनकी अब ज़रूरत नहीं है. सिर्फ़contents
की ज़रूरत है.
मॉडल को इंस्टैंशिएट करना
- अन्य प्लैटफ़ॉर्म के साथ अलाइन करने के लिए,
systemInstruction
पैरामीटर को पैरामीटर की सूची के आखिर में ले जाया गया.
- अन्य प्लैटफ़ॉर्म के साथ अलाइन करने के लिए,
एम्बेड करने की सुविधा
- मॉडल से, एम्बेड करने की ऐसी सुविधा हटा दी गई है जो काम नहीं करती (
embedContent
औरbatchEmbedContents
).
- मॉडल से, एम्बेड करने की ऐसी सुविधा हटा दी गई है जो काम नहीं करती (
Unity
"Vertex AI in Firebase" से Unity के लिए सहायता उपलब्ध नहीं थी.
Unity के लिए Firebase AI Logic SDK टूल का इस्तेमाल शुरू करने का तरीका जानें.
माइग्रेट करने से जुड़ी संभावित गड़बड़ियां
Firebase AI Logic के GA वर्शन का इस्तेमाल करने के लिए माइग्रेट करते समय, आपको गड़बड़ियां दिख सकती हैं. ऐसा तब होता है, जब आपने माइग्रेशन गाइड में बताए गए सभी ज़रूरी बदलाव नहीं किए हों.
403 गड़बड़ी: Requests to this API firebasevertexai.googleapis.com ... are blocked.
अगर आपको 403 गड़बड़ी का यह मैसेज मिलता है, तो इसका मतलब है कि आपकी Firebase कॉन्फ़िगरेशन फ़ाइल या ऑब्जेक्ट में मौजूद Firebase API कुंजी के लिए, उस प्रॉडक्ट के एपीआई को अनुमति नहीं दी गई है जिसका इस्तेमाल करने की कोशिश की जा रही है.Requests to this API firebasevertexai.googleapis.com ... are blocked.
पक्का करें कि आपके ऐप्लिकेशन में इस्तेमाल की गई Firebase API कुंजी में, कुंजी की "एपीआई से जुड़ी पाबंदियां" की अनुमति वाली सूची में शामिल सभी ज़रूरी एपीआई शामिल हों. Firebase AI Logic के लिए, आपकी Firebase API कुंजी की अनुमति वाली सूची में कम से कम Firebase AI Logic API होना चाहिए. जब आपने Firebase कंसोल में ज़रूरी एपीआई चालू किए थे, तब इस एपीआई को आपकी एपीआई कुंजी की अनुमति वाली सूची में अपने-आप जोड़ दिया जाना चाहिए था.
Google Cloud कंसोल में, एपीआई और सेवाएं > क्रेडेंशियल पैनल में जाकर, अपने सभी एपीआई पासकोड देखे जा सकते हैं.
Firebase AI Logic के साथ अपने अनुभव के बारे में सुझाव/राय दें या शिकायत करें