Firebase AI Logic और इसके क्लाइंट एसडीके को पहले "Vertex AI in Firebase" कहा जाता था. हमारी सेवाओं और सुविधाओं में बढ़ोतरी हुई है. उदाहरण के लिए, अब हम Gemini Developer API के साथ काम करते हैं! इसलिए, हमने अपनी सेवाओं का नाम बदलकर Firebase AI Logic कर दिया है और उन्हें नए तरीके से पेश किया है.
अपने मोबाइल या वेब ऐप्लिकेशन से सीधे तौर पर Google के जनरेटिव एआई मॉडल को सुरक्षित तरीके से ऐक्सेस करने के लिए, अब "Gemini API" सेवा देने वाली कंपनी चुनी जा सकती है. इसके लिए, या Gemini Developer API में से किसी एक को चुना जा सकता है. Agent Platform Gemini API (formerly Vertex AI) लंबे समय से उपलब्ध है. इसका मतलब है कि अब आपके पास Gemini Developer API का इस्तेमाल करने का विकल्प है. इसमें बिना शुल्क वाला टियर उपलब्ध है. इसमें दर की सीमाएं और कोटा उचित हैं.
Firebase AI Logic SDK पर माइग्रेट करने के तरीके की खास जानकारी
पहला चरण: अपने ऐप्लिकेशन और इस्तेमाल के उदाहरणों के लिए, "Gemini API" की सबसे अच्छी सेवा देने वाली कंपनी चुनें.
दूसरा चरण: ज़रूरी एपीआई चालू करें.
तीसरा चरण: अपने ऐप्लिकेशन में इस्तेमाल की गई लाइब्रेरी को अपडेट करें.
चौथा चरण: अपने ऐप्लिकेशन में, SDK टूल को शुरू करने की प्रोसेस को अपडेट करें.
पांचवां चरण: इस्तेमाल की जाने वाली सुविधाओं के हिसाब से, अपने कोड को अपडेट करें.
पहला चरण: अपने ऐप्लिकेशन के लिए, "Gemini API" की सुविधा देने वाला सबसे सही प्लैटफ़ॉर्म चुनें
इस माइग्रेशन के बाद, आपके पास "Gemini API" की सेवा देने वाली कंपनी चुनने का विकल्प होगा:
पुराने "Vertex AI in Firebase" एसडीके, सिर्फ़ Agent Platform Gemini API (formerly Vertex AI) का इस्तेमाल कर सकते थे.
नए Firebase AI Logic एसडीके की मदद से, यह चुना जा सकता है कि आपको अपने मोबाइल या वेब ऐप्लिकेशन से सीधे तौर पर किस "Gemini API" प्रोवाइडर को कॉल करना है. इसके लिए, Gemini Developer API या Agent Platform Gemini API (formerly Vertex AI) में से किसी एक को चुना जा सकता है.
दोनों Gemini API प्रोवाइडर के इस्तेमाल में अंतर देखें. खास तौर पर, इस्तेमाल की जा सकने वाली सुविधाओं, कीमत, और दर की सीमाओं के बारे में जानें. उदाहरण के लिए, Gemini Developer API, Cloud Storage यूआरएल का इस्तेमाल करके फ़ाइलें उपलब्ध कराने की सुविधा नहीं देता. हालांकि, अगर आपको बिना किसी शुल्क के इसके टियर और तय कोटे का फ़ायदा लेना है, तो यह एक अच्छा विकल्प हो सकता है.
दूसरा चरण: ज़रूरी एपीआई चालू करना
पक्का करें कि आपके Firebase प्रोजेक्ट में सभी ज़रूरी एपीआई चालू हों, ताकि आप चुने गए "Gemini API" प्रोवाइडर का इस्तेमाल कर सकें.
ध्यान दें कि आपके प्रोजेक्ट में, दोनों एपीआई उपलब्ध कराने वाली कंपनियों की सेवाएं एक साथ चालू की जा सकती हैं.
Firebase कंसोल में साइन इन करें. इसके बाद, अपना Firebase प्रोजेक्ट चुनें.
Firebase कंसोल में, एआई सेवाएं > एआई लॉजिक पर जाएं.
शुरू करें पर क्लिक करके, निर्देशों के साथ काम करने वाला वर्कफ़्लो लॉन्च करें. इससे आपको अपने प्रोजेक्ट के लिए ज़रूरी एपीआई और संसाधन सेट अप करने में मदद मिलेगी.
"Gemini API" की सेवा देने वाली वह कंपनी चुनें जिसका इस्तेमाल आपको Firebase AI Logic एसडीके के साथ करना है. अगर आपको बाद में किसी अन्य एपीआई सेवा देने वाली कंपनी का इस्तेमाल करना है, तो उसे कभी भी सेट अप किया जा सकता है.
Gemini Developer API — बिलिंग की ज़रूरत नहीं है (यह Spark के बिना किसी शुल्क वाले प्राइसिंग प्लान में उपलब्ध है)
कंसोल का वर्कफ़्लो, ज़रूरी एपीआई चालू करेगा और आपके प्रोजेक्ट में Gemini एपीआई पासकोड बनाएगा.
इस Gemini एपीआई पासकोड को अपने ऐप्लिकेशन के कोडबेस में न जोड़ें. ज़्यादा जानें.Agent Platform Gemini API (formerly Vertex AI) — बिलिंग ज़रूरी है (इसके लिए, इस्तेमाल के हिसाब से पैसे चुकाने वाला Blaze प्लान ज़रूरी है)
Console का वर्कफ़्लो, आपके प्रोजेक्ट में ज़रूरी एपीआई चालू करेगा.
अपने ऐप्लिकेशन में लाइब्रेरी और शुरू करने की प्रोसेस को अपडेट करने के लिए, इस माइग्रेशन गाइड को पढ़ें.
तीसरा चरण: अपने ऐप्लिकेशन में इस्तेमाल की गई लाइब्रेरी को अपडेट करना
Firebase AI Logic लाइब्रेरी का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन के कोड बेस को अपडेट करें.
Swift
Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलें. इसके बाद, Firebase पैकेज को v12.5.0 या उसके बाद के वर्शन पर अपडेट करें. इसके लिए, इनमें से कोई एक विकल्प इस्तेमाल करें:
पहला विकल्प: सभी पैकेज अपडेट करें: File > Packages > Update to Latest Package Versions पर जाएं.
दूसरा विकल्प: Firebase को अलग-अलग अपडेट करें: Package Dependencies सेक्शन में जाकर, Firebase पैकेज पर जाएं. Firebase पैकेज पर राइट क्लिक करें. इसके बाद, Update Package को चुनें.
पक्का करें कि Firebase पैकेज में अब v12.5.0 या उसके बाद का वर्शन दिख रहा हो. अगर ऐसा नहीं है, तो पुष्टि करें कि आपने पैकेज की जो ज़रूरी शर्तें तय की हैं उनके मुताबिक, v12.5.0 या इसके बाद के वर्शन पर अपडेट किया जा सकता है.
प्रोजेक्ट एडिटर में, अपने ऐप्लिकेशन का टारगेट चुनें. इसके बाद, फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किया गया कॉन्टेंट सेक्शन पर जाएं.
नई लाइब्रेरी जोड़ें: + बटन को चुनें. इसके बाद, Firebase पैकेज से FirebaseAILogic जोड़ें.
ऐप्लिकेशन को माइग्रेट करने के बाद (इस गाइड के बाकी सेक्शन देखें), पक्का करें कि आपने पुरानी लाइब्रेरी हटा दी हो:
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:35.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:35.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 प्रोजेक्ट डायरेक्ट्री से यह कमांड चलाएं:flutter pub add firebase_ai
अपने Flutter प्रोजेक्ट को फिर से बनाएं:
flutter run
ऐप्लिकेशन को माइग्रेट करने के बाद (इस गाइड के बाकी सेक्शन देखें), पक्का करें कि आपने पुराना पैकेज मिटा दिया हो:
flutter pub remove firebase_vertexai
Unity
Unity के लिए, "Vertex AI in Firebase" से सहायता उपलब्ध नहीं थी.
Firebase AI Logic SDK for Unity का इस्तेमाल शुरू करने का तरीका जानें.
चौथा चरण: अपने ऐप्लिकेशन में, SDK को शुरू करने की प्रोसेस को अपडेट करना
|
इस पेज पर, सेवा देने वाली कंपनी के हिसाब से कॉन्टेंट और कोड देखने के लिए, Gemini API पर क्लिक करें. |
एपीआई की सेवा देने वाली चुनी गई कंपनी के लिए, सेवा को शुरू करने का तरीका अपडेट करें और GenerativeModel इंस्टेंस बनाएं.
Swift
import FirebaseAILogic
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-3.8-flash")
Kotlin
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-3.8-flash")
Java
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-3.8-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer): Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(ai, { model: "gemini-3.8-flash" });
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-3.8-flash');
Unity
"Vertex AI in Firebase" से Unity के लिए सहायता उपलब्ध नहीं थी.
Unity के लिए Firebase AI Logic SDK टूल का इस्तेमाल शुरू करने का तरीका जानें.
ध्यान दें कि इस्तेमाल की जा रही सुविधा के आधार पर, ऐसा हो सकता है कि आपको हमेशा GenerativeModel इंस्टेंस बनाने की ज़रूरत न पड़े. Gemini Live API का इस्तेमाल करके इनपुट और आउटपुट को स्ट्रीम करने के लिए, LiveModel इंस्टेंस बनाएं.
पांचवां चरण: इस्तेमाल की जाने वाली सुविधाओं के हिसाब से अपना कोड अपडेट करना
इस चरण में, उन बदलावों के बारे में बताया गया है जो आपकी ओर से इस्तेमाल की जाने वाली सुविधाओं के हिसाब से ज़रूरी हो सकते हैं.
अगर आपने 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:केस शामिल करना होगा. इससे ऐसी वैल्यू को कवर किया जा सकेगा जिनके बारे में जानकारी नहीं है या जिन्हें हैंडल नहीं किया गया है. इनमें ऐसी नई वैल्यू भी शामिल हैं जिन्हें आने वाले समय में एसडीके में जोड़ा जाएगा.BlockThresholdइन्यूमरेशन का नाम बदलकरHarmBlockThresholdकर दिया गया है. यह टाइप अबstructहै.नीचे दिए गए एन्यूमरेशन से
unknownऔरunspecifiedकेस हटा दिए गए हैं. अब येstructहैं:HarmCategory,HarmBlockThreshold,HarmProbability,BlockReason, औरFinishReason.हमने एन्यूमरेशन
ModelContent.PartकोPartनाम के प्रोटोकॉल से बदल दिया है. इससे पुराने सिस्टम के साथ काम करने की सुविधा के साथ नए टाइप जोड़े जा सकते हैं. इस बदलाव के बारे में ज़्यादा जानकारी, कॉन्टेंट के हिस्से सेक्शन में दी गई है.
कॉन्टेंट के हिस्से
ThrowingPartsRepresentableप्रोटोकॉल को हटा दिया गया है. साथ ही, कंपाइलर से जुड़ी कभी-कभी होने वाली गड़बड़ियों से बचने के लिए,ModelContentके इनिशियलाइज़र को आसान बना दिया गया है. जिन इमेज को ठीक से कोड नहीं किया गया है उनमेंgenerateContentमें इस्तेमाल करने पर अब भी गड़बड़ियां दिखेंगी.ModelContent.Partकेस कोPartप्रोटोकॉल के मुताबिक, इनstructटाइप से बदला गया:.textसेTextPart.dataसेInlineDataPart.fileDataसेFileDataPart.functionCallसेFunctionCallPart.functionResponseसेFunctionResponsePart
नुकसान की कैटगरी
HarmCategoryको बदल दिया गया है, ताकि वहSafetySettingटाइप में नेस्ट न रहे. अगर आपने इसेSafetySetting.HarmCategoryकहा है, तो इसेHarmCategoryसे बदला जा सकता है.
सुरक्षा से जुड़ा सुझाव, राय या शिकायत
SafetyFeedbackटाइप को हटा दिया गया है, क्योंकि इसका इस्तेमाल किसी भी जवाब में नहीं किया गया था.
उद्धरण का मेटाडेटा
CitationMetadataमेंcitationSourcesप्रॉपर्टी का नाम बदलकरcitationsकिया गया.
बिल किए जा सकने वाले कुल वर्ण
CountTokensResponseमेंtotalBillableCharactersप्रॉपर्टी को बदला गया है, ताकि यह वैकल्पिक हो. इससे उन स्थितियों को दिखाया जा सकेगा जहां कोई वर्ण नहीं भेजा जाता.
उम्मीदवार का जवाब
- अन्य प्लैटफ़ॉर्म से मैच करने के लिए,
CandidateResponseका नाम बदलकरCandidateकर दिया गया है.
- अन्य प्लैटफ़ॉर्म से मैच करने के लिए,
जनरेट करने से जुड़ा कॉन्फ़िगरेशन
GenerationConfigकी सार्वजनिक प्रॉपर्टी को बदलकरinternalकिया गया. इन सभी को इनिशलाइज़र में कॉन्फ़िगर किया जा सकता है.
Kotlin
गिनती
enumऔरsealedक्लास को सामान्य क्लास से बदल दिया गया है. इस बदलाव से, एपीआई को पुराने सिस्टम के साथ काम करने की सुविधा के साथ डेवलप करने में ज़्यादा आसानी होती है.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<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<LiveSession>के बजायListenableFuture<LiveSessionFutures>दिखाया गया.
Java बिल्डर के अलग-अलग तरीकों में बदलाव किया गया है. अब वे
voidके बजाय, अपनी क्लास का इंस्टेंस सही तरीके से दिखाएंगे.
Web
एन्यूमरेशन
- इन इनूमरेशन से वैल्यू हटा दी गई हैं:
HarmCategory,BlockThreshold,HarmProbability,HarmSeverity,BlockReason, औरFinishReason.
- इन इनूमरेशन से वैल्यू हटा दी गई हैं:
ब्लॉक करने की वजह
PromptFeedbackमेंblockReasonको 'ज़रूरी नहीं है' के तौर पर मार्क किया गया.
सिर्फ़ तब बदलाव करने होंगे, जब Agent Platform Gemini API (formerly Vertex AI) के बजाय Gemini Developer API का इस्तेमाल शुरू किया जा रहा हो:
सुरक्षा सेटिंग
- ऐसे
SafetySetting.methodके इस्तेमाल को हटाया गया है जो अब उपलब्ध नहीं है.
- ऐसे
इनलाइन डेटा
- ऐसे
InlineDataPart.videoMetadataके इस्तेमाल को हटाया गया है जो अब उपलब्ध नहीं है.
- ऐसे
Dart
एन्यूमरेशन
- इन इन्यूमेशन से वैल्यू हटा दी गई हैं:
HarmCategory,HarmProbability,BlockReason, औरFinishReason.
- इन इन्यूमेशन से वैल्यू हटा दी गई हैं:
डेटा पार्ट
- अन्य प्लैटफ़ॉर्म के साथ अलाइन करने के लिए,
DataPartका नाम बदलकरInlineDataPartऔरstaticdataफ़ंक्शन का नाम बदलकरinlineDataकर दिया गया है.
- अन्य प्लैटफ़ॉर्म के साथ अलाइन करने के लिए,
अनुरोध करने के विकल्प
RequestOptionsको हटा दिया गया है, क्योंकिtimeoutकाम नहीं कर रहा था. इसे आने वाले समय में फिर से जोड़ा जाएगा. हालांकि, इसे अन्य प्लैटफ़ॉर्म से मैच करने के लिए,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
Unity के लिए, "Vertex AI in Firebase" से सहायता उपलब्ध नहीं थी.
Unity के लिए Firebase AI Logic SDK टूल का इस्तेमाल शुरू करने का तरीका जानें.
माइग्रेट करने से जुड़ी संभावित गड़बड़ियां
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 एपीआई पासकोड की अनुमति वाली सूची में, उस प्रॉडक्ट के लिए ज़रूरी एपीआई मौजूद नहीं है जिसका इस्तेमाल करने की कोशिश की जा रही है.
पक्का करें कि आपके ऐप्लिकेशन में इस्तेमाल की गई Firebase API कुंजी में, ज़रूरी एपीआई शामिल हों. साथ ही, वे कुंजी की "एपीआई से जुड़ी पाबंदियां" की अनुमति वाली सूची में शामिल हों. Firebase AI Logic के लिए, आपके Firebase एपीआई पासकोड की अनुमति वाली सूची में कम से कम Firebase AI Logic एपीआई होना चाहिए. जब आपने Firebase कंसोल में ज़रूरी एपीआई चालू किए थे, तब इस एपीआई को आपकी एपीआई कुंजी की अनुमति वाली सूची में अपने-आप जोड़ दिया जाना चाहिए था.
Google Cloud कंसोल में, एपीआई और सेवाएं > क्रेडेंशियल पैनल में जाकर, अपने सभी एपीआई पासकोड देखे जा सकते हैं.
Firebase AI Logic के साथ अपने अनुभव के बारे में सुझाव/राय देना या शिकायत करना