Google AI क्लाइंट SDK टूल से, Firebase AI Logic SDK टूल पर माइग्रेट करना


माइग्रेशन के निर्देशों पर सीधे जाएं

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 प्रोजेक्ट सेट अप करना और अपने ऐप्लिकेशन को कनेक्ट करना

  1. Firebase कंसोल में साइन इन करें. इसके बाद, अपना Firebase प्रोजेक्ट चुनें.

  2. Firebase कंसोल में, Firebase AI Logic पेज पर जाएं.

  3. शुरू करें पर क्लिक करके, निर्देशों के साथ वर्कफ़्लो लॉन्च करें. इससे आपको अपने प्रोजेक्ट के लिए ज़रूरी एपीआई और संसाधन सेट अप करने में मदद मिलेगी.

  4. Gemini Developer API को चुनें. अगर आपको लगता है कि आपको किसी अन्य एपीआई सेवा देने वाली कंपनी का इस्तेमाल करना है, तो उसे बाद में भी सेट अप किया जा सकता है.

    कंसोल, ज़रूरी एपीआई चालू करेगा और आपके प्रोजेक्ट में एक नई, खास Gemini एपीआई कुंजी बनाएगा.
    इस नई Gemini एपीआई कुंजी को अपने ऐप्लिकेशन के कोडबेस में जोड़ें. ज़्यादा जानें.

  5. अगर कंसोल के वर्कफ़्लो में आपसे कहा जाता है, तो स्क्रीन पर दिए गए निर्देशों का पालन करके, अपने ऐप्लिकेशन को रजिस्टर करें और उसे Firebase से कनेक्ट करें.

  6. अपने ऐप्लिकेशन में लाइब्रेरी और शुरू करने की प्रोसेस को अपडेट करने के लिए, इस माइग्रेशन गाइड को पढ़ें.

दूसरा चरण: अपने ऐप्लिकेशन में 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 या उसके बाद का हो.

  1. Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलें. इसके बाद, File > Add Package Dependencies पर जाएं.

  2. जब आपसे कहा जाए, तब Firebase Apple प्लैटफ़ॉर्म SDK टूल की रिपॉज़िटरी जोड़ें:

    https://github.com/firebase/firebase-ios-sdk
    
  3. एसडीके टूल का नया वर्शन चुनें.

  4. 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 का हिस्सा है.

  1. npm का इस्तेमाल करके, वेब के लिए Firebase JS SDK इंस्टॉल करें:

    npm install firebase
    
  2. अपने ऐप्लिकेशन में 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 मॉडल के साथ इंटरैक्ट करने के लिए एपीआई का ऐक्सेस देता है.

  1. कोर प्लग इन और Firebase AI Logic प्लग इन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट की डायरेक्ट्री से यह कमांड चलाएं:

    flutter pub add firebase_core firebase_ai
    
  2. अपनी 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';
    
  3. इसके अलावा, अपनी lib/main.dart फ़ाइल में, कॉन्फ़िगरेशन फ़ाइल से एक्सपोर्ट किए गए DefaultFirebaseOptions ऑब्जेक्ट का इस्तेमाल करके Firebase को शुरू करें:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. अपने Flutter ऐप्लिकेशन को फिर से बनाएं:

    flutter run
    

Unity

Google AI क्लाइंट SDK में, Unity के लिए सहायता उपलब्ध नहीं थी.

Unity के लिए Firebase AI Logic SDK टूल का इस्तेमाल शुरू करने का तरीका जानें.

अपने ऐप्लिकेशन से पुराना SDK टूल हटाना

अपने ऐप्लिकेशन को माइग्रेट करने के बाद (इस गाइड के बाकी सेक्शन देखें), पक्का करें कि आपने पुरानी लाइब्रेरी मिटा दी हो.

Swift

पुरानी लाइब्रेरी हटाएं:

  1. Xcode में, अपने ऐप्लिकेशन प्रोजेक्ट को खोलें. इसके बाद, Packages Dependencies पैन पर जाएं.

  2. पैकेज डिपेंडेंसी की सूची में से generative-ai-swift पैकेज चुनें.

  3. पुष्टि करने के लिए, सूची में सबसे नीचे मौजूद - बटन पर क्लिक करें. इसके बाद, हटाएं पर क्लिक करें.

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

// BEFORE
import 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

// BEFORE
import 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

// BEFORE
import 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

// BEFORE
import { 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

// BEFORE
import '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 इंस्टेंस बनाने की ज़रूरत न पड़े.

चौथा चरण: इस्तेमाल की जा रही सुविधाओं के हिसाब से कोड अपडेट करना

इस चरण में, उन बदलावों के बारे में बताया गया है जो आपकी ओर से इस्तेमाल की जाने वाली सुविधाओं के आधार पर ज़रूरी हो सकते हैं.

  • 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 के साथ बेहतर तरीके से काम किया जा सकेगा.
  • उद्धरण का मेटाडेटा

    • 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 के साथ बेहतर तरीके से काम किया जा सकेगा.
  • उद्धरण का मेटाडेटा

    • 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 के साथ अपने अनुभव के बारे में सुझाव/राय दें या शिकायत करें