सीधे माइग्रेशन के निर्देशों पर जाएं
Firebase AI Logic SDKs का इस्तेमाल करने के लिए, माइग्रेट क्यों करना चाहिए?
ऐसा हो सकता है कि आपने मोबाइल या वेब क्लाइंट SDK टूल के किसी अन्य सेट को आज़माया हो, जिससे आपको Gemini Developer API का ऐक्सेस मिला हो.
उन क्लाइंट SDK टूल को Firebase के बेहतरीन नेटवर्क में इंटिग्रेट नहीं किया गया था, जो मोबाइल और वेब ऐप्लिकेशन के लिए ज़रूरी सेवाएं देता है. अब ये Firebase AI Logic क्लाइंट SDK टूल के पक्ष में, अमान्य कर दिए गए हैं. इनसे आपको 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 का इस्तेमाल करके, ऐप्लिकेशन का नया वर्शन रिलीज़ किए बिना, अपने ऐप्लिकेशन में रन-टाइम कॉन्फ़िगरेशन को डाइनैमिक तौर पर सेट करें या वैल्यू बदलें. जैसे, मॉडल का नाम और वर्शन.
अगर Vertex AI Gemini API का इस्तेमाल किया जा रहा है, तो कई तरीकों से किए जाने वाले अनुरोधों में बड़ी फ़ाइलें शामिल करने के लिए Cloud Storage for Firebase का इस्तेमाल करें. Cloud Storage क्लाइंट SDK टूल, फ़ाइल अपलोड और डाउनलोड करने में आपकी मदद करते हैं. भले ही, नेटवर्क की स्थिति खराब हो. साथ ही, ये आपके असली उपयोगकर्ताओं के डेटा को ज़्यादा सुरक्षित रखते हैं. Cloud Storage for Firebase का इस्तेमाल करने के बारे में समाधान गाइड में जाकर ज़्यादा जानें.
मोबाइल और वेब ऐप्लिकेशन (जैसे, Cloud Firestore) के लिए बनाए गए डेटाबेस SDK टूल का इस्तेमाल करके, स्ट्रक्चर्ड डेटा मैनेज करें.
Firebase AI Logic एसडीके टूल पर माइग्रेट करना
Firebase AI Logic SDK टूल पर माइग्रेट करने के तरीके की खास जानकारी:
पहला चरण: नया या मौजूदा Firebase प्रोजेक्ट सेट अप करें और अपने ऐप्लिकेशन को Firebase से कनेक्ट करें.
दूसरा चरण: अपने ऐप्लिकेशन में Firebase AI Logic SDK टूल जोड़ें.
तीसरा चरण: अपने ऐप्लिकेशन में इंपोर्ट और शुरू करने की प्रोसेस को अपडेट करें.
चौथा चरण: इस्तेमाल की जा रही सुविधाओं के हिसाब से अपना कोड अपडेट करें.
पहला चरण: Firebase प्रोजेक्ट सेट अप करना और अपना ऐप्लिकेशन कनेक्ट करना
Firebase कंसोल में साइन इन करें. इसके बाद, अपना Firebase प्रोजेक्ट चुनें.
Firebase console में, 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-ios-sdk
) के लिए Firebase SDK टूल के हिस्से के तौर पर शामिल किया गया है.
अगर Firebase का इस्तेमाल पहले से किया जा रहा है, तो पक्का करें कि आपका Firebase पैकेज v11.13.0 या इसके बाद का हो.
Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलकर, फ़ाइल > पैकेज की डिपेंडेंसी जोड़ें पर जाएं.
जब कहा जाए, तब Firebase के Apple प्लैटफ़ॉर्म के SDK टूल का रिपॉज़िटरी जोड़ें:
https://github.com/firebase/firebase-ios-sdk
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:33.15.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:33.15.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 मॉडल के साथ इंटरैक्ट करने के लिए, एपीआई का ऐक्सेस देता है.
Flutter प्रोजेक्ट डायरेक्ट्री से, कोर प्लग इन और Firebase AI Logic प्लग इन इंस्टॉल करने के लिए, यह कमांड चलाएं:
flutter pub add firebase_core && flutter pub add 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 में, अपने ऐप्लिकेशन प्रोजेक्ट को खोलकर, पैकेज की डिपेंडेंसी पैनल पर जाएं.
पैकेज की डिपेंडेंसी की सूची में से
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.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');
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
टाइप हटा दिया गया है, क्योंकि इसका इस्तेमाल किसी भी जवाब में नहीं किया गया था.
साइटेशन का मेटाडेटा
CitationMetadata
में,citationSources
प्रॉपर्टी का नाम बदलकरcitations
किया गया.
बिल किए जा सकने वाले कुल वर्ण
CountTokensResponse
मेंtotalBillableCharacters
प्रॉपर्टी को वैकल्पिक के तौर पर बदला गया है, ताकि उन स्थितियों को दिखाया जा सके जहां कोई वर्ण नहीं भेजा जाता.
उम्मीदवार का जवाब
- अन्य प्लैटफ़ॉर्म से मैच करने के लिए,
CandidateResponse
कोCandidate
नाम दिया गया.
- अन्य प्लैटफ़ॉर्म से मैच करने के लिए,
जनरेशन कॉन्फ़िगरेशन
GenerationConfig
की सार्वजनिक प्रॉपर्टी कोinternal
में बदला गया. ये सभी, initializer में कॉन्फ़िगर किए जा सकते हैं.
Kotlin
एनोमेरेशन
enum
क्लास औरsealed
क्लास को रेगुलर क्लास से बदल दिया गया. इस बदलाव से, एपीआई को पुराने सिस्टम के साथ काम करने वाले तरीके में बेहतर बनाने में मदद मिलती है.BlockThreshold
एनोटेशन का नाम बदलकरHarmBlockThreshold
किया गया.इन इन्यूमरेशन से वैल्यू हटा दी गई हैं:
HarmBlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
, औरFinishReason
.
ब्लॉक के तरीके
- जिन तरीकों के नाम में
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
शामिल था उनका नाम बदलकर,InlineData
का इस्तेमाल किया गया है.
- जिन तरीकों के नाम में
सुरक्षा सेटिंग
- फ़ील्ड
method
को वैल्यू के बिना छोड़ने की अनुमति दी गई है.
- फ़ील्ड
अवधि की कैटगरी
- Kotlin की
Duration
क्लास के सभी इस्तेमाल हटा दिए गए हैं और इसेlong
से बदल दिया गया है. इस बदलाव से, Java के साथ बेहतर तरीके से इंटरऑपरेट किया जा सकता है.
- Kotlin की
साइटेशन का मेटाडेटा
CitationMetadata
में पहले से एलान किए गए सभी फ़ील्ड कोCitation
नाम की नई क्लास में रैप किया गया.CitationMetadata
मेंcitations
नाम की सूची में, आपको उद्धरणों की जानकारी मिल सकती है. इस बदलाव से, सभी प्लैटफ़ॉर्म पर टाइप को बेहतर तरीके से अलाइन किया जा सकता है.
टोकन की गिनती करना
- फ़ील्ड
totalBillableCharacters
को वैल्यू के बिना छोड़ने की अनुमति दी गई है.
- फ़ील्ड
बिल किए जा सकने वाले कुल वर्ण
CountTokensResponse
मेंtotalBillableCharacters
प्रॉपर्टी को वैकल्पिक के तौर पर बदला गया है, ताकि उन स्थितियों को दिखाया जा सके जहां कोई वर्ण नहीं भेजा जाता.
मॉडल को इंस्टैंशिएट करना
- अन्य प्लैटफ़ॉर्म के साथ अलाइन करने के लिए,
requestOptions
पैरामीटर को पैरामीटर सूची के आखिर में ले जाया गया.
- अन्य प्लैटफ़ॉर्म के साथ अलाइन करने के लिए,
Web
ध्यान दें कि JavaScript के लिए Google AI क्लाइंट SDK में कई बदलाव हुए हैं. ऐसा तब से हुआ है, जब Firebase AI Logic क्लाइंट SDK टूल इससे अलग हुए थे. यहां कुछ संभावित बदलावों की सूची दी गई है. Firebase AI Logic क्लाइंट SDK पर माइग्रेट करते समय, आपको इन पर ध्यान देने की ज़रूरत पड़ सकती है.
एनोमेरेशन
- इन इन्यूमरेशन से वैल्यू हटा दी गई हैं:
HarmCategory
,BlockThreshold
,HarmProbability
,HarmSeverity
,BlockReason
, औरFinishReason
.
- इन इन्यूमरेशन से वैल्यू हटा दी गई हैं:
ब्लॉक करने की वजह
PromptFeedback
मेंblockReason
को वैकल्पिक के तौर पर सेट किया गया.
Search Grounding
- इस सुविधा के सभी इस्तेमाल हटा दिए गए हैं, क्योंकि यह अब तक Firebase AI Logic SDK में काम नहीं करती.
गड़बड़ियां
GoogleGenerativeAIError
के सभी इस्तेमाल को हटा दिया गया है. इसके अलावा,AIError
पर स्विच किया जा सकता है.
Dart
एनोमेरेशन
- इन इन्यूमरेशन से वैल्यू हटा दी गई हैं:
HarmCategory
,HarmProbability
,BlockReason
, औरFinishReason
.
- इन इन्यूमरेशन से वैल्यू हटा दी गई हैं:
डेटा का हिस्सा
- अन्य प्लैटफ़ॉर्म के साथ अलाइन करने के लिए,
DataPart
का नाम बदलकरInlineDataPart
औरstatic
data
फ़ंक्शन का नाम बदलकरinlineData
किया गया.
- अन्य प्लैटफ़ॉर्म के साथ अलाइन करने के लिए,
अनुरोध के विकल्प
RequestOptions
को हटा दिया गया, क्योंकिtimeout
काम नहीं कर रहा था. इसे आने वाले समय में फिर से जोड़ा जाएगा. हालांकि, इसे अन्य प्लैटफ़ॉर्म के हिसाब सेGenerativeModel
टाइप में बदल दिया जाएगा.
सिलसिलेवार प्रोसेस को रोकना
GenerationConfig
मेंstopSequences
पैरामीटर को वैकल्पिक के तौर पर बदला गया है. साथ ही, खाली कलेक्शन के बजाय, डिफ़ॉल्ट रूप सेnull
पर सेट किया गया है.
उद्धरण
CitationMetadata
में,citationSources
प्रॉपर्टी का नाम बदलकर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 के साथ अपने अनुभव के बारे में सुझाव/राय देना या शिकायत करना