L'API Gemini vous permet d'effectuer une récupération sémantique de vos propres données. Puisqu'il s'agit vos données, cela nécessite des contrôles d'accès plus stricts que les clés API.
Ce guide de démarrage rapide utilise une approche d'authentification simplifiée et adaptée pour un environnement de test. Pour un environnement de production, découvrez environ authentification et autorisation avant Choisir les identifiants d'accès adaptés à votre application.
Objectifs
- Configurer votre projet cloud pour OAuth
- Configurer les identifiants d'application par défaut
- Gérez les identifiants dans votre programme au lieu d'utiliser
gcloud auth
Prérequis
Pour exécuter ce guide de démarrage rapide, vous avez besoin des éléments suivants:
Configurer votre projet Cloud
Pour suivre ce guide de démarrage rapide, vous devez d'abord configurer votre projet Cloud.
1. Activer l'API
Avant d'utiliser les API Google, vous devez les activer dans un projet Google Cloud.
Dans la console Google Cloud, activez l'API Google Generative Language.
2. Configurer l'écran d'autorisation OAuth
Configurez ensuite l'écran de consentement OAuth du projet et ajoutez-vous en tant que test. utilisateur. Si vous avez déjà effectué cette étape pour votre projet Cloud, passez à la dans la section suivante.
Dans la console Google Cloud, accédez à Menu > API et Services > OAuth écran de consentement.
Sélectionnez le type d'utilisateur Externe pour votre application, puis cliquez sur Créer.
remplir le formulaire d'inscription de l'application (la plupart des champs sont vides) ; puis cliquez sur Enregistrer et continuer.
Pour l'instant, vous pouvez ignorer l'ajout de champs d'application et cliquer sur Enregistrer et continuer. Dans lorsque vous créerez une application à utiliser en dehors de Google Workspace organisation, vous devez ajouter et valider les champs d'application d'autorisation l'application.
Ajoutez des utilisateurs tests:
- Sous Utilisateurs de test, cliquez sur Ajouter des utilisateurs.
- Saisissez votre adresse e-mail et celle de tout autre utilisateur test autorisé, puis cliquez sur Enregistrer et continuer.
Consultez le récapitulatif d'enregistrement de votre application. Pour y apporter des modifications, cliquez sur Modifier. Si l'enregistrement de l'application semble correct, cliquez sur Retour au tableau de bord.
3. Autoriser des identifiants pour une application de bureau
Pour vous authentifier en tant qu'utilisateur final et accéder aux données utilisateur dans votre application, vous devez créer un ou plusieurs ID client OAuth 2.0. Un ID client sert à identifier une application unique auprès des serveurs OAuth de Google. Si votre application s'exécute sur plusieurs plates-formes, vous devez créer un ID client distinct pour chaque plate-forme.
Dans la console Google Cloud, accédez à Menu > API et Services > Identifiants
Cliquez sur Create Credentials (Créer des identifiants) > ID client OAuth :
Cliquez sur Type d'application > Application de bureau :
Dans le champ Nom, saisissez un nom pour l'identifiant. Ce nom est uniquement comme indiqué dans la console Google Cloud.
Cliquez sur Créer. L'écran "Client OAuth créé" s'affiche. Il contient vos nouvelles l'ID et le code secret du client ;
Cliquez sur OK. Les nouveaux identifiants s'affichent sous OAuth 2.0 Client ID.
Cliquez sur le bouton de téléchargement pour enregistrer le fichier JSON. Il sera enregistré en tant que
client_secret_<identifier>.json
et remplacez son nom parclient_secret.json
. et le déplacer vers votre répertoire de travail.
Configurer les identifiants par défaut de l'application
Pour convertir le fichier client_secret.json
en identifiants utilisables, transmettez son
emplacement de la commande 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'
La configuration de projet simplifiée de ce tutoriel déclenche une alerte "Google n'a pas validé cette application." s'affiche. Ceci est normal. Sélectionnez Continuer.
Cela place le jeton obtenu dans un emplacement bien connu afin qu’il soit accessible
par gcloud
ou les bibliothèques clientes.
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'
Une fois les identifiants par défaut de l'application (ACD) définis, le client les bibliothèques dans la plupart des langages ont besoin de très peu d'aide pour les trouver.
Curl
Le moyen le plus rapide de vérifier que tout fonctionne est de l'utiliser pour accéder à l'API REST API à l'aide de 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
En Python, les bibliothèques clientes devraient les trouver automatiquement:
pip install google-generativeai
Voici un exemple de script minimal pour le tester:
import google.generativeai as genai
print('Available base models:', [m.name for m in genai.list_models()])
Étapes suivantes
Si cela fonctionne, vous êtes prêt à essayer Récupération sémantique de vos données textuelles.
Gérer vous-même les identifiants [Python]
Dans de nombreux cas, la commande gcloud
n'est pas disponible pour créer l'accès
à partir de l'ID client (client_secret.json
). Google fournit des bibliothèques
de nombreux langages pour vous permettre
de gérer ce processus dans votre application. Cette section
le processus, en Python. Il existe des exemples équivalents de ce type
de procédure, pour les autres langues,
Documentation sur l'API Drive
1. Installer les bibliothèques nécessaires
Installez la bibliothèque cliente Google pour Python et la bibliothèque cliente Gemini.
pip install --upgrade -q google-api-python-client google-auth-httplib2 google-auth-oauthlib
pip install google-generativeai
2. Écrire le gestionnaire d'identifiants
Afin de réduire le nombre de fois où vous devrez cliquer sur l'autorisation
écrans, créez un fichier nommé load_creds.py
dans votre répertoire de travail pour
met en cache un fichier token.json
qu'il peut réutiliser plus tard ou actualiser s'il expire.
Commencez par les
le code suivant pour convertir le fichier client_secret.json
en jeton utilisable avec
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. Écrire votre programme
Créez maintenant votre 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. Exécuter le programme
Dans votre répertoire de travail, exécutez l'exemple:
python script.py
La première fois que vous exécutez le script, une fenêtre de navigateur s'ouvre et vous y invite. pour autoriser l'accès.
Si vous n'êtes pas déjà connecté à votre compte Google, vous êtes invité à connectez-vous. Si vous êtes connecté à plusieurs comptes, assurez-vous de sélectionner que vous avez défini comme "Compte de test" lorsque vous configurez votre projet.
Les informations d'autorisation sont stockées dans le système de fichiers. Ainsi, la prochaine fois que vous exécuter l'exemple de code, vous n'êtes pas invité à fournir d'autorisation.
L'authentification a bien été configurée.