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 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 पैकेज का वर्शन 12.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:34.15.0"))

  // Add the dependencies for the F irebase AILogic 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:34.15.0"))

  // Add the dependencies for the F irebase AILogic 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 &#39;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 का इस्तेमाल शुरू करने का तरीका जानें.

अपने ऐप्लिकेशन से पुराना एसडीके हटाएं

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

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)"gemini-3.5-flash")

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.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.GenerativeBac"gemini-3.5-flash")

// 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.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.GenerativeBackerativeModelFutures.from(ai);

// 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.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: "odel = getGenerativeModel(ai, { model: "gemini-3.5-flash" });

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.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&: 'global').generativeModel(model: 'gemini-3.5-flash');

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.5-flash');

Unity

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

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

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

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

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

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

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

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

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

  • responseSchema
    का इस्तेमाल करके, स्ट्रक्चर्ड आउटपुट (जैसे, JSON) जनरेट करना अगर आपने इस सुविधा को लागू किया है, तो आपको अपने स्कीमा को तय करने के तरीके में बदलाव करने होंगे. हमारा सुझाव है कि JSON स्कीमा लिखने का तरीका जानने के लिए, स्ट्रक्चर्ड आउटपुट गाइड देखें.

  • टाइम आउट

    • अनुरोधों के लिए डिफ़ॉल्ट टाइम आउट को 180 सेकंड पर सेट किया गया.

प्लैटफ़ॉर्म या भाषा के हिसाब से ज़रूरी है

Swift

  • गिनती

    • ज़्यादातर enum टाइप को स्टैटिक वैरिएबल वाले struct से बदल दिया गया है. इस बदलाव से, एपीआई को बैकवर्ड-कंपैटिबल तरीके से विकसित करने में ज़्यादा आसानी होगी. switch स्टेटमेंट का इस्तेमाल करते समय, अब आपको default: केस शामिल करना होगा. इससे ऐसी वैल्यू को कवर किया जा सकेगा जिनके बारे में जानकारी नहीं है या जिन्हें हैंडल नहीं किया गया है. इनमें ऐसी नई वैल्यू भी शामिल हैं जिन्हें आने वाले समय में एसडीके में जोड़ा जाएगा.

    • 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 क्लाइंट एसडीके फ़ॉर JavaScript में, Firebase AI Logic क्लाइंट एसडीके के ब्रांच होने के बाद से कई बदलाव हुए हैं. यहां कुछ संभावित बदलावों की सूची दी गई है. आपको 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 कर दिया गया है.
  • अनुरोध के विकल्प

    • timeout काम नहीं कर रहा था, इसलिए RequestOptions को हटा दिया गया है. इसे आने वाले समय में फिर से जोड़ा जाएगा. हालांकि, इसे अन्य प्लैटफ़ॉर्म से मैच करने के लिए, 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 के साथ अपने अनुभव के बारे में सुझाव/राय दें या शिकायत करें