Créer un agent

Choisir votre environnement de développement

Pour commencer, vous aurez besoin d'un environnement de développement Python avec Python 3.11 ou version ultérieure. Les étapes décrites ici ont été testées dans Google Colab.

Vous pouvez également adapter les étapes présentées ici dans d'autres environnements de développement tels que Colab Enterprise, l'Éditeur Cloud Shell ou votre ordinateur local.

Une fois votre environnement prêt, vous pouvez procéder à l'installation du SDK Agent Framework.

Installer le SDK Agent Framework

Vous allez maintenant installer le SDK Agent Framework. Pendant la période de version preview privée, l'accès au SDK nécessite d'être ajouté à la liste d'autorisation. Assurez-vous d'avoir été ajouté à la liste d'autorisation avant de suivre les étapes de téléchargement et d'installation ci-dessous.

Commencez par vous authentifier avec votre compte Google Cloud à l'aide de la gcloud CLI. Cette étape vous permet de vous assurer que vous disposez des autorisations nécessaires pour accéder aux services Google Cloud. Pour en savoir plus, consultez la documentation gcloud si nécessaire.

gcloud auth login

Téléchargez le package Python du SDK Agent Framework dans votre environnement de développement à l'aide de la gcloud CLI:

gcloud storage cp gs://agent_framework/latest/google_genai_agents-0.0.2.dev20250204+723246417-py3-none-any.whl .

Notez que vous devez figurer sur la liste d'autorisation pour que le framework d'agent puisse accéder aux builds de développement dans la commande précédente.

Enfin, installez le package du SDK Agent Framework téléchargé à l'aide de pip:

pip install google_genai_agents-0.0.2.dev20250204+723246417-py3-none-any.whl

Une fois le SDK Agent Framework installé, vous pouvez importer les bibliothèques nécessaires pour commencer à créer votre agent.

Importer les bibliothèques requises

Importez les bibliothèques Python suivantes, qui sont requises pour utiliser ce tutoriel de démarrage rapide avec Agent Framework:

import os
from agents import Runner, Agent
from datetime import datetime

Après avoir importé les bibliothèques, l'étape suivante consiste à configurer l'accès aux modèles Gemini.

Configurer l'accès à l'API Gemini

Agent Framework peut être configuré pour utiliser les modèles Gemini de Google. Vous pouvez configurer l'accès aux modèles Gemini via Google AI Studio (à l'aide d'une clé API) ou Vertex AI (à l'aide de votre projet Google Cloud). Choisissez la méthode de configuration qui convient à vos besoins, puis suivez les instructions correspondantes ci-dessous.

Pour configurer l'accès aux modèles Gemini à l'aide de Google AI Studio, exécutez le code Python suivant. Remplacez YOUR_API_KEY par votre clé API Google AI Studio.

os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "0"
os.environ["GOOGLE_API_KEY"] = "YOUR_API_KEY"

Pour configurer l'accès aux modèles Gemini à l'aide de Vertex AI, exécutez le code Python suivant. Remplacez YOUR_PROJECT_ID par l'ID de votre projet Google Cloud. Assurez-vous que GOOGLE_CLOUD_LOCATION est défini sur une région Vertex AI compatible.

os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "1"
os.environ["GOOGLE_CLOUD_PROJECT"] = "YOUR_PROJECT_ID"
os.environ["GOOGLE_CLOUD_LOCATION"] = "us-central1"

Une fois l'accès à l'API Gemini configuré, vous êtes prêt à définir les outils que votre agent utilisera.

Définir des outils pour votre agent

Les agents utilisent souvent des outils pour interagir avec des services et des données externes. Dans cette étape, vous allez définir une fonction Python appelée get_exchange_rate. Cette fonction permettra à votre agent de récupérer les taux de change en temps réel à partir d'une API externe.

def get_exchange_rate(
    currency_from: str,
    currency_to: str,
    currency_date: str,
):
    """Retrieves the exchange rate between two currencies on a specified date."""
    import requests

    response = requests.get(
        f"https://api.frankfurter.app/{currency_date}",
        params={"from": currency_from, "to": currency_to},
    )
    return response.json()

Vous avez maintenant défini un outil pour votre agent. Dans la section suivante, vous allez définir l'agent lui-même, en intégrant cet outil.

Définir votre agent

Vous allez maintenant définir votre agent d'IA à l'aide du SDK Agent Framework. La définition de l'agent spécifie le modèle qu'il utilisera, ses instructions, les outils auxquels il peut accéder et son flux d'interaction.

root_agent = Agent(
    model="gemini-2.5-pro-exp-03-25",
    name='currency_exchange_agent',
    instruction="""
      Help users retrieve exchange rates for different currencies
    """,
    tools=[
        get_exchange_rate,
    ],
    flow='single',
)

Une fois votre agent défini, l'étape suivante consiste à l'initialiser dans Agent Framework.

Initialiser l'agent

Dans cette section, vous allez initialiser votre agent. Le code suivant configure les services de session et d'artefact en mémoire, instancie un exécuteur pour votre agent et définit une fonction d'assistance pour envoyer des requêtes.

from agents.sessions.in_memory_session_service import InMemorySessionService
from agents.artifacts.in_memory_artifact_service import InMemoryArtifactService
from google.genai import types

session_service = InMemorySessionService()
artifact_service = InMemoryArtifactService()
runner = Runner(app_name="currency_exchange_agent", agent=root_agent, artifact_service=artifact_service, session_service=session_service)

session = session_service.create(app_name="currency_exchange_agent", user_id="1")

def run_prompt(new_message: str):
  content = types.Content(role='user', parts=[types.Part.from_text(text=new_message)])
  print (content)
  for event in runner.run(
      session=session,
      new_message=content,
  ):
    if event.content:
      print(event.content.model_dump(exclude_none=True))

Votre agent est maintenant initialisé et prêt à recevoir des requêtes. Dans la section suivante, vous allez envoyer une requête de test pour la voir en action.

Envoyer une requête à votre agent

Il est maintenant temps de tester votre agent. Envoyez l'invite suivante à votre agent à l'aide de la fonction run_prompt que vous avez définie précédemment.

run_prompt("What's the exchange rate from US dollars to Swedish currency today?")

Exécutez la fonction run_prompt avec l'entrée fournie. L'agent doit produire une sortie semblable à celle-ci:

parts=[Part(video_metadata=None, thought=None, code_execution_result=None, executable_code=None, file_data=None, function_call=None, function_response=None, inline_data=None, text="What's the exchange rate from US dollars to Swedish currency today?")] role='user'
{'parts': [{'function_call': {'args': {'currency_from': 'USD', 'currency_to': 'SEK', 'currency_date': '2025-02-21'}, 'name': 'get_exchange_rate'}}], 'role': 'model'}
{'parts': [{'function_response': {'name': 'get_exchange_rate', 'response': {'amount': 1.0, 'base': 'USD', 'date': '2025-02-21', 'rates': {'SEK': 10.6474}}}}], 'role': 'user'}
{'parts': [{'text': 'The exchange rate from US dollars to Swedish currency (SEK) today, 2025-02-21, is 1 USD to 10.6474 SEK.\n'}], 'role': 'model'}

Cette sortie affiche les étapes internes de l'agent, y compris l'appel de fonction qu'il a effectué et la réponse finale.

Examinez la dernière partie de la sortie. Un message de l'agent contenant le taux de change récupéré devrait s'afficher, ce qui prouve que l'agent a bien utilisé l'outil get_exchange_rate:

The exchange rate from US dollars to Swedish currency (SEK) today, 2025-02-21,
is 1 USD to 10.6474 SEK.

Félicitations ! Vous avez envoyé une invite à votre agent et observé sa réponse. Pour en savoir plus sur le framework d'agent, consultez la section suivante pour obtenir des ressources et connaître les étapes suivantes.

Étapes suivantes et ressources

Félicitations, vous avez créé un agent d'IA avec Agent Framework.

Pour approfondir vos connaissances et explorer des fonctionnalités plus avancées du framework d'agent, consultez d'autres sections de la documentation, des exemples de code ou des notebooks. Ces ressources vous guideront dans la création d'agents plus complexes et leur intégration dans vos applications.