Gemini API, kendi verilerinizde semantik alma işlemi gerçekleştirebilmenizi sağlar. Söz konusu olan sizin verileriniz olduğu için bu işlem, API anahtarlarından daha sıkı erişim kontrolleri gerektirir.
Bu hızlı başlangıç kılavuzu, test ortamı için uygun olan basitleştirilmiş bir kimlik doğrulama yaklaşımı kullanır. Üretim ortamı için uygulamanız için uygun olan erişim kimlik bilgilerini seçmeden önce kimlik doğrulama ve yetkilendirme hakkında bilgi edinin.
Hedefler
- Bulut projenizi OAuth için ayarlayın
- application-default-credentials'i ayarla
gcloud auth
kullanmak yerine programınızdaki kimlik bilgilerini yönetin
Ön koşullar
Bu hızlı başlangıç kılavuzunu çalıştırmak için ihtiyacınız olanlar:
Bulut projenizi oluşturun
Bu hızlı başlangıç kılavuzunu tamamlamak için önce Cloud projenizi kurmanız gerekir.
1. API'yi etkinleştirme
Google API'lerini kullanmadan önce bunları bir Google Cloud projesinde etkinleştirmeniz gerekir.
Google Cloud Console'da Google Generative Language API'yi etkinleştirin.
2. OAuth izin ekranını yapılandırın
Ardından, projenin OAuth izin ekranını yapılandırın ve kendinizi test kullanıcısı olarak ekleyin. Cloud projeniz için bu adımı zaten tamamladıysanız sonraki bölüme geçin.
Google Cloud konsolunda Menü > API'ler ve Hizmetler > OAuth izin ekranı'na gidin.
Uygulamanız için Harici kullanıcı türünü seçin, ardından Oluştur'u tıklayın.
Uygulama kayıt formunu doldurun (çoğu alanı boş bırakabilirsiniz), ardından Kaydet ve Devam Et'i tıklayın.
Şimdilik kapsam eklemeyi atlayıp Kaydet ve Devam Et'i tıklayabilirsiniz. Gelecekte, Google Workspace kuruluşunuzun dışında kullanmak için bir uygulama oluşturduğunuzda, uygulamanızın gerektirdiği yetkilendirme kapsamlarını eklemeniz ve doğrulamanız gerekir.
Test kullanıcıları ekleyin:
- Test kullanıcıları'nın altında Kullanıcı ekle'yi tıklayın.
- E-posta adresinizi ve diğer yetkili test kullanıcılarınızı girip Kaydet ve Devam Et'i tıklayın.
Uygulama kaydı özetinizi inceleyin. Değişiklik yapmak için Düzenle'yi tıklayın. Uygulama kaydı sorunsuz görünüyorsa Kontrol Paneline Dön'ü tıklayın.
3. Masaüstü uygulaması için kimlik bilgilerini yetkilendirme
Son kullanıcı olarak kimlik doğrulaması yapmak ve uygulamanızda kullanıcı verilerine erişmek için bir veya daha fazla OAuth 2.0 İstemci Kimliği oluşturmanız gerekir. İstemci kimliği, tek bir uygulamayı Google'ın OAuth sunucularına tanımlamak için kullanılır. Uygulamanız birden fazla platformda çalışıyorsa her platform için ayrı bir istemci kimliği oluşturmanız gerekir.
Google Cloud konsolunda Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.
Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
Uygulama türü > Masaüstü uygulaması'nı tıklayın.
Ad alanına kimlik bilgisi için bir ad yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
Create'i (Oluştur) tıklayın. OAuth istemcisi tarafından oluşturulan ekran görünür ve yeni İstemci Kimliğinizi ve İstemci Gizli Anahtarı'nızı gösterir.
OK (Tamam) seçeneğini tıklayın. Yeni oluşturulan kimlik bilgisi, OAuth 2.0 İstemci Kimlikleri bölümünde gösterilir.
JSON dosyasını kaydetmek için indir düğmesini tıklayın.
client_secret_<identifier>.json
olarak kaydedilecek veclient_secret.json
olarak yeniden adlandırıp çalışma dizininize taşınacak.
Uygulama varsayılan kimlik bilgilerini ayarlayın
client_secret.json
dosyasını kullanılabilir kimlik bilgilerine dönüştürmek için konumunu gcloud auth application-default login
komutunun --client-id-file
bağımsız değişkenine aktarın.
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'
Bu eğiticideki basitleştirilmiş proje kurulumu, "Google bu uygulamayı doğrulamadı" iletişim kutusunu tetikler. Bu normal bir durumdur. "devam et"i seçin.
Böylece, oluşturulan jetonu iyi bilinen bir konuma yerleştirerek gcloud
veya istemci kitaplıklarının erişimine sunabilirsiniz.
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'
Uygulama varsayılan kimlik bilgilerini (ACD) ayarladıktan sonra, çoğu dildeki istemci kitaplıklarının bunları bulmak için minimum düzeyde yardıma ihtiyacı vardır veya hiç yardıma ihtiyaç duyulmaz.
Kıvırma
Bunun çalışıp çalışmadığını test etmenin en hızlı yolu, API'yi curl kullanarak REST API'ye erişmek için kullanmaktır:
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'da istemci kitaplıkları bunları otomatik olarak bulur:
pip install google-generativeai
Bunu test etmeye yarayan minimal komut dosyası şöyle olabilir:
import google.generativeai as genai
print('Available base models:', [m.name for m in genai.list_models()])
Sonraki adımlar
Bu çözüm işe yararsa Metin verilerinizde anlamsal alma özelliğini denemeye hazırsınız.
Kimlik bilgilerini kendiniz yönetme [Python]
Çoğu durumda, erişim jetonunu istemci kimliğinden (client_secret.json
) oluşturmak için gcloud
komutunu kullanamazsınız. Google, bu işlemi uygulamanızda yönetebilmeniz için birçok dilde kitaplıklar sağlar. Bu bölümde python'daki işlem gösterilmektedir. Bu tür prosedürlerin başka diller için de eşdeğer örneklerini Drive API belgelerinde bulabilirsiniz.
1. Gerekli kitaplıkları yükleyin
Python için Google istemci kitaplığını ve Gemini istemci kitaplığını yükleyin.
pip install --upgrade -q google-api-python-client google-auth-httplib2 google-auth-oauthlib
pip install google-generativeai
2. Kimlik bilgisi yöneticisini yazma
Yetkilendirme ekranlarını tıklama zorunluluğunu en aza indirmek için çalışma dizininizde load_creds.py
adlı bir dosya oluşturun. Bu dosya, daha sonra yeniden kullanabileceği bir token.json
dosyasını önbelleğe alır veya süresi dolarsa yenileyin.
client_secret.json
dosyasını genai.configure
ile kullanılabilen bir jetona dönüştürmek için aşağıdaki kodla başlayın:
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. Programınızı yazın
Şimdi script.py
oluşturun:
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. Programınızı çalıştırın
Çalışma dizininizde örneği çalıştırın:
python script.py
Komut dosyasını ilk kez çalıştırdığınızda bir tarayıcı penceresi açılır ve erişimi yetkilendirmeniz istenir.
Google Hesabınızda henüz oturum açmadıysanız oturum açmanız istenir. Birden fazla hesapta oturum açtıysanız projenizi yapılandırırken "Test Hesabı" olarak belirlediğiniz hesabı seçtiğinizden emin olun.
Yetkilendirme bilgileri dosya sisteminde depolanır. Böylece örnek kodu bir sonraki çalıştırmanızda yetkilendirme istenmez.
Kimlik doğrulamasını başarıyla kurdunuz.