Gemini API-এ প্রমাণীকরণের সবচেয়ে সহজ উপায় হল একটি API কী কনফিগার করা, যেমনটি Gemini API quickstart- এ বর্ণিত হয়েছে। আপনার যদি আরও কঠোর অ্যাক্সেস নিয়ন্ত্রণের প্রয়োজন হয়, আপনি পরিবর্তে OAuth ব্যবহার করতে পারেন। এই নির্দেশিকা আপনাকে OAuth এর সাথে প্রমাণীকরণ সেট আপ করতে সাহায্য করবে।
এই নির্দেশিকাটি একটি সরলীকৃত প্রমাণীকরণ পদ্ধতি ব্যবহার করে যা একটি পরীক্ষার পরিবেশের জন্য উপযুক্ত। একটি উত্পাদন পরিবেশের জন্য, আপনার অ্যাপের জন্য উপযুক্ত অ্যাক্সেস শংসাপত্রগুলি বেছে নেওয়ার আগে প্রমাণীকরণ এবং অনুমোদন সম্পর্কে জানুন৷
উদ্দেশ্য
- OAuth এর জন্য আপনার ক্লাউড প্রকল্প সেট আপ করুন
- অ্যাপ্লিকেশন-ডিফল্ট-প্রমাণপত্র সেট আপ করুন
-
gcloud auth
ব্যবহার করার পরিবর্তে আপনার প্রোগ্রামে শংসাপত্রগুলি পরিচালনা করুন
পূর্বশর্ত
এই কুইকস্টার্ট চালানোর জন্য আপনার প্রয়োজন:
আপনার ক্লাউড প্রকল্প সেট আপ করুন
এই কুইকস্টার্টটি সম্পূর্ণ করতে, আপনাকে প্রথমে আপনার ক্লাউড প্রজেক্ট সেটআপ করতে হবে।
1. API সক্রিয় করুন
Google API ব্যবহার করার আগে, আপনাকে একটি Google ক্লাউড প্রকল্পে সেগুলি চালু করতে হবে।
Google ক্লাউড কনসোলে, Google Generative Language API সক্ষম করুন৷
2. OAuth সম্মতি স্ক্রীন কনফিগার করুন
এরপর প্রকল্পের OAuth সম্মতি স্ক্রীন কনফিগার করুন এবং নিজেকে একজন পরীক্ষামূলক ব্যবহারকারী হিসেবে যোগ করুন। আপনি যদি ইতিমধ্যে আপনার ক্লাউড প্রকল্পের জন্য এই পদক্ষেপটি সম্পন্ন করে থাকেন, তাহলে পরবর্তী বিভাগে যান।
Google ক্লাউড কনসোলে, মেনু > API এবং পরিষেবা > OAuth সম্মতি স্ক্রীনে যান।
আপনার অ্যাপের জন্য ইউজার টাইপ এক্সটার্নাল সিলেক্ট করুন, তারপর Create এ ক্লিক করুন।
অ্যাপ নিবন্ধন ফর্মটি পূরণ করুন (আপনি বেশিরভাগ ক্ষেত্র ফাঁকা রাখতে পারেন), তারপর সংরক্ষণ করুন এবং চালিয়ে যান এ ক্লিক করুন।
আপাতত, আপনি স্কোপ যোগ করা এড়িয়ে যেতে পারেন এবং সেভ এবং কন্টিনিউ এ ক্লিক করতে পারেন। ভবিষ্যতে, আপনি যখন আপনার Google Workspace সংস্থার বাইরে ব্যবহারের জন্য একটি অ্যাপ তৈরি করবেন, তখন আপনাকে অবশ্যই আপনার অ্যাপের জন্য প্রয়োজনীয় অনুমোদনের সুযোগ যোগ করতে হবে এবং যাচাই করতে হবে।
পরীক্ষা ব্যবহারকারীদের যোগ করুন:
- টেস্ট ব্যবহারকারীদের অধীনে, ব্যবহারকারী যোগ করুন ক্লিক করুন।
- আপনার ইমেল ঠিকানা এবং অন্য কোন অনুমোদিত পরীক্ষা ব্যবহারকারীদের লিখুন, তারপর সংরক্ষণ করুন এবং চালিয়ে যান ক্লিক করুন।
আপনার অ্যাপ নিবন্ধন সারাংশ পর্যালোচনা করুন. পরিবর্তন করতে, সম্পাদনা ক্লিক করুন। অ্যাপ নিবন্ধন ঠিক আছে বলে মনে হলে, ড্যাশবোর্ডে ফিরে যান ক্লিক করুন।
3. একটি ডেস্কটপ অ্যাপ্লিকেশনের জন্য শংসাপত্র অনুমোদন করুন৷
শেষ ব্যবহারকারী হিসাবে প্রমাণীকরণ করতে এবং আপনার অ্যাপে ব্যবহারকারীর ডেটা অ্যাক্সেস করতে, আপনাকে এক বা একাধিক OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করতে হবে। Google-এর OAuth সার্ভারে একটি একক অ্যাপ শনাক্ত করতে একটি ক্লায়েন্ট আইডি ব্যবহার করা হয়। যদি আপনার অ্যাপ একাধিক প্ল্যাটফর্মে চলে, তাহলে আপনাকে অবশ্যই প্রতিটি প্ল্যাটফর্মের জন্য একটি পৃথক ক্লায়েন্ট আইডি তৈরি করতে হবে।
Google ক্লাউড কনসোলে, মেনু > APIs & Services > Credentials- এ যান।
ক্রিয়েট ক্রেডেনশিয়াল > OAuth ক্লায়েন্ট আইডি ক্লিক করুন।
Application type > Desktop app এ ক্লিক করুন।
নাম ক্ষেত্রে, শংসাপত্রের জন্য একটি নাম টাইপ করুন। এই নামটি শুধুমাত্র Google ক্লাউড কনসোলে দেখানো হয়।
তৈরি করুন ক্লিক করুন। 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'
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'
একবার আপনার কাছে অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ACD) সেট হয়ে গেলে, বেশিরভাগ ভাষায় ক্লায়েন্ট লাইব্রেরিগুলিকে খুঁজে পেতে ন্যূনতম কোন সাহায্যের প্রয়োজন হয় না।
কার্ল
এটি কাজ করছে তা পরীক্ষা করার দ্রুততম উপায় হল কার্ল ব্যবহার করে 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"'
পাইথন
পাইথনে ক্লায়েন্ট লাইব্রেরিগুলি স্বয়ংক্রিয়ভাবে সেগুলি খুঁজে পাবে:
pip install google-generativeai
এটি পরীক্ষা করার জন্য একটি ন্যূনতম স্ক্রিপ্ট হতে পারে:
import google.generativeai as genai
print('Available base models:', [m.name for m in genai.list_models()])
পরবর্তী পদক্ষেপ
যদি এটি কাজ করে তবে আপনি আপনার পাঠ্য ডেটাতে শব্দার্থক পুনরুদ্ধার চেষ্টা করতে প্রস্তুত।
শংসাপত্রগুলি নিজেই পরিচালনা করুন [পাইথন]
অনেক ক্ষেত্রে আপনার কাছে ক্লায়েন্ট আইডি ( client_secret.json
) থেকে অ্যাক্সেস টোকেন তৈরি করতে gcloud
কমান্ড উপলব্ধ থাকবে না। Google আপনাকে আপনার অ্যাপের মধ্যে সেই প্রক্রিয়াটি পরিচালনা করতে দিতে অনেক ভাষায় লাইব্রেরি সরবরাহ করে। এই বিভাগটি পাইথনে প্রক্রিয়াটি প্রদর্শন করে। ড্রাইভ API ডকুমেন্টেশনে উপলব্ধ অন্যান্য ভাষার জন্য এই ধরণের পদ্ধতির সমতুল্য উদাহরণ রয়েছে৷
1. প্রয়োজনীয় লাইব্রেরি ইনস্টল করুন
পাইথনের জন্য Google ক্লায়েন্ট লাইব্রেরি এবং জেমিনি ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন।
pip install --upgrade -q google-api-python-client google-auth-httplib2 google-auth-oauthlib
pip install google-generativeai
2. শংসাপত্র ম্যানেজার লিখুন
অনুমোদন স্ক্রীনগুলির মাধ্যমে আপনাকে যতবার ক্লিক করতে হবে তা কমাতে, আপনার কার্যকারী ডিরেক্টরিতে load_creds.py
নামে একটি ফাইল তৈরি করুন যাতে একটি token.json
ফাইলটি ক্যাশে করা যায় যা এটি পরে পুনরায় ব্যবহার করতে পারে, বা মেয়াদ শেষ হয়ে গেলে রিফ্রেশ করুন৷
genai.configure
এর সাথে ব্যবহারযোগ্য একটি টোকেনে client_secret.json
ফাইল রূপান্তর করতে নিম্নলিখিত কোড দিয়ে শুরু করুন:
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 অ্যাকাউন্টে সাইন ইন না করে থাকেন, তাহলে আপনাকে সাইন ইন করতে বলা হবে৷ আপনি যদি একাধিক অ্যাকাউন্টে সাইন ইন করে থাকেন, তাহলে আপনার প্রকল্প কনফিগার করার সময় আপনি যে অ্যাকাউন্টটিকে "পরীক্ষা অ্যাকাউন্ট" হিসাবে সেট করেছেন সেটি নির্বাচন করতে ভুলবেন না৷
অনুমোদনের তথ্য ফাইল সিস্টেমে সংরক্ষণ করা হয়, তাই পরের বার যখন আপনি নমুনা কোডটি চালাবেন, তখন আপনাকে অনুমোদনের জন্য অনুরোধ করা হবে না।
আপনি সফলভাবে প্রমাণীকরণ সেটআপ করেছেন৷