Gemini API में पुष्टि करने का सबसे आसान तरीका, एपीआई पासकोड को कॉन्फ़िगर करना है. इसके बारे में Gemini API के क्विकस्टार्ट में बताया गया है. अगर आपको ऐक्सेस कंट्रोल को ज़्यादा बेहतर तरीके से मैनेज करना है, तो OAuth का इस्तेमाल करें. इस गाइड की मदद से, OAuth की मदद से पुष्टि करने की सुविधा सेट अप की जा सकती है.
इस गाइड में, पुष्टि करने का आसान तरीका बताया गया है. यह टेस्टिंग एनवायरमेंट के लिए सही है. प्रोडक्शन एनवायरमेंट के लिए, अपने ऐप्लिकेशन के हिसाब से सही ऐक्सेस क्रेडेंशियल चुनने से पहले, पुष्टि करने और अनुमति देने के बारे में जानें.
मकसद
- OAuth के लिए अपना क्लाउड प्रोजेक्ट सेट अप करना
- application-default-credentials सेट अप करना
gcloud auth
का इस्तेमाल करने के बजाय, अपने प्रोग्राम में क्रेडेंशियल मैनेज करना
ज़रूरी शर्तें
इस क्विकस्टार्ट को चलाने के लिए, आपके पास ये चीज़ें होनी चाहिए:
अपना क्लाउड प्रोजेक्ट सेट अप करना
इस क्विकस्टार्ट को पूरा करने के लिए, आपको सबसे पहले अपना Cloud प्रोजेक्ट सेट अप करना होगा.
1. एपीआई चालू करना
Google API का इस्तेमाल करने से पहले, आपको उन्हें Google Cloud प्रोजेक्ट में चालू करना होगा.
Google Cloud Console में, Google Generative Language API चालू करें.
2. उस स्क्रीन को कॉन्फ़िगर करना जहां OAuth के लिए सहमति दी जाती है
इसके बाद, प्रोजेक्ट की उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है. साथ ही, खुद को टेस्टर के तौर पर जोड़ें. अगर आपने अपने Cloud प्रोजेक्ट के लिए यह चरण पहले ही पूरा कर लिया है, तो अगले सेक्शन पर जाएं.
Google Cloud Console में, मेन्यू > Google Auth platform > खास जानकारी पर जाएं.
प्रोजेक्ट कॉन्फ़िगरेशन फ़ॉर्म भरें. इसके बाद, दर्शक सेक्शन में जाकर, उपयोगकर्ता का टाइप बाहरी पर सेट करें.
फ़ॉर्म में बाकी जानकारी भरें. इसके बाद, उपयोगकर्ता के डेटा से जुड़ी नीति की शर्तों को स्वीकार करें और बनाएं पर क्लिक करें.
फ़िलहाल, स्कोप जोड़ने की प्रोसेस को स्किप किया जा सकता है. इसके बाद, सेव करें और जारी रखें पर क्लिक करें. आने वाले समय में, जब आपको अपने Google Workspace संगठन के बाहर इस्तेमाल करने के लिए कोई ऐप्लिकेशन बनाना हो, तब आपको उन अनुमति के दायरे को जोड़ना और उनकी पुष्टि करनी होगी जिनकी आपके ऐप्लिकेशन को ज़रूरत है.
टेस्ट करने वाले उपयोगकर्ताओं को जोड़ें:
- Google Auth platformके Audience page पर जाएं.
- टेस्ट उपयोगकर्ता में जाकर, उपयोगकर्ता जोड़ें पर क्लिक करें.
- अपना ईमेल पता और टेस्ट करने वाले अन्य ज़्यादाृत उपयोगकर्ताओं का ईमेल पता डालें. इसके बाद, सेव करें पर क्लिक करें.
3. डेस्कटॉप ऐप्लिकेशन के लिए क्रेडेंशियल को अनुमति देना
असली उपयोगकर्ता के तौर पर पुष्टि करने और अपने ऐप्लिकेशन में उपयोगकर्ता का डेटा ऐक्सेस करने के लिए, आपको एक या उससे ज़्यादा OAuth 2.0 क्लाइंट आईडी बनाने होंगे. क्लाइंट आईडी का इस्तेमाल, Google के OAuth सर्वर पर किसी एक ऐप्लिकेशन की पहचान करने के लिए किया जाता है. अगर आपका ऐप्लिकेशन कई प्लैटफ़ॉर्म पर चलता है, तो आपको हर प्लैटफ़ॉर्म के लिए अलग क्लाइंट आईडी बनाना होगा.
Google Cloud Console में, मेन्यू > Google Auth platform > क्लाइंट पर जाएं.
क्लाइंट बनाएं पर क्लिक करें.
ऐप्लिकेशन का टाइप > डेस्कटॉप ऐप्लिकेशन पर क्लिक करें.
नाम फ़ील्ड में, क्रेडेंशियल के लिए कोई नाम टाइप करें. यह नाम सिर्फ़ Google Cloud Console में दिखता है.
बनाएं पर क्लिक करें. OAuth क्लाइंट बनाया गया स्क्रीन दिखेगी. इसमें आपका नया क्लाइंट आईडी और क्लाइंट सीक्रेट दिखेगा.
ठीक है पर क्लिक करें. नया क्रेडेंशियल, OAuth 2.0 क्लाइंट आईडी में दिखता है.
JSON फ़ाइल सेव करने के लिए, डाउनलोड बटन पर क्लिक करें. इसे
client_secret_<identifier>.json
के तौर पर सेव किया जाएगा. इसके बाद, इसका नाम बदलकरclient_secret.json
कर दें और इसे अपनी वर्किंग डायरेक्ट्री में ले जाएं.
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल सेट अप करना
client_secret.json
फ़ाइल को इस्तेमाल किए जा सकने वाले क्रेडेंशियल में बदलने के लिए, gcloud auth application-default login
कमांड के --client-id-file
आर्ग्युमेंट में इसकी जगह की जानकारी पास करें.
gcloud auth application-default login \
--client-id-file=client_secret.json \
--scopes='https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/generative-language.retriever'
इस ट्यूटोरियल में, प्रोजेक्ट को आसानी से सेट अप करने की सुविधा दी गई है. इससे "Google ने इस ऐप्लिकेशन की पुष्टि नहीं की है." डायलॉग बॉक्स ट्रिगर होता है. यह सामान्य है. "जारी रखें" को चुनें.
इससे, नतीजे के तौर पर मिले टोकन को ऐसी जगह पर रखा जाता है जहां से gcloud
या क्लाइंट लाइब्रेरी इसे ऐक्सेस कर सकती हैं.
gcloud auth application-default login
--no-browser
--client-id-file=client_secret.json
--scopes='https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/generative-language.retriever'
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (एडीसी) सेट करने के बाद, ज़्यादातर भाषाओं में क्लाइंट लाइब्रेरी को उन्हें ढूंढने के लिए बहुत कम या किसी भी मदद की ज़रूरत नहीं होती.
कर्ल
यह काम कर रहा है या नहीं, यह जांचने का सबसे तेज़ तरीका है कि इसका इस्तेमाल curl का इस्तेमाल करके REST API को ऐक्सेस करने के लिए किया जाए:
access_token=$(gcloud auth application-default print-access-token) project_id=<MY PROJECT ID>
curl -X GET https://generativelanguage.googleapis.com/v1/models \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer ${access_token}" \ -H "x-goog-user-project: ${project_id}" | grep '"name"'
Python
Python में, क्लाइंट लाइब्रेरी को ये अपने-आप मिल जाने चाहिए:
pip install google-generativeai
इसे टेस्ट करने के लिए, कम से कम स्क्रिप्ट यह हो सकती है:
import google.generativeai as genai
print('Available base models:', [m.name for m in genai.list_models()])
अगले चरण
अगर यह काम कर रहा है, तो अब अपने टेक्स्ट डेटा पर सिमैंटिक रिट्रीवल आज़माएं.
क्रेडेंशियल खुद मैनेज करना [Python]
कई मामलों में, आपके पास क्लाइंट आईडी (client_secret.json
) से ऐक्सेस टोकन बनाने के लिए, gcloud
कमांड उपलब्ध नहीं होगी. Google, कई भाषाओं में लाइब्रेरी उपलब्ध कराता है, ताकि आप अपने ऐप्लिकेशन में उस प्रोसेस को मैनेज कर सकें. इस सेक्शन में, Python में प्रोसेस के बारे में बताया गया है. इस तरह की प्रोसेस के मिलते-जुलते उदाहरण, अन्य भाषाओं के लिए भी उपलब्ध हैं. इन्हें Drive API के दस्तावेज़ में देखा जा सकता है
1. ज़रूरी लाइब्रेरी इंस्टॉल करना
Python के लिए Google क्लाइंट लाइब्रेरी और Gemini क्लाइंट लाइब्रेरी इंस्टॉल करें.
pip install --upgrade -q google-api-python-client google-auth-httplib2 google-auth-oauthlib
pip install google-generativeai
2. क्रेडेंशियल मैनेजर के बारे में लिखें
बार-बार अनुमति देने वाली स्क्रीन पर क्लिक करने से बचने के लिए, अपनी वर्किंग डायरेक्ट्री में load_creds.py
नाम की फ़ाइल बनाएं. इससे token.json
फ़ाइल को कैश किया जा सकेगा, ताकि बाद में इसका फिर से इस्तेमाल किया जा सके. अगर यह फ़ाइल खत्म हो जाती है, तो इसे रीफ़्रेश किया जा सकता है.
client_secret.json
फ़ाइल को genai.configure
के साथ इस्तेमाल किए जा सकने वाले टोकन में बदलने के लिए, इस कोड का इस्तेमाल करें:
import os.path
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
SCOPES = ['https://www.googleapis.com/auth/generative-language.retriever']
def load_creds():
"""Converts `client_secret.json` to a credential object.
This function caches the generated tokens to minimize the use of the
consent screen.
"""
creds = None
# The file token.json stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists('token.json'):
creds = Credentials.from_authorized_user_file('token.json', SCOPES)
# If there are no (valid) credentials available, let the user log in.
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
else:
flow = InstalledAppFlow.from_client_secrets_file(
'client_secret.json', SCOPES)
creds = flow.run_local_server(port=0)
# Save the credentials for the next run
with open('token.json', 'w') as token:
token.write(creds.to_json())
return creds
3. अपना प्रोग्राम लिखना
अब अपना script.py
बनाएं:
import pprint
import google.generativeai as genai
from load_creds import load_creds
creds = load_creds()
genai.configure(credentials=creds)
print()
print('Available base models:', [m.name for m in genai.list_models()])
4. प्रोग्राम चलाएं
अपनी वर्किंग डायरेक्ट्री में, सैंपल चलाएं:
python script.py
स्क्रिप्ट को पहली बार चलाने पर, यह एक ब्राउज़र विंडो खोलती है और आपसे ऐक्सेस की अनुमति देने के लिए कहती है.
अगर आपने Google खाते में पहले से साइन इन नहीं किया है, तो आपको साइन इन करने के लिए कहा जाएगा. अगर आपने एक से ज़्यादा खातों में साइन इन किया है, तो प्रोजेक्ट कॉन्फ़िगर करते समय, "टेस्ट खाता" के तौर पर सेट किया गया खाता चुनना न भूलें.
अनुमति से जुड़ी जानकारी फ़ाइल सिस्टम में सेव होती है. इसलिए, अगली बार सैंपल कोड चलाने पर, आपको अनुमति देने के लिए नहीं कहा जाएगा.
आपने पुष्टि करने की सुविधा को सेटअप कर लिया है.