Une fois que vous avez créé et évalué votre modèle d'IA générative, vous pouvez l'utiliser pour créer un agent, tel qu'un chatbot. Gen AI Evals vous permet de mesurer la capacité de votre agent à accomplir des tâches et à atteindre des objectifs pour votre cas d'utilisation.
Cette page vous explique comment créer et déployer un agent de base, et comment utiliser Gen AI Evals pour l'évaluer :
Développer un agent : définissez un agent avec des fonctions d'outil de base.
Déployer un agent : déployez l'agent sur Agent Platform Runtime.
Exécuter l'inférence de l'agent : définissez un ensemble de données d'évaluation et exécutez l'inférence de l'agent pour générer des réponses.
Créer une exécution d'évaluation : créez une exécution d'évaluation pour effectuer l'évaluation.
Afficher les résultats de l'évaluation : affichez les résultats de l'évaluation via l'exécution de l'évaluation.
Avant de commencer
-
Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
Installez le SDK Agent Platform pour Python :
%pip install google-cloud-aiplatform[adk,agent_engines] %pip install --upgrade --force-reinstall -q google-cloud-aiplatform[evaluation]Configurez vos identifiants. Si vous exécutez ce tutoriel dans Colaboratory, exécutez la commande suivante :
from google.colab import auth auth.authenticate_user()Pour les autres environnements, consultez la page S'authentifier auprès d' Agent Platform.
Initialisez le client GenAI dans le SDK Agent Platform :
import vertexai from vertexai import Client from google.genai import types as genai_types GCS_DEST = "gs://BUCKET_NAME/output-path" vertexai.init( project=PROJECT_ID, location=LOCATION, ) client = Client( project=PROJECT_ID, location=LOCATION, http_options=genai_types.HttpOptions(api_version="v1beta1"), )Remplacez les éléments suivants :
BUCKET_NAME : nom du bucket Cloud Storage. Pour en savoir plus sur la création de buckets, consultez la page Create a bucket.
PROJECT_ID : ID de votre projet
LOCATION : région sélectionnée
Développer un agent
Développez un agent Agent Development Kit (ADK) en définissant le modèle, l'instruction et l'ensemble d'outils. Pour en savoir plus sur le développement d'un agent, consultez la page Développer un agent Agent Development Kit.
from google.adk import Agent
# Define Agent Tools
def search_products(query: str):
"""Searches for products based on a query."""
# Mock response for demonstration
if "headphones" in query.lower():
return {"products": [{"name": "Wireless Headphones", "id": "B08H8H8H8H"}]}
else:
return {"products": []}
def get_product_details(product_id: str):
"""Gets the details for a given product ID."""
if product_id == "B08H8H8H8H":
return {"details": "Noise-cancelling, 20-hour battery life."}
else:
return {"error": "Product not found."}
def add_to_cart(product_id: str, quantity: int):
"""Adds a specified quantity of a product to the cart."""
return {"status": f"Added {quantity} of {product_id} to cart."}
# Define Agent
my_agent = Agent(
model="gemini-2.5-flash",
name='ecommerce_agent',
instruction='You are an ecommerce expert',
tools=[search_products, get_product_details, add_to_cart],
)
Déployer l'agent
Déployez votre agent sur Agent Platform Runtime. Cette opération peut prendre jusqu'à 10 minutes. Récupérez le nom de ressource de l'agent déployé.
def deploy_adk_agent(root_agent):
"""Deploy agent to agent engine.
Args:
root_agent: The ADK agent to deploy.
"""
app = vertexai.agent_engines.AdkApp(
agent=root_agent,
)
remote_app = client.agent_engines.create(
agent=app,
config = {
"staging_bucket": gs://BUCKET_NAME,
"requirements": ['google-cloud-aiplatform[adk,agent_engines]'],
"env_vars": {"GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY": "true"}
}
)
return remote_app
agent_engine = deploy_adk_agent(my_agent)
agent_engine_resource_name = agent_engine.api_resource.name
Pour obtenir la liste des agents déployés sur Agent Platform, consultez la page Gérer les agents déployés.
Générer des réponses
Générez des réponses de modèle pour votre ensemble de données à l'aide de
run_inference():Préparez votre ensemble de données en tant qu'objet DataFrame Pandas. Les requêtes doivent être spécifiques à votre agent. Les entrées de session sont obligatoires pour les traces. Pour en savoir plus, consultez la page Session : suivre les conversations individuelles.
import pandas as pd from vertexai import types session_inputs = types.evals.SessionInput( user_id="user_123", state={}, ) agent_prompts = [ "Search for 'noise-cancelling headphones'.", "Show me the details for product 'B08H8H8H8H'.", "Add one pair of 'B08H8H8H8H' to my shopping cart.", "Find 'wireless earbuds' and then add the first result to my cart.", "I need a new laptop for work, can you find one with at least 16GB of RAM?", ] agent_dataset = pd.DataFrame({ "prompt": agent_prompts, "session_inputs": [session_inputs] * len(agent_prompts), })Générez des réponses de modèle à l'aide de
run_inference():agent_dataset_with_inference = client.evals.run_inference( agent=agent_engine_resource_name, src=agent_dataset, )-
agent_dataset_with_inference.show()
Exécuter l'évaluation de l'agent
Exécutez create_evaluation_run() pour évaluer les réponses de l'agent.
Récupérez
agent_infoà l'aide de la fonction d'assistance intégrée :agent_info = types.evals.AgentInfo.load_from_agent( my_agent, agent_engine_resource_name )Évaluez les réponses du modèle à l'aide de métriques adaptatives spécifiques à l’agent basées sur des rubriques (
FINAL_RESPONSE_QUALITY,TOOL_USE_QUALITY, etHALLUCINATION) :evaluation_run = client.evals.create_evaluation_run( dataset=agent_dataset_with_inference, agent_info=agent_info, metrics=[ types.RubricMetric.FINAL_RESPONSE_QUALITY, types.RubricMetric.TOOL_USE_QUALITY, types.RubricMetric.HALLUCINATION, types.RubricMetric.SAFETY, ], dest=GCS_DEST, )
Afficher les résultats de l'évaluation de l'agent
Vous pouvez afficher les résultats de l'évaluation à l'aide du SDK Agent Platform.
Récupérez l'exécution de l'évaluation et visualisez les résultats de l'évaluation en appelant .show() pour afficher
les métriques récapitulatives et les résultats détaillés :
evaluation_run = client.evals.get_evaluation_run(
name=evaluation_run.name,
include_evaluation_items=True
)
evaluation_run.show()
Les résultats détaillés incluent également des traces montrant les interactions de l'agent. Pour en savoir plus sur les traces, consultez la page Tracer un agent.
Étape suivante
Essayez les notebooks d'évaluation d'agent suivants :