Gemini API, kendi verileriniz üzerinde semantik alma işlemi gerçekleştirmenize olanak tanır. verilerinizin anahtarlarından daha katı erişim denetimleri olması gerekir.
Bu hızlı başlangıç kılavuzunda, size uygun olan basitleştirilmiş bir kimlik doğrulama yaklaşımı kullanılmıştır test ortamı. Üretim ortamı için: hakkında kimlik doğrulama ve yetkilendirme önce erişim kimlik bilgilerini seçme seçmeniz gerekir.
Hedefler
- Bulut projenizi OAuth için ayarlayın
- application-default-credentials'ı ayarla
gcloud auth
kullanmak yerine programınızda kimlik bilgilerini yönetin
Ön koşullar
Bu hızlı başlangıç kılavuzunu çalıştırmak için gerekenler:
Bulut projenizi ayarlayın
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 bir Google Cloud projesinde etkinleştirmeniz gerekir.
Google Cloud konsolunda 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 olarak ekleyin belirtir. Cloud projeniz için bu adımı zaten tamamladıysanız şu bölüme geçin: bir sonraki bölüme geçin.
Google Cloud konsolunda Menü'ye gidin > API'ler ve Hizmetler > OAuth izin ekranı'nı seçin.
Uygulamanız için Harici kullanıcı türünü seçin ve 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. Google Workspace dışında kullanmak üzere bir uygulama oluşturduğunuzda yetkilendirme kapsamlarını eklemeniz ve doğrulamanız pek çok bilgi sağlayabilir.
Test kullanıcıları ekleyin:
- Test kullanıcıları bölümünde Kullanıcı ekle'yi tıklayın.
- E-posta adresinizi ve diğer yetkili test kullanıcılarını girin, ardından Kaydet ve Devam Et'i tıklayın.
Uygulama kaydı özetinizi inceleyin. Değişiklik yapmak için Düzenle'yi tıklayın. Eğer Uygulama kaydında bir sorun yoksa Kontrol Paneline Dön'ü tıklayın.
3. Masaüstü uygulaması için kimlik bilgilerini yetkilendirme
Son kullanıcı olarak kimlik doğrulamak ve uygulamanızdaki kullanıcı verilerine erişmek için şunları yapmanız gerekir: En az bir OAuth 2.0 İstemci Kimliği oluşturun. Client-ID, bir tek bir uygulamayı Google'ın OAuth sunucularına göndermesini sağlar. Uygulamanız birden fazla platformda çalışıyorsa her platform için ayrı bir istemci kimliği oluşturmanız gerekir.
Google Cloud konsolunda Menü'ye gidin > API'ler ve Hizmetler > Credentials (Kimlik Bilgisi).
Kimlik Bilgisi Oluştur'u tıklayın > OAuth istemci kimliği.
Uygulama türü'nü tıklayın > Masaüstü uygulaması.
Ad alanına kimlik bilgisi için bir ad yazın. Bu ad yalnızca Google Cloud Console'da görebilirsiniz.
Oluştur'u tıklayın. OAuth istemcisi oluşturuldu ekranı görünür ve yeni istemcinizi gösterir İstemci kimliği ve İstemci gizli anahtarı.
Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi OAuth 2.0 İstemcisi altında görünür. Kimlikler.
JSON dosyasını kaydetmek için indir düğmesini tıklayın. Şu şekilde kaydedilecek:
client_secret_<identifier>.json
veclient_secret.json
olarak yeniden adlandır çalışma dizininize taşımanızı sağlar.
Uygulama varsayılan kimlik bilgilerini ayarlama
client_secret.json
dosyasını kullanılabilir kimlik bilgilerine dönüştürmek için
gcloud auth application-default login
komutunun konumunu
--client-id-file
bağımsız değişkeni.
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ğitimdeki basitleştirilmiş proje kurulumu "Google, doğruladı." iletişim kutusu. Bu normal bir durumdur. "Devam"ı seçin.
Bu işlem, sonuçta elde edilen jetonu iyi bilinen bir konuma yerleştirir ve böylece jeton erişilebilir.
gcloud
veya istemci kitaplıklarınız tarafından oluşturulur.
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) ayarlandıktan sonra, istemci çoğu dildeki kitaplıkların bulmak için yardıma ihtiyacı yoktur veya hiç yoktur.
Curl
Bunun çalışıp çalışmadığını test etmenin en hızlı yolu, onu REST'e erişmek için kullanmaktır. Curl kullanan 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'da istemci kitaplıkları bunları otomatik olarak bulur:
pip install google-generativeai
Test etmek için kullanabileceğiniz küçük komut dosyası şu 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 denemeye hazırsınız demektir. Metin verilerinizin semantik olarak alınması.
Kimlik bilgilerini kendiniz yönetme [Python]
Çoğu durumda, erişim oluşturmak için gcloud
komutu kullanılamaz
istemci kimliğinden (client_secret.json
) gelen bir jetondur. Google'ın sağladığı kütüphaneler
pek çok dilde düzenlemenizi sağlayabilir. Bu bölüm
Python’da süreci gösterir. Bu tür için eşdeğer örnekler vardır
diğer diller için
Drive API dokümanları
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
Yetkilendirmeyi tıklama sayınızı en aza indirmek için
ekranında, çalışma dizininizde load_creds.py
adlı bir dosya oluşturarak
bir token.json
dosyasını önbelleğe alır. Bu dosyayı daha sonra yeniden kullanabilir veya süresi dolarsa yenileyebilir.
Şununla başlayın:
client_secret.json
dosyasını
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. 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ırma
Ç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 komut dosyası tıklayın.
Google Hesabınızda henüz oturum açmadıysanız oturum açın. Birden çok hesapta oturum açtıysanız mutlaka "Test Hesabı" olarak ayarladığınız hesap dikkate almanız gerekir.
Yetkilendirme bilgileri dosya sisteminde saklanır. Böylece, bir sonraki örnek kodu çalıştırdığınızda yetkilendirme istenmez.
Kimlik doğrulamayı başarıyla ayarladınız.