Avant d'utiliser Vertex AI Agent Engine, vous devez vérifier que votre environnement est configuré. Vous devez avoir un projet Google Cloud avec la facturation activée, disposer des autorisations requises, configurer un bucket Cloud Storage et installer le SDK Vertex AI pour Python. Consultez les sections suivantes pour vous assurer que vous êtes prêt à commencer à utiliser Vertex AI Agent Engine.
Pour obtenir un exemple de référence Terraform permettant d'optimiser la configuration et le déploiement de l'environnement Vertex AI Agent Engine, explorez le pack agent-starter-pack.
Configurer avec Google Cloud
Vous pouvez configurer Google Cloud pour Vertex AI Agent Engine en créant un projet Google Cloud ou en vous inscrivant à Vertex AI en mode express :
Projet Google Cloud
Chaque projet peut être identifié de deux manières : par son numéro ou par son ID. PROJECT_NUMBER est automatiquement généré lorsque vous créez le projet, tandis que PROJECT_ID est défini par vous ou par le créateur du projet. Pour configurer un projet :
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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.
-
Enable the Vertex AI, Cloud Storage, Cloud Logging, Cloud Monitoring, Telemetry, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
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.
-
Enable the Vertex AI, Cloud Storage, Cloud Logging, Cloud Monitoring, Telemetry, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Mode Express
Suivez les instructions de la section Vertex AI en mode Express pour configurer Vertex AI Agent Engine en mode Express.
Une fois que vous avez configuré Vertex AI Agent Engine en mode express, vous pouvez passer à l'étape Installer et initialiser le SDK Vertex AI pour Python.
Obtenir les rôles requis
Pour obtenir les autorisations nécessaires à l'utilisation de Vertex AI Agent Engine, demandez à votre administrateur de vous accorder le rôle IAM Utilisateur Vertex AI (roles/aiplatform.user) sur votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Configurer l'identité et les autorisations de votre agent
Lorsque vous configurez l'identité et les autorisations, vous avez le choix entre les options suivantes :
Identité de l'agent (recommandé) (Aperçu) : utilisez l'identité de l'agent Identity and Access Management (IAM) pour fournir des fonctionnalités de sécurité et de gestion des accès lorsque vous utilisez des agents sur Vertex AI Agent Engine Runtime. L'identité de l'agent est liée à chaque agent individuel.
Comptes de service : les comptes de service sont partagés entre les agents que vous déployez sur Vertex AI Agent Engine. Deux options s'offrent à vous pour le compte de service :
- Agent de service par défaut : par défaut, les agents utilisent l'agent de service AI Platform Reasoning Engine. Ce compte de service géré par Google dispose du rôle Agent de service Vertex AI Reasoning Engine (
roles/aiplatform.reasoningEngineServiceAgent), qui inclut les autorisations par défaut requises pour les agents déployés. - Compte de service personnalisé : vous pouvez spécifier votre propre compte de service que les agents utiliseront. Cela vous permet de contrôler plus précisément les autorisations accordées aux agents.
- Agent de service par défaut : par défaut, les agents utilisent l'agent de service AI Platform Reasoning Engine. Ce compte de service géré par Google dispose du rôle Agent de service Vertex AI Reasoning Engine (
Identité de l'agent
Pour configurer des règles IAM avant de déployer l'agent, vous pouvez créer une identité d'agent sans déployer votre code d'agent. Pour ce faire, créez une instance Agent Engine avec uniquement le champ identity_type :
remote_app = agent_engines.create(
agent=app,
config={
"identity_type": types.IdentityType.AGENT_IDENTITY,
},
)
Une fois que vous avez créé l'instance Agent Engine avec l'identité de l'agent, vous pouvez effectuer les opérations suivantes :
Provisionnez l'identité de l'agent avec les rôles recommandés suivants :
roles/aiplatform.expressUser: accorde l'accès à l'inférence, aux sessions et à la mémoire en cours d'exécution.roles/serviceusage.serviceUsageConsumer: accordez à l'agent l'autorisation d'utiliser le quota du projet et le SDK Vertex AI.
Attribuez à l'identité de l'agent les rôles supplémentaires nécessaires à votre cas d'utilisation.
Ajoutez le code de l'agent à l'aide de
agent_engine.update(...).
Agent de service par défaut
L'agent de service AI Platform Reasoning Engine est utilisé par défaut. Vous pouvez consulter la liste complète des autorisations par défaut dans la documentation IAM.
Si votre agent nécessite des autorisations supplémentaires par rapport à l'ensemble par défaut, vous pouvez attribuer des rôles supplémentaires à cet agent de service :
Accédez à la page IAM et cochez la case "Inclure les attributions de rôles fournies par Google".
Recherchez le compte principal correspondant à
service-PROJECT_NUMBER@gcp-sa-aiplatform-re.iam.gserviceaccount.com.Ajoutez les rôles requis au compte principal en cliquant sur le bouton de modification, puis sur le bouton d'enregistrement.
Générer manuellement l'agent de service par défaut
Bien que l'agent de service Reasoning Engine soit provisionné automatiquement lors du déploiement de Vertex AI Agent Engine, il peut arriver que vous deviez le générer manuellement au préalable. Cela est particulièrement important lorsque vous devez attribuer des rôles spécifiques à l'agent de service pour vous assurer que le processus de déploiement dispose des autorisations nécessaires et éviter les échecs de déploiement potentiels.
Voici comment générer manuellement un agent de service Reasoning Engine :
Générez l'agent de service Reasoning Engine à l'aide de la Google Cloud CLI.
gcloud beta services identity create --service=aiplatform.googleapis.com --project=PROJECT-ID-OR-PROJECT-NUMBERAccédez à la page IAM, puis cliquez sur Accorder l'accès.
Dans la section Ajouter des comptes principaux, saisissez
service-PROJECT_NUMBER@gcp-sa-aiplatform-re.iam.gserviceaccount.comdans le champ Nouveaux comptes principaux.Dans la section Attribuer des rôles, recherchez et sélectionnez les rôles dont vous avez besoin.
Cliquez sur le bouton Enregistrer.
Compte de service personnalisé
Pour utiliser votre propre compte de service, vous devez lui accorder les autorisations nécessaires pour exécuter l'agent. Votre compte de service personnalisé a probablement besoin du rôle Utilisateur Vertex AI (roles/aiplatform.user).
Si vous ne disposez pas d'un compte de service, créez-en un. Consultez Créer des comptes de service.
Attribuez le rôle Utilisateur Vertex AI (
roles/aiplatform.user) au compte de service.Attribuez au compte de service tous les autres rôles requis par votre code d'agent.
Pour déployer votre agent avec ce compte de service, accordez-vous le rôle Utilisateur de compte de service (
roles/iam.serviceAccountUser) sur ce compte de service personnalisé.Lorsque vous déployez votre agent, spécifiez l'adresse e-mail de votre compte de service personnalisé. Pour en savoir plus, consultez Configurer un compte de service personnalisé.
Compte de service personnalisé multiprojet
Si votre compte de service personnalisé provient d'un autre projet, vous devez effectuer des configurations supplémentaires dans le projet où réside le compte de service et dans celui où vous déployez l'agent.
Règle d'administration "Désactiver l'utilisation des comptes de service multiprojets" : dans le projet où se trouve le compte de service, assurez-vous que la règle d'administration
iam.disableCrossProjectServiceAccountUsageN'EST PAS appliquée. Pour en savoir plus, consultez Désactiver l'application de l'utilisation des comptes de service multiprojets.Attribuez des autorisations à l'agent de service Vertex AI : dans le projet où se trouve le compte de service, attribuez le rôle Créateur de jetons du compte de service (
roles/iam.serviceAccountTokenCreator) à l'agent de service Vertex AI (service-RESOURCE_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com) du projet dans lequel vous prévoyez de déployer l'agent.Accorder des autorisations au compte de service personnalisé : dans le projet où vous prévoyez de déployer l'agent, accordez les rôles nécessaires au compte de service personnalisé. Il s'agit généralement du rôle Utilisateur Vertex AI (
roles/aiplatform.user) et de tout autre rôle requis par le code de votre agent.
(Facultatif) Créer un bucket Cloud Storage
La nécessité d'un bucket Cloud Storage dépend de la question de savoir si le SDK Vertex AI pour Python a besoin d'un emplacement pour organiser le code de votre agent avant le déploiement :
Déployer à partir de fichiers sources : l'agent existe sous forme de fichiers. Le SDK Vertex AI pour Python peut regrouper et importer ces fichiers directement dans le service de déploiement. Aucun bucket de préproduction Cloud Storage n'est donc nécessaire.
Déployer à partir de l'objet agent : l'agent existe en mémoire. Le SDK Vertex AI pour Python crée un package de cet objet et l'importe dans un bucket Cloud Storage, qui sert de zone intermédiaire pour le service de déploiement.
Déployer à partir de fichiers sources
Si vous déployez un agent à partir de fichiers sources, un bucket Cloud Storage n'est pas nécessaire.
Déployer à partir d'un objet
Lorsque vous déployez à partir d'un objet d'agent, Vertex AI Agent Engine préproduit les artefacts de vos agents déployés dans un bucket Cloud Storage lors du processus de déploiement. Assurez-vous que le compte principal authentifié pour utiliser Vertex AI (vous-même ou un compte de service) dispose d'un accès Storage Admin à ce bucket. Cela est nécessaire, car le SDK Vertex AI pour Python écrit votre code dans ce bucket.
Si vous avez déjà configuré un bucket, vous pouvez ignorer cette étape. Sinon, vous pouvez suivre les instructions standards pour le créer.
Demandez à votre administrateur de vous accorder le rôle IAM Administrateur de l'espace de stockage (roles/storage.admin) sur votre projet.
-
In the Get started section, do the following:
- Enter a globally unique name that meets the bucket naming requirements.
- To add a
bucket label,
expand the Labels section (),
click add_box
Add label, and specify a
keyand avaluefor your label.
-
In the Choose where to store your data section, do the following:
- Select a Location type.
- Choose a location where your bucket's data is permanently stored from the Location type drop-down menu.
- If you select the dual-region location type, you can also choose to enable turbo replication by using the relevant checkbox.
- To set up cross-bucket replication, select
Add cross-bucket replication via Storage Transfer Service and
follow these steps:
Set up cross-bucket replication
- In the Bucket menu, select a bucket.
In the Replication settings section, click Configure to configure settings for the replication job.
The Configure cross-bucket replication pane appears.
- To filter objects to replicate by object name prefix, enter a prefix that you want to include or exclude objects from, then click Add a prefix.
- To set a storage class for the replicated objects, select a storage class from the Storage class menu. If you skip this step, the replicated objects will use the destination bucket's storage class by default.
- Click Done.
-
In the Choose how to store your data section, do the following:
- Select a default storage class for the bucket or Autoclass for automatic storage class management of your bucket's data.
- To enable hierarchical namespace, in the Optimize storage for data-intensive workloads section, select Enable hierarchical namespace on this bucket.
- In the Choose how to control access to objects section, select whether or not your bucket enforces public access prevention, and select an access control method for your bucket's objects.
-
In the Choose how to protect object data section, do the
following:
- Select any of the options under Data protection that you
want to set for your bucket.
- To enable soft delete, click the Soft delete policy (For data recovery) checkbox, and specify the number of days you want to retain objects after deletion.
- To set Object Versioning, click the Object versioning (For version control) checkbox, and specify the maximum number of versions per object and the number of days after which the noncurrent versions expire.
- To enable the retention policy on objects and buckets, click the Retention (For compliance) checkbox, and then do the following:
- To enable Object Retention Lock, click the Enable object retention checkbox.
- To enable Bucket Lock, click the Set bucket retention policy checkbox, and choose a unit of time and a length of time for your retention period.
- To choose how your object data will be encrypted, expand the Data encryption section (), and select a Data encryption method.
- Select any of the options under Data protection that you
want to set for your bucket.
Installer et initialiser le SDK Vertex AI pour Python
Cette section suppose que vous avez configuré un environnement de développement Python ou que vous utilisez Colab (ou tout autre environnement d'exécution approprié qui l'a configuré pour vous).
(Facultatif) Configurer un environnement virtuel
Nous vous recommandons également de configurer un environnement virtuel pour isoler vos dépendances.
Installation
Pour réduire au maximum l'ensemble des dépendances à installer, nous avons séparé les dépendances comme suit :
agent_engines: ensemble de packages requis pour le déploiement dans Vertex AI Agent Engine.adk: ensemble de packages d'Agent Development Kit compatibles.langchain: ensemble de packages LangChain et LangGraph compatibles.ag2: ensemble de packages AG2 compatibles.llama_index: ensemble de packages LlamaIndex compatibles.
Lorsque vous installez le SDK Vertex AI pour Python, vous pouvez spécifier les dépendances requises (séparées par une virgule). Pour toutes les installer, exécutez la commande suivante :
pip install google-cloud-aiplatform[agent_engines,adk,langchain,ag2,llama_index]>=1.112.0Pour utiliser Agent2Agent (A2A) sur Agent Engine, vous devez également installer le package a2a-sdk :
pip install a2a-sdk>=0.3.4Authentification
Colab
Exécutez le code suivant :
from google.colab import auth
auth.authenticate_user(project_id="PROJECT_ID")
Cloud Shell
Aucune action n'est requise.
Shell local
Exécutez la commande suivante :
gcloud auth application-default loginMode Express
Si vous utilisez Vertex AI en mode Express, aucune action n'est requise.
Importer et initialiser le SDK
Exécutez le code suivant pour importer et initialiser le SDK pour Vertex AI Agent Engine :
Projet Google Cloud
import vertexai
from vertexai import agent_engines # For the prebuilt templates
client = vertexai.Client( # For service interactions via client.agent_engines
project="PROJECT_ID",
location="LOCATION",
)
Où :
PROJECT_IDcorrespond à l'ID de projet Google Cloud sous lequel vous développerez et déploierez des agents.LOCATIONdésigne l'une des régions compatibles.
Mode Express
Si vous utilisez Vertex AI en mode Express, exécutez le code suivant :
import vertexai
from vertexai import agent_engines # For the prebuilt ADK template
client = vertexai.Client( # For service interactions via client.agent_engines
api_key="API_KEY"
)
où API_KEY correspond à la clé API que vous utilisez pour authentifier l'agent.