Lesson 1 — Démarrer avec google-genai

Installer le SDK et faire un premier appel

4 min read

This content is not translated yet. Showing the original version.

Installer le SDK et faire un premier appel

Le vocabulaire

TermeDéfinitionDans le code
SDKbibliothèque officielle qui emballe les appels HTTP à l'APIpip install google-genai, from google import genai
clientl'objet qui connaît vos identifiants et envoie les requêtesclient = genai.Client()
modèlele LLM appelé, désigné par son nommodel="gemini-3.5-flash"
contentsce que vous envoyez : un texte, ou une liste de messagescontents="Bonjour"
réponsel'objet renvoyé : texte, candidats, métadonnées d'usageresponse.text, response.usage_metadata

Installer

terminal
python3 -m venv .venv && source .venv/bin/activate
pip install google-genai python-dotenv pydantic pytest

Puis créez un fichier .env à côté de votre script (jamais versionné dans git) :

.env
GEMINI_API_KEY=votre-cle-ai-studio-ici

Le premier appel

premier_appel.py
from dotenv import load_dotenv
from google import genai

load_dotenv()                 # copie le contenu de .env dans les variables d'environnement
client = genai.Client()       # trouve GEMINI_API_KEY tout seul

response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="Écris un slogan de 10 mots maximum pour une gourde isotherme.",
)
print(response.text)
print(response.candidates[0].finish_reason)
print(response.usage_metadata)
sequenceDiagram
  participant P as Votre script
  participant C as genai.Client
  participant G as API Gemini
  P->>C: generate_content(model, contents)
  C->>G: POST HTTPS + clé d'API
  G-->>C: JSON (candidats, usage)
  C-->>P: objet GenerateContentResponse
  P->>P: response.text

response.text est un raccourci : la réponse complète contient une liste de candidats (des réponses possibles, en pratique une seule), chacun avec ses parts (morceaux de contenu) et une raison de fin (finish_reason) :

finish_reasonSignification
STOPle modèle a fini naturellement
MAX_TOKENSla réponse a été coupée par la limite de tokens
SAFETYbloquée par un filtre de sécurité

Quel import correspond au SDK actuel ?

response.text vaut None et finish_reason vaut MAX_TOKENS. Que s'est-il passé ?

Résultat obtenu

Le même appel exécuté le 2026-10-15 (gemini-3.5-flash, mode clé d'API), sortie mise en forme sur trois lignes :

sortie
text='**Garde la fraîcheur, préserve la chaleur. Partout avec vous.**'
finish=STOP
prompt=18 out=17 thoughts=907 total=942

Remarquez thoughts=907 : le modèle a « réfléchi » 907 tokens pour produire un slogan de 17 tokens. Ces tokens de pensée sont facturés ; nous apprendrons à les mesurer et à les réduire au module 2.

Exercice

Modifiez premier_appel.py pour qu'il prenne le prompt en argument de ligne de commande (python premier_appel.py "Ma question") et affiche seulement le texte puis, entre crochets, le nombre total de tokens.

Voir la solution
premier_appel.py
import sys

from dotenv import load_dotenv
from google import genai

load_dotenv()
client = genai.Client()
prompt = " ".join(sys.argv[1:]) or "Dis bonjour."
response = client.models.generate_content(model="gemini-3.5-flash", contents=prompt)
print(response.text)
print(f"[{response.usage_metadata.total_token_count} tokens]")

sys.argv contient les arguments de la commande ; " ".join(sys.argv[1:]) les recolle, ce qui évite d'exiger des guillemets. total_token_count additionne entrée, sortie et pensée.

Je sais faire

  • Installer google-genai dans un environnement virtuel
  • Créer un client qui lit la clé depuis .env
  • Appeler generate_content et lire text, finish_reason et usage_metadata
  • Reconnaître l'ancien SDK google.generativeai dans un tutoriel
Next