1. Avant de commencer
Cet atelier de programmation en libre-service vous explique comment créer des agents d'IA avec Vertex AI Agent Builder de Google Cloud. Chaque étape met en avant une fonctionnalité spécifique de l'outil de création d'agents et explique son objectif.
Prérequis
- Connaissances de base sur l'IA générative sur Google Cloud
- Connaissances de base sur les concepts des agents d'IA
- Connaissances de base sur Gemini Code Assist (facultatif)
Points abordés
- Créer un agent d'IA simple à l'aide de Vertex AI Agent Builder
- Ancrer l'agent créé en joignant un datastore
- Intégrer l'agent d'IA à votre site Web(facultatif)
Prérequis
- Un esprit curieux
- Un ordinateur qui fonctionne et un réseau Wi-Fi fiable
- Un projet Google Cloud avec facturation associée.
Remarque: Si vous ne disposez pas encore d'un projet Google Cloud, vous pouvez en créer un en suivant ces instructions. Vous pouvez également consulter les services de l'offre sans frais de Google Cloud.
2. Concevoir votre premier agent d'IA
Vous êtes maintenant prêt à créer votre propre agent d'IA. Mais avant de vous lancer dans le développement, il est essentiel d'établir une vision claire de votre agent. Posez-vous ces questions clés:
- Quel problème va-t-il résoudre ? S'agit-il d'automatiser des tâches, de fournir des informations, de proposer des divertissements ou de faciliter l'exploration créative ?
- Quelles sont ses principales fonctions ? L'IA exécutera-t-elle des tâches ou les déléguera-t-elle ? Générera-t-il du texte ou une combinaison de différents supports ?
- Quelles sont ses limites ? Sera-t-il capable de tout faire de manière autonome ?
- Quelle personnalité ou persona doit-il avoir ? Sera-t-il formel, informel, humoristique, utile ou informatif ?
- Quelles sont les métriques de réussite ? Comment allez-vous mesurer l'efficacité de l'agent ?
Pour accélérer le processus, voici les réponses à ces questions pour l'agent de voyage que vous allez créer aujourd'hui:
- Quel problème va-t-il résoudre ?
- Planifier un voyage peut être long et écrasant. Cet agent de voyage aidera les utilisateurs à découvrir des destinations, à planifier des itinéraires, à réserver des vols et des hébergements.
- Quelles sont ses principales fonctions ?
- L'agent doit pouvoir :
- répondre aux questions sur les destinations, comme les conditions d'obtention d'un visa
- planifier des itinéraires adaptés aux horaires et aux objectifs des utilisateurs ;
- réserver des vols et des hébergements
- Quelles sont ses limites ?
- L'agent ne peut pas toujours répondre aux requêtes complexes par défaut
- L'agent ne pourra pas générer d'images visuelles
- Les connaissances de l'agent seront limitées par le modèle sous-jacent
- Quelle personnalité ou persona doit-il avoir ?
- Cet agent doit être compétent, serviable et passionné par les voyages. Il doit pouvoir communiquer des informations de manière claire et concise.
- Quelles sont les métriques de réussite ?
- Le succès de cet agent peut être mesuré par le niveau de satisfaction des utilisateurs vis-à-vis de ses recommandations (exploration, planification, réservation).
3. Créer un agent d'IA avec Vertex AI Agent Builder
Vertex AI Agent Builder permet de créer des agents d'IA en quelques étapes seulement.
Étape 1 :
- Accédez à Vertex AI Agent Builder.
- La page de bienvenue doit s'afficher.
- Cliquez sur le bouton CONTINUER ET ACTIVER L'API.
Étape 2 :
- Vous êtes redirigé vers la page de création d'applications.
- Cliquez sur le bouton CREATE A NEW APP (CRÉER UNE APPLICATION).
Étape 3 :
- Sélectionnez Agent conversationnel, puis cliquez sur CREATE (CRÉER).
Remarque :
- Une fois que vous avez cliqué sur CREATE (CRÉER), un nouvel onglet Agents de conversation Dialogflow s'ouvre.
- Si vous êtes invité à choisir un projet Google Cloud, veuillez sélectionner le projet Google Cloud associé à votre compte Gmail correct.
- Si vous effectuez cet atelier dans un nouveau compte, vous serez invité à activer l'API Dialogflow. Cliquez sur Enable API (Activer l'API) pour l'activer.
- Si le bouton ne fonctionne pas, vous pouvez l'activer manuellement en accédant directement à la page de l'API .
- Sur la page Dialogflow qui s'ouvre, cliquez sur Create Agent (Créer un agent).
- Vous verrez alors plusieurs options de création d'un agent. Choisissez Créer le vôtre.
Étape 4 :
- Choisissez un nom à afficher (par exemple, "Compagnon de voyage").
- Pour "Emplacement", sélectionnez global (Global serving, data-at-rest in US) (Mondial (diffusion mondiale, données au repos aux États-Unis)) comme région.
- Conserver l'autre configuration (par défaut)
- Cliquez sur le bouton CREATE (CRÉER).
Étape 5 :
- Choisissez un nom de playbook (par exemple, "Agent d'informations").
- Ajoutez un objectif (par exemple, "Aider les clients à répondre aux requêtes liées aux voyages").
- Définissez une instruction (par exemple, "Accueillez les utilisateurs, puis demandez-leur comment vous pouvez les aider aujourd'hui").
- Appuyez sur Enregistrer une fois que vous avez terminé.
Étape 6 :
- Cliquez sur l'icône Activer/Désactiver le simulateur
.
- Sélectionnez l'agent que vous venez de créer (par exemple, Agent d'informations).
- Choisissez le modèle d'IA générative sous-jacent pour votre agent (par exemple, gemini-1.5-flash).
- Testez votre agent en discutant avec lui (par exemple, saisissez du texte dans la zone de texte "Saisir l'entrée utilisateur").
Félicitations ! Vous venez de créer un agent d'IA à l'aide de Vertex AI Agent Builder.
4. Associer des Datastores à l'agent
Essayez de demander à votre agent comment vous rendre au Wakanda (par exemple, "Quel est le meilleur moyen de me rendre au Wakanda ?"). Vous obtiendrez une réponse comme celle-ci:
Bien que cette réponse soit factuellement correcte, au lieu de simplement dire "Je ne peux pas vous fournir d'informations" et de mettre fin à la conversation, l'agent pourrait être plus utile à l'utilisateur en lui suggérant des lieux similaires. Cette approche peut inciter les utilisateurs à réserver un voyage via l'agent.
Pour que l'agent puisse vous recommander des lieux similaires, vous pouvez lui fournir plus d'informations via Datastores. Il s'agit d'une base de connaissances supplémentaire à laquelle l'agent peut se référer s'il ne parvient pas à répondre aux questions des utilisateurs en s'appuyant sur ses connaissances intégrées.
Remarque:Si vous souhaitez fermer le simulateur, cliquez à nouveau sur l'icône du simulateur.
La création d'un data store est simple. Cliquez sur le bouton + Data store (Datastore +) en bas de la page "Principes de base de l'agent".
Renseignez les informations suivantes:
- Nom de l'outil:Alternative Location
- Type:data store
- Description:utilisez cet outil si la requête de l'utilisateur contient un lieu qui n'existe pas.
Cliquez sur Enregistrer lorsque vous avez terminé.
Cela crée un outil de datastore permettant à l'agent de communiquer avec le datastore, mais vous devez toujours créer un datastore réel contenant les informations. Pour ce faire, cliquez sur Ajouter des data stores et Créer un data store.
Une fois que vous avez cliqué sur Créer un data store, vous êtes redirigé vers la page Vertex AI Agent Builder, comme ci-dessous.
Choisir l'option "Dans Cloud Storage"
Une fois cette étape terminée,
- cliquez sur FILE (Très important, sinon l'importation échouera).
- type ai-workshops/agents/data/wakanda.txt
- cliquez sur CONTINUER.
Voici le contenu du fichier texte fourni, si vous êtes curieux:
Places that are similar to Wakanda
- Oribi Gorge in South Africa: The rock formations here are reminiscent of the Warrior Falls in Wakanda.
- Iguazu Falls: Located on the border of Argentina and Brazil, these massive waterfalls were a major inspiration for the Warrior Falls.
- Immerse yourself in Wakandan culture: Read the Black Panther comics, watch the movies, and explore online resources to learn more about Wakandan culture, language, and technology.
- Visit a Disney theme park: While there isn't a dedicated Wakanda land yet, you might be able to meet Black Panther at Disneyland or on a Marvel Day at Sea Disney cruise.
Sur la page suivante, nommez votre data store (par exemple, "Wakanda Alternative") et cliquez sur CREATE (CRÉER).
Pour terminer, SÉLECTIONNEZ la source de données que vous venez de créer,puis cliquez sur CRÉER. Vous pouvez suivre la progression de l'importation de votre data store en cliquant dessus.**
Remarque:L'activité d'importation prend un certain temps. En attendant, vous pouvez consulter d'autres options de datastore disponibles pour votre agent Vertex AI sur cette page.
Si tout s'est bien passé, revenez à l'onglet Dialogflow, puis cliquez sur Actualiser. Le datastore créé devrait s'afficher sur la page Data stores disponibles.
Pour éviter que l'Agent ne développe des hallucinations, dans la configuration de la mise à la terre de votre data store, définissez le paramètre sur Très faible, ce qui applique des restrictions plus strictes pour empêcher l'Agent d'inventer des choses. Pour l'instant, conservez le paramètre par défaut, mais vous pouvez toujours l'explorer avec d'autres paramètres.
Sélectionnez maintenant le data store ajouté, cliquez sur Confirmer, puis sur Enregistrer.
Revenez sur la page Principes de base de l'agent. En bas de la configuration du playbook, vous verrez que le data store que vous venez de créer (par exemple, "Emplacement alternatif") est disponible. Cochez la case "Data store" (Data store), puis cliquez sur le bouton "Save" (Enregistrer) en haut de la page.
Vous y êtes presque. La dernière étape consiste à inclure l'outil Lieu alternatif dans les instructions de l'agent. Ajoutez une ligne, - Utilisez ${TOOL: Alternative Location} si la requête de l'utilisateur contient un lieu qui n'existe pas, aux instructions de l'agent, puis cliquez sur Enregistrer.
Tout est en ordre ! Rouvrons le simulateur de boutons d'activation/de désactivation et posons les mêmes questions (par exemple, "Quel est le meilleur moyen d'atteindre Wakanda ?").
Félicitations ! Votre agent recommande désormais des lieux à l'aide des informations fournies dans un fichier texte.
C'est terminé. Nous avons terminé de créer notre propre agent d'IA de l'outil de création d'agents. Si vous souhaitez en savoir plus sur la personnalisation de votre agent pour améliorer votre expérience, consultez les activités supplémentaires ci-dessous.
5. Activités supplémentaires : rendre votre agent d'IA opérationnel
Dans les étapes précédentes, vous avez développé un agent d'IA et l'avez ancré avec des données de référence pertinentes. Dans la section suivante, vous allez répondre à la question cruciale de l'intégration de cet agent dans votre site Web, ce qui vous permettra d'interagir en temps réel avec vos visiteurs.
Il existe de nombreuses façons d'exposer votre agent. Vous pouvez l'exporter ou le publier directement. Vous pouvez consulter la documentation pour en savoir plus sur les options possibles.
En haut à droite de l'onglet Dialogflow, cliquez sur le menu déroulant, puis sur Publier l'agent.
Laissez la configuration sur Par défaut et cliquez sur Activer l'API non authentifiée.
Remarque:L'activation de l'API non authentifiée est à des fins de démonstration uniquement. Cette configuration n'est pas recommandée pour une utilisation en production. Si vous souhaitez publier des contenus de manière sécurisée, consultez cette documentation.
Vous devriez voir un petit extrait de code CSS:
Il vous suffit de copier l'extrait de code. Vous allez intégrer cet extrait de code dans un site Web plus tard.
Pour créer un site Web, vous utiliserez l'environnement Cloud Editor. Pour ouvrir l'éditeur Cloud:
- Ouvrez la console Google Cloud dans un autre onglet.
- Cliquez sur le bouton Activer Cloud Shell en haut à droite.
- Cliquez sur le bouton Ouvrir l'éditeur.
Si vous êtes invité à autoriser Cloud Shell, cliquez sur Autoriser pour continuer.
Dans la section suivante, vous allez utiliser Gemini Code Assist pour créer un exemple d'application Web Python Flask à intégrer à votre extrait d'agent.
Une fois l'éditeur Cloud Shell ouvert, cliquez sur Gemini Code Assist (Gemini Code Assist) et connectez-vous à votre projet Google Cloud. Si vous êtes invité à activer l'API, cliquez sur Activer.
Une fois cela fait, demandons à Gemini Code Assist de créer une application Flask et d'y intégrer l'extrait de code de l'agent d'IA.
Voici un exemple de requête que vous pouvez utiliser :
Here
is
my
Travel
buddy
Vertex
AI
agent
builder
agent
publish
code
snippet,
<REPLACE IT WITH YOUR AI AGENT PUBLISH CODE SNIPPET>
can
you
create
a
sample
flask
app
to
use
it
Remarque:Nous vous avons demandé de créer une application Python Flask. Si vous préférez utiliser un autre langage ou framework de programmation, n'hésitez pas à le faire. Gemini Code Assist peut générer différents langages de programmation. Pour en savoir plus, consultez la page Langues, IDE et interfaces compatibles.
Vous constaterez que l'extrait de code fourni est déjà intégré à l'agent d'IA. Pour vérifier si le code fourni est valide et fonctionne comme prévu, vous pouvez suivre les instructions de Gemini Code Assist pour exécuter cette section de code de la réponse de sortie.
Extrait de code de réponse d'exemple :
from
flask
import
Flask,
render_template_string
app
=
Flask(__name__)
#
HTML
template
string
with
the
provided
Dialogflow
Messenger
code
html_template
=
"""
<!DOCTYPE
html>
<html
lang="en">
<head>
<meta
charset="UTF-8">
<meta
name="viewport"
content="width=device-width,
initial-scale=1.0">
<title>Travel
Buddy
Chatbot</title>
<link
rel="stylesheet"
href="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/themes/df-messenger-default.css">
<script
src="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/df-messenger.js"></script>
<style>
df-messenger
{
z-index:
999;
position:
fixed;
--df-messenger-font-color:
#000;
--df-messenger-font-family:
Google
Sans;
--df-messenger-chat-background:
#f3f6fc;
--df-messenger-message-user-background:
#d3e3fd;
--df-messenger-message-bot-background:
#fff;
bottom:
16px;
right:
16px;
}
body
{
font-family:
sans-serif;
margin:
20px;
}
</style>
</head>
<body>
<h1>Welcome
to
Travel
Buddy!</h1>
<p>Start
chatting
with
our
AI
Travel
buddy,
in
the
bottom
right
corner.</p>
<df-messenger
project-id="<SAMPLE>"
agent-id="<SAMPLE>"
language-code="en"
max-query-length="-1">
<df-messenger-chat-bubble
chat-title="Travel
Buddy">
</df-messenger-chat-bubble>
</df-messenger>
</body>
</html>
"""
@app.route("/")
def
index():
"""Renders
the
HTML
template
with
the
Dialogflow
Messenger."""
return
render_template_string(html_template)
if
__name__
==
"__main__":
app.run(debug=True)
Conformément aux instructions données
- Copiez l'exemple d'extrait de code d'application Flask fourni :
- Créez un fichier nommé app.py et enregistrez-le.
À l'étape suivante, il vous demande d'installer Flask pour exécuter cet extrait, ce qui n'est pas nécessaire pour le moment, car Cloud Shell a déjà installé par défaut tous les utilitaires couramment utilisés.
Enregistrez le fichier (Ctrl+S ou Cmd+S), puis cliquez sur Open Terminal (Ouvrir le terminal), où vous exécuterez le code fourni.
Dans le terminal, exécutez la commande ci-dessous.
python app.py
Remarque:Assurez-vous d'être dans le bon dossier, où se trouve votre fichier app.py.
L'application Flask Python s'exécutera sur le port 5000. Pour afficher l'aperçu de cette application Web, cliquez sur l'icône Aperçu sur le Web dans Cloud Shell. Vous pouvez ensuite cliquer sur Change Port, input 5000 (Modifier le port, saisir 5000), puis sur Change and Preview (Modifier et prévisualiser) pour l'enregistrer.
Un exemple de site Web s'affiche et un agent d'IA est déjà disponible. Il vous suffit de cliquer sur l'agent d'IA et de commencer à discuter avec lui.
N'hésitez pas à le tester avec différentes invites. Vous pouvez également demander à Gemini Code Assist d'embellir votre site Web, ou d'ajouter des données de référence à l'agent d'IA pour le rendre plus efficace.
Lorsque vous serez prêt, vous pourrez essayer d'héberger cet agent d'IA sur Google Cloud afin qu'il soit accessible à tous, partout. Pour le reste de cet atelier de programmation, vous allez déployer cet exemple d'application Flask dans Cloud Run en tant que conteneur.
Remarque:Cette fonctionnalité n'est pas limitée à Cloud Run (si vous ne savez pas ce qu'est Cloud Run, vous pouvez même demander à l'assistance de code Gemini de vous aider à le déployer dans Google Cloud ou ailleurs en suivant les bonnes pratiques).
Revenez au terminal Cloud Shell, puis appuyez sur Ctrl+C pour arrêter le processus. Cliquez à nouveau sur Ouvrir l'éditeur et demandez à Gemini Code Assist de nous aider à conteneuriser l'application et à la déployer dans Cloud Run.
Can
you
help
me
deploy
this
sample
flask
app
to
cloud
run
service
Il fournit des instructions et des commandes à suivre pour héberger notre application dans le service Cloud Run. Suivez les instructions.
Voici un exemple de réponse de sortie
Étapes de déploiement sur Cloud Run
- Prérequis :
- Compte Google Cloud:vous devez disposer d'un compte Google Cloud pour lequel la facturation est activée.
- gcloud CLI:installez et initialisez le SDK Google Cloud (gcloud CLI) sur votre machine locale. Vous l'utiliserez pour interagir avec Google Cloud depuis votre terminal.
- Docker:installez Docker sur votre machine locale. Cloud Run utilise Docker pour conteneuriser votre application.
- Configuration du projet:assurez-vous qu'un projet Google Cloud est sélectionné dans votre CLI gcloud. Vous pouvez vérifier avec
gcloud config list project
et le définir avecgcloud config set project YOUR_PROJECT_ID
.
Remarque:Étant donné que nous effectuons l'ensemble de cette activité dans Cloud Shell, il n'est pas nécessaire de configurer des projets.
- Créer **
requirements.txt
**** :
- Ce fichier liste tous les packages Python dont votre application a besoin. Dans le répertoire de votre projet (où se trouve
main.py
), créez un fichier nommérequirements.txt
et ajoutez la ligne suivante :
- Créer **
Dockerfile
**** :
- Un
Dockerfile
définit comment créer une image Docker pour votre application. Créez un fichier nomméDockerfile
(sans extension) dans le répertoire de votre projet et ajoutez le contenu suivant:
#
Use
an
official
Python
runtime
as
a
parent
imageFROM
python:3.9-slim-buster
#
Set
the
working
directory
to
/appWORKDIR
/app
#
Copy
the
current
directory
contents
into
the
container
at
/app
COPY
.
/app
#
Install
any
needed
packages
specified
in
requirements.txt
RUN
pip
install
--no-cache-dir
-r
requirements.txt
#
Make
port
5000
available
to
the
world
outside
this
container
EXPOSE
5000
#
Define
environment
variable
ENV
NAME
World
#
Run
app.py
when
the
container
launches
CMD
["python",
".py"]
- Créez l'image Docker:
- Ouvrez votre terminal, accédez au répertoire de votre projet, puis exécutez la commande suivante:
gcloud builds submit –tag gcr.io/bgr-workshop-23rd/travel-buddy
- Déployer sur Cloud Run:
- Une fois l'image créée et importée, déployez-la dans Cloud Run à l'aide de la commande suivante:
gcloud
run
deploy
travel-buddy
--image
gcr.io/bgr-workshop-23rd/travel-buddy
--region
us-central1
Une fois ces étapes terminées, votre application avec l'agent d'IA intégré sera disponible pour vos utilisateurs finaux.
Félicitations et bonne formation !
6. Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cet atelier de programmation ne soient facturées sur votre compte Google Cloud, procédez comme suit:
- Dans la console Google Cloud, accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
- Vous pouvez également accéder à Cloud Run dans la console, sélectionner le service que vous venez de déployer, puis le supprimer.