Gemini API क्विकस्टार्ट

इस क्विकस्टार्ट में बताया गया है कि अपनी पसंद के SDK टूल का इस्तेमाल करके, Gemini API का इस्तेमाल कैसे किया जा सकता है.

ज़रूरी शर्तें

Python

Google के एआई पर देखें Google Colab में चलाएं GitHub पर notebook देखें

इस क्विकस्टार्ट को स्थानीय तौर पर पूरा करने के लिए, पक्का करें कि आपका डेवलपमेंट एनवायरमेंट नीचे दी गई ज़रूरी शर्तों को पूरा करता हो:

  • Python 3.9 और इसके बाद के वर्शन
  • notebook चलाने के लिए jupyter का इंस्टॉलेशन.

शुरू करें

यह क्विकस्टार्ट यह मानता है कि आपको Go के साथ ऐप्लिकेशन बनाने के बारे में जानकारी है.

इस क्विकस्टार्ट को पूरा करने के लिए, पक्का करें कि आपका डेवलपमेंट एनवायरमेंट इन ज़रूरी शर्तों को पूरा करता हो:

  • 1.20 या इसके बाद के वर्शन पर जाएं

Node.js

यह क्विकस्टार्ट यह मानता है कि आपको node.js के साथ ऐप्लिकेशन बनाने के बारे में जानकारी है.

इस क्विकस्टार्ट को पूरा करने के लिए, पक्का करें कि आपका डेवलपमेंट एनवायरमेंट इन ज़रूरी शर्तों को पूरा करता हो:

  • Node.js v18+
  • एनपीएम

वेब

यह क्विकस्टार्ट यह मानता है कि आपको वेब ऐप्लिकेशन बनाने के लिए JavaScript का इस्तेमाल करना है. इस गाइड को फ़्रेमवर्क इस्तेमाल नहीं किया जा सकता.

इस क्विकस्टार्ट को पूरा करने के लिए, पक्का करें कि आपका डेवलपमेंट एनवायरमेंट इन ज़रूरी शर्तों को पूरा करता हो:

  • (ज़रूरी नहीं) Node.js
  • मॉडर्न वेब ब्राउज़र

डार्ट (फ़्लटर)

यह क्विकस्टार्ट यह मानता है कि आपको Dart के साथ ऐप्लिकेशन बनाने की जानकारी है.

इस क्विकस्टार्ट को पूरा करने के लिए, पक्का करें कि आपका डेवलपमेंट एनवायरमेंट इन ज़रूरी शर्तों को पूरा करता हो:

  • Dart 3.2.0+

Swift

यह क्विकस्टार्ट यह मानकर चलता है कि आपको Swift ऐप्लिकेशन बनाने के लिए Xcode का इस्तेमाल करना है.

इस क्विकस्टार्ट को पूरा करने के लिए, पक्का करें कि आपका डेवलपमेंट एनवायरमेंट और Swift ऐप्लिकेशन ये ज़रूरी शर्तें पूरी करते हों:

  • Xcode 15.0 या उसके बाद का वर्शन
  • आपके Swift ऐप्लिकेशन को iOS 15 या उसके बाद के वर्शन या macOS 12 या उसके बाद के वर्शन को टारगेट करना होगा.

Android

यह क्विकस्टार्ट यह मानता है कि Android ऐप्लिकेशन बनाने के लिए, आपको Android Studio का इस्तेमाल करना पता है.

इस क्विकस्टार्ट को पूरा करने के लिए, पक्का करें कि आपका डेवलपमेंट एनवायरमेंट और Android ऐप्लिकेशन इन ज़रूरी शर्तों को पूरा करते हों:

  • Android Studio (नया वर्शन)
  • आपके Android ऐप्लिकेशन को, एपीआई लेवल 21 या उसके बाद के लेवल को टारगेट करना चाहिए.

अपनी एपीआई कुंजी सेट अप करें

Gemini API का इस्तेमाल करने के लिए, आपको एपीआई पासकोड की ज़रूरत होगी. अगर आपके पास पहले से कोई कुंजी नहीं है, तो Google AI Studio में कुंजी बनाएं.

एपीआई पासकोड पाएं

इसके बाद, अपनी कुंजी कॉन्फ़िगर करें.

Python

हमारा सुझाव है कि आप अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच करें. यह क्विकस्टार्ट यह मानता है कि अपनी एपीआई कुंजी को एनवायरमेंट वैरिएबल के तौर पर ऐक्सेस किया जा रहा है.

अपनी एपीआई कुंजी को किसी एनवायरमेंट वैरिएबल पर असाइन करें:

export API_KEY=<YOUR_API_KEY>

शुरू करें

हमारा सुझाव है कि आप अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच करें. यह क्विकस्टार्ट यह मानता है कि अपनी एपीआई कुंजी को एनवायरमेंट वैरिएबल के तौर पर ऐक्सेस किया जा रहा है.

अपनी एपीआई कुंजी को किसी एनवायरमेंट वैरिएबल पर असाइन करें:

export API_KEY=<YOUR_API_KEY>

Node.js

हमारा सुझाव है कि आप अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच करें. यह क्विकस्टार्ट यह मानता है कि अपनी एपीआई कुंजी को एनवायरमेंट वैरिएबल के तौर पर ऐक्सेस किया जा रहा है.

अपनी एपीआई कुंजी को किसी एनवायरमेंट वैरिएबल पर असाइन करें:

export API_KEY=<YOUR_API_KEY>

वेब

हमारा सुझाव है कि आप अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच करें. इसके बजाय, मॉडल शुरू करने से ठीक पहले, आपको अपने ऐप्लिकेशन पर एपीआई पासकोड पास करना चाहिए.

यह क्विकस्टार्ट यह मानता है कि एपीआई पासकोड को ग्लोबल कॉन्सटेंट के तौर पर ऐक्सेस किया जा रहा है.

डार्ट (फ़्लटर)

हमारा सुझाव है कि आप अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच करें. यह क्विकस्टार्ट यह मानता है कि प्रोसेस एनवायरमेंट वैरिएबल के तौर पर, एपीआई पासकोड को ऐक्सेस किया जा रहा है. अगर Flutter ऐप्लिकेशन बनाया जा रहा है, तो एपीआई कुंजी को कंपाइल करने के लिए String.fromEnvironment का इस्तेमाल किया जा सकता है और --dart-define=API_KEY=$API_KEY को flutter build या flutter run पर पास किया जा सकता है. ऐसा इसलिए, क्योंकि ऐप्लिकेशन को चलाने पर प्रोसेस एनवायरमेंट अलग होगा.

Swift

हमारा सुझाव है कि आप अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच करें. दूसरा विकल्प यह है कि इसे GenerativeAI-Info.plist फ़ाइल में सेव करें और फिर .plist फ़ाइल से एपीआई पासकोड को पढ़ें. इस .plist फ़ाइल को अपने ऐप्लिकेशन के रूट फ़ोल्डर में रखना न भूलें और इसे वर्शन कंट्रोल से बाहर रखें.

enum APIKey {
   // Fetch the API key from `GenerativeAI-Info.plist`
   static var `default`: String {
      guard let filePath = Bundle.main.path(forResource: "GenerativeAI-Info", ofType: "plist")
      else {
         fatalError("Couldn't find file 'GenerativeAI-Info.plist'.")
      }
      let plist = NSDictionary(contentsOfFile: filePath)
      guard let value = plist?.object(forKey: "API_KEY") as? String else {
         fatalError("Couldn't find key 'API_KEY' in 'GenerativeAI-Info.plist'.")
      }
      if value.starts(with: "_") {
         fatalError(
           "Follow the instructions at https://ai.google.dev/tutorials/setup to get an API key."
         )
      }
      return value
   }
}

Android

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

Kotlin:

// Access your API key as a Build Configuration variable
val apiKey = BuildConfig.apiKey

जावा:

// Access your API key as a Build Configuration variable
String apiKey = BuildConfig.apiKey;

अगर आपको Secrets Gradle प्लगिन के लागू होने की जानकारी देखनी है, तो इस SDK टूल के लिए ऐप्लिकेशन का नमूना देखें या Android Studio Iguana की नई झलक देखें. इसमें Gemini API Starter टेंप्लेट की नई झलक देखी जा सकती है (इसमें शुरू करने के लिए local.properties फ़ाइल शामिल है).

SDK टूल इंस्टॉल करें

Python

Gemini API के लिए Python SDK टूल, google-generativeai पैकेज में शामिल होता है. पीआईपी (पिक्चर में पिक्चर) का इस्तेमाल करके डिपेंडेंसी इंस्टॉल करें:

pip install -q -U google-generativeai

शुरू करें

अपने ऐप्लिकेशन में Gemini API का इस्तेमाल करने के लिए, आपको अपनी मॉड्यूल डायरेक्ट्री में Go SDK पैकेज get करना होगा:

go get github.com/google/generative-ai-go

Node.js

अपने ऐप्लिकेशन में Gemini API का इस्तेमाल करने के लिए, आपको Node.js के लिए GoogleGenerativeAI पैकेज इंस्टॉल करना होगा:

npm install @google/generative-ai

वेब

अपने वेब ऐप्लिकेशन में Gemini API का इस्तेमाल करने के लिए, @google/generative-ai को इंपोर्ट करें:

<script type="importmap">
   {
     "imports": {
       "@google/generative-ai": "https://esm.run/@google/generative-ai"
     }
   }
</script>

डार्ट (फ़्लटर)

अपने ऐप्लिकेशन में Gemini API का इस्तेमाल करने के लिए, आपको अपने Dart या Flutter ऐप्लिकेशन में google_generative_ai पैकेज को add करना होगा:

डार्ट:

dart pub add google_generative_ai

फ़्लटर:

flutter pub add google_generative_ai

Swift

अपने Swift ऐप्लिकेशन में Gemini API का इस्तेमाल करने के लिए, GoogleGenerativeAI पैकेज को अपने ऐप्लिकेशन में जोड़ें:

  1. Xcode में, प्रोजेक्ट नेविगेटर में अपने प्रोजेक्ट पर राइट क्लिक करें.

  2. संदर्भ मेन्यू से, पैकेज जोड़ें को चुनें.

  3. पैकेज जोड़ें डायलॉग में, खोज बार में पैकेज का यूआरएल चिपकाएं: none https://github.com/google/generative-ai-swift

  4. पैकेज जोड़ें पर क्लिक करें. Xcode अब आपके प्रोजेक्ट में GoogleGenerativeAI पैकेज जोड़ देगा.

Android

  1. अपने मॉड्यूल (ऐप्लिकेशन-लेवल) में Gradle कॉन्फ़िगरेशन फ़ाइल (जैसे <project>/<app-module>/build.gradle.kts), Android के लिए Google AI SDK के लिए डिपेंडेंसी जोड़ें:

    Kotlin:

    dependencies {
    
       // add the dependency for the Google AI client SDK for Android
       implementation("com.google.ai.client.generativeai:generativeai:0.3.0")
    }
    

    जावा:

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

    dependencies {
    
        // add the dependency for the Google AI client SDK for Android
        implementation("com.google.ai.client.generativeai:generativeai:0.3.0")
    
        // 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")
    }
    
  2. अपने Android प्रोजेक्ट को Gradle फ़ाइलों के साथ सिंक करें.

जनरेटिव मॉडल को शुरू करना

Python

कोई भी एपीआई कॉल करने से पहले, आपको जनरेटिव मॉडल को इंपोर्ट और शुरू करना होगा.

import google.generativeai as genai

genai.configure(api_key=os.environ["API_KEY"])
model = genai.GenerativeModel('gemini-pro')

शुरू करें

कोई भी एपीआई कॉल करने से पहले, आपको जनरेटिव मॉडल को इंपोर्ट और शुरू करना होगा.

import "github.com/google/generative-ai-go/genai"
import "google.golang.org/api/option"

ctx := context.Background()
// Access your API key as an environment variable (see "Set up your API key" above)
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY")))
if err != nil {
    log.Fatal(err)
}
defer client.Close()

// For text-only input, use the gemini-pro model
model := client.GenerativeModel("gemini-pro")

Node.js

कोई भी एपीआई कॉल करने से पहले, आपको जनरेटिव मॉडल को इंपोर्ट और शुरू करना होगा.

const { GoogleGenerativeAI } = require("@google/generative-ai");

// Access your API key as an environment variable (see "Set up your API key" above)
const genAI = new GoogleGenerativeAI(process.env.API_KEY);

// ...

// For text-only input, use the gemini-pro model
const model = genAI.getGenerativeModel({ model: "gemini-pro"});

// ...

वेब

कोई भी एपीआई कॉल करने से पहले, आपको जनरेटिव मॉडल को इंपोर्ट और शुरू करना होगा.

<html>
<body>
   <!-- ... Your HTML and CSS -->
   <!-- Import @google/generative-ai, as shown above. -->
   <script type="module">
      import { GoogleGenerativeAI } from "@google/generative-ai";

      // Fetch your API_KEY
      const API_KEY = "...";

      // Access your API key (see "Set up your API key" above)
      const genAI = new GoogleGenerativeAI(API_KEY);

      // ...

      // For text-only input, use the gemini-pro model
      const model = genAI.getGenerativeModel({ model: "gemini-pro"});

      // ...
   </script>
</body>
</html>

डार्ट (फ़्लटर)

कोई भी एपीआई कॉल करने से पहले, आपको जनरेटिव मॉडल को इंपोर्ट और शुरू करना होगा.

import 'package:google_generative_ai/google_generative_ai.dart';

// Access your API key as an environment variable (see "Set up your API key" above)
final apiKey = Platform.environment['API_KEY'];
if (apiKey == null) {
  print('No \$API_KEY environment variable');
  exit(1);
}

// For text-only input, use the gemini-pro model
final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey);

Swift

कोई भी एपीआई कॉल करने से पहले, आपको जनरेटिव मॉडल शुरू करना होगा.

  1. GoogleAI मॉड्यूल इंपोर्ट करें:

    import GoogleGenerativeAI
    
  2. जनरेटिव मॉडल को शुरू करें:

    // For text-only input, use the gemini-pro model
    // Access your API key from your on-demand resource .plist file (see "Set up your API key" above)
    let model = GenerativeModel(name: "gemini-pro", apiKey: APIKey.default)
    

Android

कोई भी एपीआई कॉल करने से पहले, आपको GenerativeModel ऑब्जेक्ट शुरू करना होगा:

Kotlin:

val generativeModel = GenerativeModel(
      // For text-only input, use the gemini-pro model
      modelName = "gemini-pro",
      // Access your API key as a Build Configuration variable (see "Set up your API key" above)
      apiKey = BuildConfig.apiKey
)

जावा:

Java के लिए, आपको GenerativeModelFutures ऑब्जेक्ट भी शुरू करना होगा.

// For text-only input, use the gemini-pro model
GenerativeModel gm = new GenerativeModel(/* modelName */ "gemini-pro",
// Access your API key as a Build Configuration variable (see "Set up your API key" above)
      /* apiKey */ BuildConfig.apiKey);

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

टेक्स्ट जनरेट करें

Python

response = model.generate_content("Write a story about a magic backpack.")
print(response.text)

शुरू करें

resp, err := model.GenerateContent(ctx, genai.Text("Write a story about a magic backpack."))
if err != nil {
  log.Fatal(err)
}

Node.js

async function run() {
  const prompt = "Write a story about a magic backpack."

  const result = await model.generateContent(prompt);
  const response = await result.response;
  const text = response.text();
  console.log(text);
}

run();

वेब

async function run() {
  const prompt = "Write a story about a magic backpack."

  const result = await model.generateContent(prompt);
  const response = await result.response;
  const text = response.text();
  console.log(text);
}

run();

डार्ट (फ़्लटर)

void main() async {
   // Access your API key as an environment variable (see "Set up your API key" above)
   final apiKey = Platform.environment['API_KEY'];
   if (apiKey == null) {
      print('No \$API_KEY environment variable');
      exit(1);
   }
   // For text-only input, use the gemini-pro model
   final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey);
   final content = [Content.text('Write a story about a magic backpack.')];
   final response = await model.generateContent(content);
   print(response.text);
}

Swift

let prompt = "Write a story about a magic backpack."
let response = try await model.generateContent(prompt)
if let text = response.text {
  print(text)
}

Android

Kotlin:

ध्यान दें कि generateContent() एक निलंबित फ़ंक्शन है और इसे कोरूटीन स्कोप से कॉल किया जाना चाहिए. अगर आप Coroutines के बारे में नहीं जानते, तो Android पर Kotlin Coroutines पढ़ें.

val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)

जावा:

ध्यान दें कि generateContent() से ListenableFuture दिखता है. अगर आपको इस एपीआई के बारे में जानकारी नहीं है, तो ListenableFuture का इस्तेमाल करने के बारे में Android दस्तावेज़ देखें.

Content content = new Content.Builder()
      .addText("Write a story about a magic backpack.")
      .build();

Executor executor = // ...

ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
      @Override
      public void onSuccess(GenerateContentResponse result) {
         String resultText = result.getText();
         System.out.println(resultText);
      }

      @Override
      public void onFailure(Throwable t) {
         t.printStackTrace();
      }
}, executor);

आगे क्या करना है

Gemini API के साथ काम करने के बारे में ज़्यादा जानने के लिए, अपनी पसंद की भाषा का ट्यूटोरियल देखें.

Gemini API को आज़माने के लिए, curl कमांड का भी इस्तेमाल किया जा सकता है:

अगर आपने जनरेटिव एआई मॉडल का इस्तेमाल पहले कभी नहीं किया है, तो क्विकस्टार्ट की सुविधा आज़माने से पहले, कॉन्सेप्ट से जुड़ी गाइड और Gemini API की खास जानकारी देखें.