Mit der Gemini API können Sie Ihre eigenen Daten semantisch abrufen. Da es sich um Ihre Daten benötigen, sind dafür strengere Zugriffskontrollen als API-Schlüssel erforderlich.
In dieser Kurzanleitung wird ein vereinfachter Authentifizierungsansatz verwendet, für eine Testumgebung. Für eine Produktionsumgebung Info Authentifizierung und Autorisierung vorher Anmeldedaten auswählen die für Ihre App geeignet sind.
Zielsetzungen
- Cloud-Projekt für OAuth einrichten
- Standardanmeldedaten für Anwendungen einrichten
- Anmeldedaten in deinem Programm verwalten, anstatt
gcloud auth
zu verwenden
Vorbereitung
Zum Ausführen dieser Kurzanleitung benötigen Sie Folgendes:
Cloud-Projekt einrichten
Für diese Kurzanleitung müssen Sie zuerst Ihr Cloud-Projekt einrichten.
1. API aktivieren
Bevor Sie Google APIs verwenden können, müssen Sie sie in einem Google Cloud-Projekt aktivieren.
Aktivieren Sie in der Google Cloud Console die Google Generative Language API.
2. OAuth-Zustimmungsbildschirm konfigurieren
Konfigurieren Sie als Nächstes den OAuth-Zustimmungsbildschirm des Projekts und fügen Sie sich selbst als Test hinzu Nutzer. Wenn Sie diesen Schritt für Ihr Cloud-Projekt bereits ausgeführt haben, fahren Sie mit dem nächsten Abschnitt.
Rufen Sie in der Google Cloud Console das Menü auf > APIs und Dienste > OAuth Zustimmungbildschirm.
Wählen Sie für Ihre Anwendung den Nutzertyp Extern aus und klicken Sie dann auf Erstellen.
Füllen Sie das App-Registrierungsformular aus (die meisten Felder können leer bleiben). Klicken Sie dann auf Speichern und fortfahren.
Vorerst können Sie das Hinzufügen von Bereichen überspringen und auf Speichern und fortfahren klicken. Im wenn Sie eine App zur Verwendung außerhalb Ihres Google Workspace-Kontos erstellen. Organisation gehören, müssen Sie die Autorisierungsbereiche, die Ihre die für die App erforderlich sind.
Testnutzer hinzufügen:
- Klicken Sie unter Testnutzer auf Nutzer hinzufügen.
- Geben Sie Ihre E-Mail-Adresse und weitere autorisierte Testnutzer ein. Klicken Sie auf Speichern und fortfahren.
Überprüfen Sie Ihre App-Registrierungsübersicht. Klicken Sie auf Bearbeiten, um Änderungen vorzunehmen. Wenn die App-Registrierung in Ordnung ist, klicken Sie auf Zurück zum Dashboard.
3. Anmeldedaten für eine Desktopanwendung autorisieren
Für die Authentifizierung als Endnutzer und für den Zugriff auf Nutzerdaten in Ihrer Anwendung müssen Sie mindestens eine OAuth 2.0-Client-ID erstellen. Eine Client-ID wird zur Identifizierung einer einzelnen Anwendung bei Googles OAuth-Servern verwendet. Wenn Ihre App auf mehreren Plattformen läuft, müssen Sie für jede Plattform eine separate Client-ID erstellen.
Rufen Sie in der Google Cloud Console das Menü auf > APIs und Dienste > Anmeldedaten:
Klicken Sie auf Anmeldedaten erstellen. OAuth-Client-ID.
Klicken Sie auf Anwendungstyp > Desktop-App:
Geben Sie in das Feld Name einen Namen für die Anmeldedaten ein. Dieser Name ist nur in der Google Cloud Console angezeigt.
Klicken Sie auf Erstellen. Der Bildschirm "OAuth-Client erstellt" wird angezeigt. Client-ID und Clientschlüssel.
Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter OAuth 2.0-Client IDs.
Klicken Sie auf die Schaltfläche zum Herunterladen, um die JSON-Datei zu speichern. Sie wird gespeichert unter
client_secret_<identifier>.json
und benennen Sie ihn inclient_secret.json
um und in Ihr Arbeitsverzeichnis verschieben.
Standardanmeldedaten für Anwendungen einrichten
Um die Datei client_secret.json
in brauchbare Anmeldedaten zu konvertieren, übergeben Sie ihre
Speicherort des Befehls gcloud auth application-default login
--client-id-file
-Argument.
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'
Die vereinfachte Projekteinrichtung in dieser Anleitung löst eine "Google hat hat diese App bestätigt.“ angezeigt. Das ist normal. Wählen Sie Weiter aus.
Dadurch wird das resultierende Token an einem bekannten Speicherort abgelegt, sodass darauf zugegriffen werden kann.
durch gcloud
oder die Clientbibliotheken.
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'
Nachdem Sie die Standardanmeldedaten für Anwendungen (ACD) festgelegt haben, Bibliotheken in den meisten Sprachen nur wenig bis gar keine Hilfe benötigen, um sie zu finden.
Curl
Am schnellsten können Sie testen, ob dies funktioniert, wenn Sie damit auf die REST API zugreifen. API mit curl:
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
In Python sollten sie von den Clientbibliotheken automatisch gefunden werden:
pip install google-generativeai
Hier ist ein minimales Skript zum Testen:
import google.generativeai as genai
print('Available base models:', [m.name for m in genai.list_models()])
Nächste Schritte
Wenn das funktioniert, können Sie Semantische Abfrage Ihrer Textdaten:
Anmeldedaten selbst verwalten [Python]
In vielen Fällen ist der Befehl gcloud
nicht verfügbar, um den Zugriff zu erstellen
Token von der Client-ID (client_secret.json
). Google stellt Bibliotheken in
viele Sprachen, damit Sie diesen Prozess in Ihrer App verwalten können. Dieser Abschnitt
demonstriert der Prozess in Python. Es gibt gleichwertige Beispiele für diese Art
Weitere Sprachen finden Sie in der
Drive API-Dokumentation
1. Erforderliche Bibliotheken installieren
Installieren Sie die Google-Clientbibliothek für Python und die Gemini-Clientbibliothek.
pip install --upgrade -q google-api-python-client google-auth-httplib2 google-auth-oauthlib
pip install google-generativeai
2. Anmeldedaten-Manager schreiben
Damit Sie die Autorisierung so wenig wie möglich durchklicken müssen
Bildschirmen öffnen, erstellen Sie eine Datei mit dem Namen load_creds.py
in Ihrem Arbeitsverzeichnis,
speichert eine token.json
-Datei im Cache, die sie später wiederverwenden oder bei Ablauf aktualisieren kann.
Beginnen Sie mit der
den folgenden Code zum Konvertieren der Datei client_secret.json
in ein Token, das mit
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. Programm schreiben
Erstellen Sie jetzt Ihr 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. Programm ausführen
Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
python script.py
Wenn Sie das Skript zum ersten Mal ausführen, wird ein Browserfenster geöffnet und Sie werden gefragt, um den Zugriff zu autorisieren.
Wenn Sie noch nicht in Ihrem Google-Konto angemeldet sind, werden Sie aufgefordert, melden Sie sich an. Wenn Sie in mehreren Konten angemeldet sind, wählen Sie das -Konto, das Sie als "Testkonto" festgelegt haben wenn Sie Ihr Projekt konfigurieren.
Autorisierungsinformationen werden im Dateisystem gespeichert. Wenn Sie das nächste Mal den Beispielcode ausführen, werden Sie nicht zur Autorisierung aufgefordert.
Sie haben die Authentifizierung eingerichtet.