माइग्रेशन के निर्देशों पर सीधे जाएं
Firebase AI Logic एसडीके का इस्तेमाल करने के लिए माइग्रेट क्यों करें?
आपने मोबाइल या वेब क्लाइंट के एसडीके का कोई दूसरा सेट आज़माया हो. इससे आपको Gemini Developer API का ऐक्सेस मिला हो.
उन क्लाइंट एसडीके को Firebase के मज़बूत इकोसिस्टम में इंटिग्रेट नहीं किया गया था. यह इकोसिस्टम, मोबाइल और वेब ऐप्लिकेशन के लिए ज़रूरी सेवाएं उपलब्ध कराता है. अब ये काम नहीं करते. इनकी जगह Firebase AI Logic क्लाइंट एसडीके टूल का इस्तेमाल किया जाता है. इससे आपको Gemini Developer API का ऐक्सेस मिल सकता है.
मोबाइल और वेब ऐप्लिकेशन के लिए सुरक्षा से जुड़ी सुविधाएं
मोबाइल और वेब ऐप्लिकेशन के लिए, सुरक्षा बहुत ज़रूरी है. इसके लिए, खास बातों का ध्यान रखना पड़ता है, क्योंकि आपका कोड – जिसमें Gemini API को किए गए कॉल भी शामिल हैं – असुरक्षित एनवायरमेंट में चल रहा होता है. Firebase App Check का इस्तेमाल करके, एपीआई को अनधिकृत क्लाइंट के गलत इस्तेमाल से बचाया जा सकता है.
Firebase AI Logic के साथ Firebase App Check का इस्तेमाल करते समय, आपको Gemini Developer API के लिए Gemini एपीआई पासकोड को सीधे तौर पर अपने मोबाइल या वेब ऐप्लिकेशन के कोडबेस में कभी नहीं जोड़ना चाहिए. इसके बजाय, Gemini एपीआई कुंजी सर्वर पर सेव रहती है. इसलिए, इसका गलत इस्तेमाल करने वाले लोगों को इसकी जानकारी नहीं मिल पाती.
मोबाइल और वेब ऐप्लिकेशन के लिए बनाया गया नेटवर्क
Firebase, Google का एक ऐसा प्लैटफ़ॉर्म है जिस पर मोबाइल और वेब ऐप्लिकेशन डेवलप किए जाते हैं. Firebase AI Logic का इस्तेमाल करने का मतलब है कि आपके ऐप्लिकेशन, ऐसे इकोसिस्टम में हैं जो फ़ुल-स्टैक ऐप्लिकेशन और डेवलपर की ज़रूरतों पर फ़ोकस करता है. उदाहरण के लिए:
Firebase Remote Config का इस्तेमाल करके, ऐप्लिकेशन का नया वर्शन रिलीज़ किए बिना, रन-टाइम कॉन्फ़िगरेशन को डाइनैमिक तरीके से सेट करें या अपने ऐप्लिकेशन में वैल्यू बदलें. जैसे, मॉडल का नाम और वर्शन.
Cloud Storage for Firebase का इस्तेमाल करके, मल्टीमॉडल अनुरोधों में बड़ी फ़ाइलें शामिल करें. हालांकि, ऐसा सिर्फ़ तब किया जा सकता है, जब आपने Vertex AI Gemini API का इस्तेमाल किया हो. Cloud Storage क्लाइंट एसडीके की मदद से, फ़ाइलें अपलोड और डाउनलोड की जा सकती हैं. ऐसा खराब नेटवर्क की स्थिति में भी किया जा सकता है. साथ ही, ये एसडीके, आपके ऐप्लिकेशन का इस्तेमाल करने वाले लोगों के डेटा को ज़्यादा सुरक्षित रखते हैं. Cloud Storage for Firebase का इस्तेमाल करने के बारे में हमारी समाधान गाइड में जाकर ज़्यादा जानें.
मोबाइल और वेब ऐप्लिकेशन के लिए बनाए गए डेटाबेस SDK टूल (जैसे, Cloud Firestore) का इस्तेमाल करके, स्ट्रक्चर्ड डेटा मैनेज करें.
Firebase AI Logic एसडीके टूल पर माइग्रेट करना
Firebase AI Logic एसडीके पर माइग्रेट करने के तरीके के बारे में खास जानकारी:
पहला चरण: नया या मौजूदा Firebase प्रोजेक्ट सेट अप करें और अपने ऐप्लिकेशन को Firebase से कनेक्ट करें.
दूसरा चरण: अपने ऐप्लिकेशन में Firebase AI Logic SDK टूल जोड़ें.
तीसरा चरण: अपने ऐप्लिकेशन में इंपोर्ट और इनिशियलाइज़ेशन को अपडेट करें.
चौथा चरण: इस्तेमाल की जाने वाली सुविधाओं के हिसाब से, अपने कोड को अपडेट करें.
पहला चरण: Firebase प्रोजेक्ट सेट अप करना और अपने ऐप्लिकेशन को कनेक्ट करना
Firebase कंसोल में साइन इन करें. इसके बाद, अपना Firebase प्रोजेक्ट चुनें.
Firebase कंसोल में, Firebase AI Logic पेज पर जाएं.
शुरू करें पर क्लिक करके, निर्देशों के साथ वर्कफ़्लो लॉन्च करें. इससे आपको अपने प्रोजेक्ट के लिए ज़रूरी एपीआई और संसाधन सेट अप करने में मदद मिलेगी.
Gemini Developer API को चुनें. अगर आपको लगता है कि आपको किसी अन्य एपीआई सेवा देने वाली कंपनी का इस्तेमाल करना है, तो उसे बाद में भी सेट अप किया जा सकता है.
कंसोल, ज़रूरी एपीआई चालू करेगा और आपके प्रोजेक्ट में एक नई, खास Gemini एपीआई कुंजी बनाएगा.
इस नई Gemini एपीआई कुंजी को अपने ऐप्लिकेशन के कोडबेस में न जोड़ें. ज़्यादा जानें.अगर कंसोल के वर्कफ़्लो में आपसे कहा जाता है, तो स्क्रीन पर दिए गए निर्देशों का पालन करके, अपने ऐप्लिकेशन को रजिस्टर करें और उसे Firebase से कनेक्ट करें.
अपने ऐप्लिकेशन में लाइब्रेरी और शुरू करने की प्रोसेस को अपडेट करने के लिए, इस माइग्रेशन गाइड को पढ़ें.
दूसरा चरण: अपने ऐप्लिकेशन में Firebase AI Logic SDK टूल जोड़ना
Firebase प्रोजेक्ट सेट अप करने और अपने ऐप्लिकेशन को Firebase से कनेक्ट करने के बाद (पिछला चरण देखें), अब अपने ऐप्लिकेशन में Firebase AI Logic SDK टूल जोड़ा जा सकता है.
Swift
Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.
Firebase AI Logic लाइब्रेरी की मदद से, Gemini और Imagen मॉडल के साथ इंटरैक्ट करने के लिए एपीआई ऐक्सेस किए जा सकते हैं. यह लाइब्रेरी, Apple प्लैटफ़ॉर्म के लिए Firebase SDK टूल (firebase-ios-sdk
) का हिस्सा है.
अगर पहले से Firebase का इस्तेमाल किया जा रहा है, तो पक्का करें कि आपका Firebase पैकेज v11.13.0 या उसके बाद का हो.
Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलें. इसके बाद, File > Add Package Dependencies पर जाएं.
जब आपसे कहा जाए, तब Firebase Apple प्लैटफ़ॉर्म SDK टूल की रिपॉज़िटरी जोड़ें:
https://github.com/firebase/firebase-ios-sdk
एसडीके टूल का नया वर्शन चुनें.
FirebaseAI
लाइब्रेरी को चुनें.
इसके बाद, Xcode आपके पैकेज की डिपेंडेंसी से जुड़ी समस्या को हल करना शुरू कर देगा और उन्हें बैकग्राउंड में डाउनलोड करेगा.
Kotlin
Firebase AI Logic Android के लिए SDK टूल (firebase-ai
) की मदद से, Gemini और Imagen मॉडल के साथ इंटरैक्ट करने के लिए एपीआई का ऐक्सेस मिलता है.
अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) Gradle फ़ाइल (जैसे, <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.2.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 लाइब्रेरी के साथ काम करने वाले वर्शन का इस्तेमाल करेगा.
Java
Firebase AI Logic Android के लिए SDK टूल (firebase-ai
) की मदद से, Gemini और Imagen मॉडल के साथ इंटरैक्ट करने के लिए एपीआई का ऐक्सेस मिलता है.
अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) Gradle फ़ाइल (जैसे, <project>/<app-module>/build.gradle.kts
) में, Android के लिए Firebase AI Logic लाइब्रेरी की डिपेंडेंसी जोड़ें.
हमारा सुझाव है कि लाइब्रेरी के वर्शन को कंट्रोल करने के लिए, Firebase Android BoM का इस्तेमाल करें.
Java के लिए, आपको दो और लाइब्रेरी जोड़नी होंगी.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.2.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 लाइब्रेरी के साथ काम करने वाले वर्शन का इस्तेमाल करेगा.
Web
Firebase AI Logic लाइब्रेरी की मदद से, Gemini और Imagen मॉडल के साथ इंटरैक्ट करने के लिए एपीआई ऐक्सेस किए जा सकते हैं. यह लाइब्रेरी, वेब के लिए 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
) के लिए Firebase AI Logic प्लगिन, Gemini और Imagen मॉडल के साथ इंटरैक्ट करने के लिए एपीआई का ऐक्सेस देता है.
कोर प्लग इन और Firebase AI Logic प्लग इन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट की डायरेक्ट्री से यह कमांड चलाएं:
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
Unity
Google AI क्लाइंट SDK में, Unity के लिए सहायता उपलब्ध नहीं थी.
Unity के लिए Firebase AI Logic SDK टूल का इस्तेमाल शुरू करने का तरीका जानें.
अपने ऐप्लिकेशन से पुराना SDK टूल हटाना
अपने ऐप्लिकेशन को माइग्रेट करने के बाद (इस गाइड के बाकी सेक्शन देखें), पक्का करें कि आपने पुरानी लाइब्रेरी मिटा दी हो.
Swift
पुरानी लाइब्रेरी हटाएं:
Xcode में, अपने ऐप्लिकेशन प्रोजेक्ट को खोलें. इसके बाद, Packages Dependencies पैन पर जाएं.
पैकेज डिपेंडेंसी की सूची में से
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
Unity
Google AI क्लाइंट SDK में Unity के लिए सहायता उपलब्ध नहीं थी.
Unity के लिए Firebase AI Logic SDK टूल का इस्तेमाल शुरू करने का तरीका जानें.
तीसरा चरण: अपने ऐप्लिकेशन में इंपोर्ट और इनिशियलाइज़ेशन को अपडेट करना
अपने इंपोर्ट और Gemini Developer API बैकएंड सेवा को शुरू करने के तरीके को अपडेट करें. साथ ही, GenerativeModel
इंस्टेंस बनाएं.
Swift
// 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.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');
Unity
Google AI क्लाइंट SDK में Unity के लिए सहायता उपलब्ध नहीं थी.
Unity के लिए Firebase AI Logic SDK टूल का इस्तेमाल शुरू करने का तरीका जानें.
ध्यान दें कि इस्तेमाल की जा रही सुविधा के आधार पर, ऐसा हो सकता है कि आपको हमेशा GenerativeModel
इंस्टेंस बनाने की ज़रूरत न पड़े.
- Imagen मॉडल को ऐक्सेस करने> के लिए,
ImagenModel
इंस्टेंस बनाएं.
चौथा चरण: इस्तेमाल की जा रही सुविधाओं के हिसाब से कोड अपडेट करना
इस चरण में, उन बदलावों के बारे में बताया गया है जो आपकी ओर से इस्तेमाल की जाने वाली सुविधाओं के आधार पर ज़रूरी हो सकते हैं.
Firebase AI Logic क्लाइंट SDK, कोड को लागू करने की सुविधा के साथ काम नहीं करते. अगर आपको इस सुविधा का इस्तेमाल करना है, तो पक्का करें कि आपने इसे अपने ऐप्लिकेशन में शामिल किया हो.
Firebase AI Logic क्लाइंट SDK टूल पर माइग्रेट करने के लिए, आपको अपने कोड में कुछ बदलाव करने पड़ सकते हैं. इसके लिए, यहां दी गई सूचियां देखें.
सभी भाषाओं और प्लैटफ़ॉर्म के लिए ज़रूरी है
फ़ंक्शन कॉलिंग
अगर आपने इस सुविधा को लागू किया है, तो आपको अपने स्कीमा को डिफ़ाइन करने के तरीके में बदलाव करने होंगे. हमारा सुझाव है कि फ़ंक्शन के एलान लिखने का तरीका जानने के लिए, अपडेट की गई फ़ंक्शन कॉल करने से जुड़ी गाइड पढ़ें.responseSchema
का इस्तेमाल करके, स्ट्रक्चर्ड आउटपुट (जैसे कि JSON) जनरेट करना अगर आपने इस सुविधा को लागू किया है, तो आपको अपने स्कीमा को तय करने के तरीके में बदलाव करने होंगे. हमारा सुझाव है कि 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
मामलों कोPart
प्रोटोकॉल के मुताबिक, इनstruct
टाइप से बदला गया है:.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
पैरामीटर को पैरामीटर की सूची के आखिर में ले जाया गया है, ताकि यह अन्य प्लैटफ़ॉर्म के साथ अलाइन हो सके.
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
पैरामीटर को पैरामीटर की सूची के आखिर में ले जाया गया है, ताकि यह अन्य प्लैटफ़ॉर्म के साथ अलाइन हो सके.
Web
ध्यान दें कि Google AI क्लाइंट SDK टूल के JavaScript वर्शन में, Firebase AI Logic क्लाइंट 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
कर दिया गया है. साथ ही,static
data
फ़ंक्शन का नाम बदलकर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
Google AI क्लाइंट SDK में Unity के लिए सहायता उपलब्ध नहीं थी.
Unity के लिए Firebase AI Logic SDK टूल का इस्तेमाल शुरू करने का तरीका जानें.
Firebase AI Logic के साथ अपने अनुभव के बारे में सुझाव/राय दें या शिकायत करें