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 का इस्तेमाल करके, मल्टीमॉडल अनुरोधों में बड़ी फ़ाइलें शामिल करें (अगर आपने Agent Platform Gemini API (formerly Vertex AI) का इस्तेमाल किया है). Cloud Storage क्लाइंट एसडीके की मदद से, फ़ाइलें अपलोड और डाउनलोड की जा सकती हैं. ऐसा खराब नेटवर्क की स्थिति में भी किया जा सकता है. साथ ही, ये एसडीके आपके ऐप्लिकेशन का इस्तेमाल करने वाले लोगों के डेटा को ज़्यादा सुरक्षित रखते हैं. Cloud Storage for Firebase का इस्तेमाल करने के बारे में हमारी समाधान गाइड में ज़्यादा जानें.

  • मोबाइल और वेब ऐप्लिकेशन के लिए बनाए गए डेटाबेस एसडीके टूल (जैसे, Cloud Firestore) का इस्तेमाल करके, स्ट्रक्चर्ड डेटा मैनेज करें.

Firebase AI Logic एसडीके टूल पर माइग्रेट करना

Firebase AI Logic एसडीके पर माइग्रेट करने के तरीके के बारे में खास जानकारी:

  • पहला चरण: नया या मौजूदा Firebase प्रोजेक्ट सेट अप करें और अपने ऐप्लिकेशन को Firebase से कनेक्ट करें.

  • दूसरा चरण: अपने ऐप्लिकेशन में Firebase AI Logic एसडीके जोड़ें.

  • तीसरा चरण: अपने ऐप्लिकेशन में इंपोर्ट और इनिशियलाइज़ेशन को अपडेट करें.

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

पहला चरण: Firebase प्रोजेक्ट सेट अप करना और अपने ऐप्लिकेशन को कनेक्ट करना

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

  2. Firebase console में, एआई सेवाएं > एआई लॉजिक पर जाएं.

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

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

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

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

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

दूसरा चरण: अपने ऐप्लिकेशन में Firebase AI Logic एसडीके जोड़ना

Firebase प्रोजेक्ट सेट अप करने और अपने ऐप्लिकेशन को Firebase से कनेक्ट करने के बाद (पिछला चरण देखें), अब अपने ऐप्लिकेशन में Firebase AI Logic SDK टूल जोड़ा जा सकता है.

Swift

Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें. अगर ज़रूरत हो, तो इंस्टॉल करने के अन्य विकल्पों के बारे में जानें.

Firebase AI Logic लाइब्रेरी, Gemini मॉडल के साथ इंटरैक्ट करने के लिए एपीआई का ऐक्सेस देती है. यह लाइब्रेरी, Apple प्लैटफ़ॉर्म (firebase-ios-sdk) के लिए Firebase SDK टूल का हिस्सा है.

अगर पहले से ही Firebase का इस्तेमाल किया जा रहा है, तो पक्का करें कि आपका Firebase पैकेज v12.5.0 या इसके बाद का वर्शन हो.

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

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

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

  4. FirebaseAILogic लाइब्रेरी और FirebaseAppCheck लाइब्रेरी को चुनें.

इसके बाद, Xcode आपके पैकेज की डिपेंडेंसी से जुड़ी समस्या को हल करना शुरू कर देगा और उन्हें बैकग्राउंड में डाउनलोड करेगा.

Kotlin

Firebase AI Logic Android के लिए SDK टूल (firebase-ai) की मदद से, Gemini मॉडल के साथ इंटरैक्ट करने के लिए एपीआई ऐक्सेस किए जा सकते हैं.

अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) Gradle फ़ाइल (जैसे कि <project>/<app-module>/build.gradle.kts) में, Android के लिए Firebase AI Logic और App Check लाइब्रेरी की डिपेंडेंसी जोड़ें. हमारा सुझाव है कि लाइब्रेरी के वर्शन को कंट्रोल करने के लिए, Firebase Android BoM का इस्तेमाल करें.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:35.0.0"))

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
  implementation("com.google.firebase:firebase-appcheck-debug")
}

Firebase Android BoM का इस्तेमाल करने पर, आपका ऐप्लिकेशन हमेशा Firebase Android लाइब्रेरी के साथ काम करने वाले वर्शन का इस्तेमाल करेगा.

Java

Firebase AI Logic Android के लिए SDK टूल (firebase-ai) की मदद से, Gemini मॉडल के साथ इंटरैक्ट करने के लिए एपीआई ऐक्सेस किए जा सकते हैं.

अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) Gradle फ़ाइल (जैसे कि <project>/<app-module>/build.gradle.kts) में, Android के लिए Firebase AI Logic और App Check लाइब्रेरी की डिपेंडेंसी जोड़ें. हमारा सुझाव है कि लाइब्रेरी के वर्शन को कंट्रोल करने के लिए, Firebase Android BoM का इस्तेमाल करें.

Java के लिए, आपको दो और लाइब्रेरी जोड़नी होंगी.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:35.0.0"))

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
  implementation("com.google.firebase:firebase-appcheck-debug")

  // 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 मॉडल के साथ इंटरैक्ट करने के लिए एपीआई का ऐक्सेस देती है. यह लाइब्रेरी, Firebase JavaScript SDK for Web का हिस्सा है.

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

    npm install firebase
    
  2. अपने ऐप्लिकेशन में Firebase को शुरू करें:

    import { initializeApp } from "firebase/app";
    import { initializeAppCheck, DebugProvider } from "firebase/app-check";
    
    // 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 मॉडल के साथ इंटरैक्ट करने के लिए एपीआई का ऐक्सेस देता है.

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

    flutter pub add firebase_ai firebase_app_check
    
  2. अपनी lib/main.dart फ़ाइल में, Firebase AI Logic और App Check प्लगिन इंपोर्ट करें:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'package:firebase_app_check/firebase_app_check.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 के लिए सहायता उपलब्ध नहीं थी.

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

अपने ऐप्लिकेशन से पुराना 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 के लिए सहायता उपलब्ध नहीं थी.

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

तीसरा चरण: अपने ऐप्लिकेशन में इंपोर्ट और इनिशियलाइज़ेशन को अपडेट करना

अपने इंपोर्ट और Gemini Developer API बैकएंड सेवा को शुरू करने के तरीके को अपडेट करें. साथ ही, GenerativeModel इंस्टेंस बनाएं.

Swift

// BEFORE
import GoogleGenerativeAI

let model = GenerativeModel(name: "MODEL_NAME", apiKey: APIKey.default)

// AFTER
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

// 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-3.8-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-3.8-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-3.8-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-3.8-flash');

Unity

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

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

ध्यान दें कि इस्तेमाल की जा रही सुविधा के आधार पर, ऐसा हो सकता है कि आपको हमेशा GenerativeModel इंस्टेंस बनाने की ज़रूरत न पड़े. Gemini Live API का इस्तेमाल करके इनपुट और आउटपुट स्ट्रीम करने के लिए, LiveModel इंस्टेंस बनाएं.

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

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

  • Firebase AI Logic क्लाइंट एसडीके, कोड एक्ज़ीक्यूशन के साथ काम नहीं करते. अगर आपको इस सुविधा का इस्तेमाल करना है, तो पक्का करें कि आपने इसे अपने ऐप्लिकेशन में शामिल किया हो.

  • Firebase AI Logic क्लाइंट SDK टूल पर माइग्रेट करने के लिए, आपको अपने कोड में कुछ बदलाव करने पड़ सकते हैं. इसके लिए, यहां दी गई सूचियां देखें.

सभी भाषाओं और प्लैटफ़ॉर्म के लिए ज़रूरी है

  • फ़ंक्शन कॉलिंग
    अगर आपने इस सुविधा को लागू किया है, तो आपको अपने स्कीमा को तय करने के तरीके में बदलाव करने होंगे. हमारा सुझाव है कि फ़ंक्शन के एलान लिखने का तरीका जानने के लिए, अपडेट की गई फ़ंक्शन कॉल करने से जुड़ी गाइड पढ़ें.

  • responseSchema
    का इस्तेमाल करके, स्ट्रक्चर्ड आउटपुट (जैसे, JSON) जनरेट करना अगर आपने इस सुविधा को लागू किया है, तो आपको अपने स्कीमा को तय करने के तरीके में बदलाव करने होंगे. हमारा सुझाव है कि 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 टाइप को हटा दिया गया है, क्योंकि इसका इस्तेमाल किसी भी जवाब में नहीं किया गया था.
  • उद्धरण का मेटाडेटा

    • 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 के लिए सहायता उपलब्ध नहीं थी.

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


Firebase AI Logic के साथ अपने अनुभव के बारे में सुझाव/राय दें या शिकायत करें