Agent GenAI pour le contrôle qualité des documents et des appels d'API

1. Présentation

Dans cet atelier, vous allez créer un agent GenAI, le connecter à l'application Cloud Run et l'intégrer à l'espace de travail Slack.

8541c95a7fbc9be7.png

Objectifs de l'atelier

L'atelier se compose de plusieurs parties principales:

  • Déployer une application Cloud Run pour l'intégrer aux API Gemini
  • Créer et déployer un agent Vertex AI
  • Intégrer l'Agent dans Slack
  • Configurer le data store pour les questions/réponses sur des documents PDF

Prérequis

  • Dans cet atelier, nous considérons que vous connaissez la console Cloud et les environnements Cloud Shell.

2. Préparation

Configuration du projet Cloud

  1. Connectez-vous à la console Google Cloud, puis créez un projet ou réutilisez un projet existant. Si vous n'avez pas encore de compte Gmail ou Google Workspace, vous devez en créer un.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Le nom du projet est le nom à afficher pour les participants au projet. Il s'agit d'une chaîne de caractères non utilisée par les API Google. Vous pourrez toujours le modifier.
  • L'ID du projet est unique parmi tous les projets Google Cloud et non modifiable une fois défini. La console Cloud génère automatiquement une chaîne unique (en général, vous n'y accordez d'importance particulière). Dans la plupart des ateliers de programmation, vous devrez indiquer l'ID de votre projet (généralement identifié par PROJECT_ID). Si l'ID généré ne vous convient pas, vous pouvez en générer un autre de manière aléatoire. Vous pouvez également en spécifier un et voir s'il est disponible. Après cette étape, l'ID n'est plus modifiable et restera donc le même pour toute la durée du projet.
  • Pour information, il existe une troisième valeur (le numéro de projet) que certaines API utilisent. Pour en savoir plus sur ces trois valeurs, consultez la documentation.
  1. Vous devez ensuite activer la facturation dans la console Cloud pour utiliser les ressources/API Cloud. L'exécution de cet atelier de programmation est très peu coûteuse, voire sans frais. Pour désactiver les ressources et éviter ainsi que des frais ne vous soient facturés après ce tutoriel, vous pouvez supprimer le projet ou les ressources que vous avez créées. Les nouveaux utilisateurs de Google Cloud peuvent participer au programme d'essai sans frais pour bénéficier d'un crédit de 300 $.

Configuration de l'environnement

Ouvrez Gemini Chat.

e1e9ad314691368a.png

Activez l'API Cloud AI Companion:

66cb6e561e384bbf.png

Cliquez sur Start chatting, puis suivez l'une des questions exemples ou saisissez votre propre requête pour tester la fonctionnalité.

5482c153eef23126.png

Requêtes à tester :

  • Expliquez Cloud Run en cinq points clés.
  • Vous êtes responsable produit Google Cloud Run. Expliquez Cloud Run à un étudiant en cinq points clés.
  • Vous êtes responsable produit Google Cloud Run. Expliquez Cloud Run à un développeur Kubernetes certifié en cinq points clés.
  • Vous êtes responsable produit Google Cloud Run. Expliquez à un développeur expérimenté en cinq points clés quand utiliser Cloud Run plutôt que GKE.

Consultez le guide des requêtes pour en savoir plus sur la rédaction de requêtes plus efficaces.

Utilisation de vos données par Gemini pour Google Cloud

Engagement de Google en matière de confidentialité

Google a été l'un des premiers sur le marché à proposer un engagement en matière de confidentialité pour l'IA/le ML, ce qui souligne le fait que nos clients devraient disposer du plus haut niveau de sécurité et de contrôle sur leurs données stockées dans le cloud.

Données que vous envoyez et recevez

Les questions que vous posez à Gemini, y compris les informations ou le code que vous lui envoyez pour qu'il les analyse ou les complète, sont appelées requêtes. Les réponses ou les suggestions de code que vous recevez de Gemini sont appelées "réponses". Gemini n'utilise pas vos requêtes ni ses réponses comme données pour entraîner ses modèles.

Chiffrement des requêtes

Lorsque vous envoyez des requêtes à Gemini, vos données sont chiffrées en transit pour être transmises au modèle sous-jacent de Gemini.

Données de programme générées par Gemini

Gemini est entraîné sur du code Google Cloud propriétaire et sur du code tiers sélectionné. Vous êtes responsable de la sécurité, des tests et de l'efficacité de votre code, y compris de toute complétion, génération ou analyse de code que Gemini vous propose.

Découvrez comment Google traite vos requêtes.

3. Options pour tester les requêtes

Plusieurs options s'offrent à vous pour tester les requêtes.

Vertex AI Studio fait partie de la plate-forme Vertex AI de Google Cloud, spécialement conçue pour simplifier et accélérer le développement et l'utilisation de modèles d'IA générative.

Google AI Studio est un outil Web permettant de prototyper et de tester l'ingénierie des requêtes et l'API Gemini.

L'application Web Google Gemini (gemini.google.com) est un outil Web conçu pour vous aider à explorer et à exploiter la puissance des modèles d'IA Gemini de Google.

4. Cloner le dépôt

Revenez à la console Google Cloud et activez Cloud Shell en cliquant sur l'icône située à droite de la barre de recherche.

3e0c761ca41f315e.png

Dans le terminal ouvert, exécutez les commandes suivantes :

git clone https://github.com/GoogleCloudPlatform/genai-for-developers.git

cd genai-for-developers

git checkout slack-agent-jira-lab

Cliquez sur "Ouvrir l'éditeur".

63e838aebfdd2423.png

À l'aide de l'élément de menu "File / Open Folder", ouvrez "genai-for-developers".

e3b9bd9682acf539.png

Ouvrir un nouveau terminal

62dccf5c78880ed9.png

5. Créer un compte de service

Créez un compte de service et des clés.

Vous utiliserez ce compte de service pour effectuer des appels d'API à l'API Gemini Vertex AI à partir de l'application Cloud Run.

Configurez les informations de votre projet à l'aide des informations de votre projet Qwiklabs.

Exemple : qwiklabs-gcp-00-2c10937585bb

gcloud config set project YOUR_QWIKLABS_PROJECT_ID

Créez un compte de service et accordez des rôles.

export LOCATION=us-central1
export PROJECT_ID=$(gcloud config get-value project)
export SERVICE_ACCOUNT_NAME='vertex-client'
export DISPLAY_NAME='Vertex Client'
export KEY_FILE_NAME='vertex-client-key'

gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME --project $PROJECT_ID --display-name "$DISPLAY_NAME"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.user"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudbuild.builds.editor"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/artifactregistry.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/storage.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/run.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/secretmanager.secretAccessor"


gcloud iam service-accounts keys create $KEY_FILE_NAME.json --iam-account=$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com

Si vous y êtes invité, cliquez sur "Autoriser" pour continuer.

6356559df3eccdda.png

Activez les services requis pour utiliser les API Vertex AI et le chat Gemini.

gcloud services enable \
    generativelanguage.googleapis.com \
    aiplatform.googleapis.com \
    cloudaicompanion.googleapis.com \
    run.googleapis.com \
    cloudresourcemanager.googleapis.com

Activez les services requis pour utiliser les API Vertex AI et le chat Gemini.

gcloud services enable \
    artifactregistry.googleapis.com \
    cloudbuild.googleapis.com \
    runapps.googleapis.com \
    workstations.googleapis.com \
    servicemanagement.googleapis.com \
    secretmanager.googleapis.com \
    containerscanning.googleapis.com

Activer Gemini Code Assist

Cliquez sur l'icône Gemini en bas à droite, puis sur Sign-in et Select Google Cloud project.

4a7f4640f66037f.png

8b4405d7366d2cad.png

bd07352707166136.png

Dans la fenêtre pop-up, sélectionnez votre projet Qwiklabs.

Exemple :

70ae6837db397e2a.png

Ouvrez le fichier "devai-api/app/routes.py", puis effectuez un clic droit n'importe où dans le fichier et sélectionnez "Gemini Code Assist > Explain this"" dans le menu contextuel.

e54daef175df3cf0.png

Consultez l'explication de Gemini sur le fichier sélectionné.

e666676dce8b94d6.png

6. Déployer Devai-API sur Cloud Run

Vérifiez que vous êtes dans le bon dossier.

cd ~/genai-for-developers/devai-api

Pour cet atelier, nous suivons les bonnes pratiques et utilisons Secret Manager pour stocker et référencer les valeurs du jeton d'accès et de la clé API LangChain dans Cloud Run.

Définir des variables d'environnement.

export JIRA_API_TOKEN=your-jira-token
export JIRA_USERNAME="YOUR-EMAIL"
export JIRA_INSTANCE_URL="https://YOUR-JIRA-PROJECT.atlassian.net"
export JIRA_PROJECT_KEY="YOUR-JIRA-PROJECT-KEY"
export JIRA_CLOUD=true

export GITLAB_PERSONAL_ACCESS_TOKEN=your-gitlab-token
export GITLAB_URL="https://gitlab.com"
export GITLAB_BRANCH="devai"
export GITLAB_BASE_BRANCH="main"
export GITLAB_REPOSITORY="GITLAB-USERID/GITLAB-REPO"

export LANGCHAIN_API_KEY=your-langchain-key
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"

Stockez le jeton d'accès JIRA dans Secret Manager.

echo -n $JIRA_API_TOKEN | \
 gcloud secrets create JIRA_API_TOKEN \
 --data-file=-

Stockez le jeton d'accès GitLab dans Secret Manager.

echo -n $GITLAB_PERSONAL_ACCESS_TOKEN | \
 gcloud secrets create GITLAB_PERSONAL_ACCESS_TOKEN \
 --data-file=-

Stockez la clé API LangChain dans Secret Manager.

echo -n $LANGCHAIN_API_KEY | \
 gcloud secrets create LANGCHAIN_API_KEY \
 --data-file=-

Déployez l'application sur Cloud Run.

gcloud run deploy devai-api \
  --source=. \
  --region="$LOCATION" \
  --allow-unauthenticated \
  --service-account vertex-client \
  --set-env-vars PROJECT_ID="$PROJECT_ID" \
  --set-env-vars LOCATION="$LOCATION" \
  --set-env-vars GITLAB_URL="$GITLAB_URL" \
  --set-env-vars GITLAB_REPOSITORY="$GITLAB_REPOSITORY" \
  --set-env-vars GITLAB_BRANCH="$GITLAB_BRANCH" \
  --set-env-vars GITLAB_BASE_BRANCH="$GITLAB_BASE_BRANCH" \
  --set-env-vars JIRA_USERNAME="$JIRA_USERNAME" \
  --set-env-vars JIRA_INSTANCE_URL="$JIRA_INSTANCE_URL" \
  --set-env-vars JIRA_PROJECT_KEY="$JIRA_PROJECT_KEY" \
  --set-env-vars JIRA_CLOUD="$JIRA_CLOUD" \
  --set-env-vars LANGCHAIN_TRACING_V2="$LANGCHAIN_TRACING_V2" \
  --update-secrets="LANGCHAIN_API_KEY=LANGCHAIN_API_KEY:latest" \
  --update-secrets="GITLAB_PERSONAL_ACCESS_TOKEN=GITLAB_PERSONAL_ACCESS_TOKEN:latest" \
  --update-secrets="JIRA_API_TOKEN=JIRA_API_TOKEN:latest" \
  --min-instances=1 \
  --max-instances=3

Répondez Y pour créer un dépôt Docker Artifact Registry.

Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in 
region [us-central1] will be created.

Do you want to continue (Y/n)?  y

Demandez à Gemini d'expliquer la commande:

94d5487568b08dd2.png

Consultez le flux gcloud run deploy SERVICE_NAME --source=. ci-dessous. En savoir plus

5c122a89dd11822e.png

En arrière-plan, cette commande utilise buildpacks et Cloud Build de Google Cloud pour créer automatiquement des images de conteneurs à partir de votre code source sans avoir à installer Docker sur votre machine ni à configurer des packs de création ou Cloud Build. En d'autres termes, la commande unique décrite ci-dessus effectue ce qui nécessite normalement les commandes gcloud builds submit et gcloud run deploy.

Si vous avez fourni un Dockerfile(comme nous l'avons fait dans ce dépôt), Cloud Build l'utilisera pour créer des images de conteneur au lieu de s'appuyer sur les buildpacks pour détecter et créer automatiquement des images de conteneur. Pour en savoir plus sur les buildpacks, consultez la documentation.

Examinez les journaux Cloud Build dans la console.

Examinez l'image Docker créée dans Artifact Registry.

Ouvrez cloud-run-source-deploy/devai-api et examinez les failles détectées automatiquement. Recherchez les problèmes pour lesquels des solutions sont disponibles et découvrez comment les résoudre en fonction de la description.

d00c9434b511be44.png

Consultez les détails de l'instance Cloud Run dans la console Cloud.

Testez le point de terminaison en exécutant la commande curl.

curl -X POST \
   -H "Content-Type: application/json" \
   -d '{"prompt": "PROJECT-100"}' \
   $(gcloud  run services list --filter="(devai-api)" --format="value(URL)")/generate

Examinez le résultat:

bda86deaa1c449a8.png

7. Vertex AI Agent Builder

Recherchez et ouvrez "Agent Builder".

b99ae5b6ca1d6340.png

Activer les API

4bf2b240bd51db8.png

Application Create Agent:

2e50007e454b504.png

Saisissez "Agent" dans le champ "Nom à afficher", puis cliquez sur "Accepter et créer".

6c49a874c48d0401.png

Définir le nom de l'agent:

Agent

Définir un objectif:

Help user with questions about JIRA project

Instructions de configuration:

- Greet the users, then ask how you can help them today.
- Summarize the user's request and ask them to confirm that you understood correctly.
  - If necessary, seek clarifying details.
- Thank the user for their business and say goodbye.

Cliquez sur "Enregistrer":

6ef0ca47100008e0.png

Testez l'agent à l'aide de la discussion de l'émulateur sur la droite:

32f49a9791302535.png

Ouvrez le menu "Outils", puis créez un outil:

c236b95409dfedc3.png

Sélectionnez OpenAPI dans le menu déroulant "Type".

Définir le nom de l'outil:

jira-project-status

Set Description:

Returns JIRA project status

Définir le schéma (YAML) : remplacez VOTRE URL CLOUD RUN.

openapi: 3.0.0
info:
 title: CR API
 version: 1.0.0
 description: >-
   This is the OpenAPI specification of a service.
servers:
 - url: 'https://YOUR CLOUD RUN URL'
paths:
 /create-jira-issue:
   post:
     summary: Request impl
     operationId: create-jira-issue
     requestBody:
       description: Request impl
       required: true
       content:
         application/json:
           schema:
             $ref: '#/components/schemas/Prompt'
     responses:
       '200':
         description: Generated
         content:
           application/json:
             schema:
               type: string
 /generate:
   post:
     summary: Request impl
     operationId: generate
     requestBody:
       description: Request impl
       required: true
       content:
         application/json:
           schema:
             $ref: '#/components/schemas/Prompt'
     responses:
       '200':
         description: Generated
         content:
           application/json:
             schema:
               type: string

 /test:
   get:
     summary: Request impl
     operationId: test
     responses:
       '200':
         description: Generated
         content:
           application/json:
             schema:
               type: string                    
components:
 schemas:
   Prompt:
     type: object
     required:
       - prompt
     properties:
       prompt:
         type: string

Enregistrez la configuration de l'outil:

f99ce79ba79e3a4b.png

Revenez à la configuration de l'agent et suivez les instructions de mise à jour pour utiliser l'outil:

Ajoutez des instructions pour utiliser le nouvel outil:

- Use ${TOOL: jira-project-status} to help the user with JIRA project status.

4dabf135b37b044b.png

Accédez à l'onglet "Exemples" et ajoutez un exemple:

5b1fb22e49500362.png

Définissez le nom à afficher:

jira-project-flow

À l'aide du menu en bas de l'écran, modélisez la conversation entre l'utilisateur et l'agent:

54ffb5e7744a0772.png

14cced6461a65811.png

Configuration de l'appel d'outil:

82af695d2f21c4f0.png

Cliquez sur "Enregistrer", puis sur "Annuler". Revenez à l'émulateur de l'agent et testez le flux.

ec137f71bf6075e2.png

f76fd38c32e29f0a.png

Consultez les bonnes pratiques pour les agents Vertex AI.

Paramètres des agents

564dd5371999a3f1.png

b5b04f282fcee3e8.png

Paramètres de journalisation

af30487d72c1cfa2.png

Configuration du modèle.

53191049428693c7.png

Intégration de GitHub pour transférer et restaurer la configuration de l'agent.

7170649a9c027857.png

Commandes de l'émulateur d'agent:

59fd8b2343e89513.png

8. Intégration dans Slack

Ouvrez le menu "Intégrations", puis cliquez sur "Connecter" sur la tuile Slack.

36f3992134479a37.png

e7ee0826668bfa2b.png

c3e36f4dacbe3f9b.png

Ouvrez le lien et créez une application Slack sur https://api.slack.com/apps.

cbf13edc1b284899.png

Dans "Fichier manifeste", sélectionnez :

64fa9c75afecdb3e.png

Choisir un espace de travail pour développer votre application

99a3d5b37cdf8f76.png

Passez au format YAML et collez ce fichier manifeste:

display_information:
  name: Agent
  description: Agent
  background_color: "#1148b8"
features:
  app_home:
    home_tab_enabled: false
    messages_tab_enabled: true
    messages_tab_read_only_enabled: false
  bot_user:
    display_name: Agent
    always_online: true
oauth_config:
  scopes:
    bot:
      - app_mentions:read
      - chat:write
      - im:history
      - im:read
      - im:write
      - incoming-webhook
settings:
  event_subscriptions:
    request_url: https://dialogflow-slack-4vnhuutqka-uc.a.run.app
    bot_events:
      - app_mention
      - message.im
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false

Cliquez sur "Créer":

5f0b3d2c44022eb9.png

Installer dans Workspace:

aa1c2ea1b700c838.png

Sélectionnez le canal "#general", puis cliquez sur "Autoriser".

18eba659946fc65f.png

Sous "Informations de base / Identifiants de l'application", copiez "Secret de signature" et définissez-le dans l'intégration Slack.

31d62babb57e523d.png

bd9f7e3be3b9ea4e.png

Ouvrez "OAuth et autorisations", copiez le "Jeton OAuth de l'utilisateur bot", puis définissez-le dans l'intégration Slack.

e74c7e003c31258.png

Définissez les champs obligatoires, puis cliquez sur "Démarrer".

La valeur du jeton d'accès de l'agent est le jeton OAuth de l'utilisateur bot de Slack.

La valeur du jeton de signature de l'agent est "Secret de signature" de Slack.

a00d22bdaeed3ab8.png

7e71e37750fd063a.png

Copiez "Webhook URL" (URL du webhook) et revenez à la configuration de l'application Slack.

Ouvrez la section "Abonnements aux événements", puis collez l'URL.

a1e7271934c714d9.png

Enregistrez les modifications.

e6d9b43b3787b6e7.png

Ouvrez Slack et ajoutez un agent en saisissant "@Agent".

Par exemple, en ajoutant une application avec le nom "@CX".

72313066707f947b.png

63becbd80824f8d8.png

c98e193062b096f0.png

Demandez à l'agent de vous fournir un résumé du projet JIRA.

6edfdb74760548ad.png

9. Questions-réponses sur des documents PDF

Créer un bucket Cloud Storage

Ouvrez GCS dans la console Cloud: https://console.cloud.google.com/storage/browser.

Créez un bucket.

Pour le nom du bucket, saisissez "pdf-docs" + les cinq derniers chiffres de votre projet GCP.

Type d'emplacement : multi-region, us.

Classe de stockage: Standard

Contrôle des accès: Uniform

Protection des données: uncheck soft delete policy

Cliquez sur "Create".

Confirmez l'option "L'accès public sera bloqué".

Téléchargez le rapport PDF et importez-le dans le bucket. https://services.google.com/fh/files/misc/exec_guide_gen_ai.pdf

Vue du bucket avec le fichier importé:

ff09ac8da88fb680.png

Configuration du datastore

Revenez à la console Agent, ouvrez Agent, faites défiler la page vers le bas, puis cliquez sur + Data store.

e20b69db922e37d7.png

Utilisez les valeurs suivantes:

Nom de l'outil: pdf-docs

Type : Data store

Description : pdf-docs

Cliquez sur Save.

c5bc7a2e458213ba.png

Cliquez sur Create a data store en bas de la page.

Cliquez sur AGREE lorsque vous êtes invité à répondre à la question "Acceptez-vous que vos data stores Search and Conversation résident dans la région États-Unis ?".

Saisissez "Google" dans le champ "Indiquer l'entreprise".

Sur l'écran suivant, cliquez sur CREATE DATA STORE.

Sélectionnez "Cloud Storage" comme source de données.

Préparer les données pour l'ingestion

https://cloud.google.com/generative-ai-app-builder/docs/prepare-data

Les fichiers HTML et TXT ne doivent pas dépasser 2,5 Mo.

Les fichiers PDF, PPTX et DOCX ne doivent pas dépasser 100 Mo.

Vous pouvez importer jusqu'à 100 000 fichiers à la fois.

Sélectionnez : unstructured documents

Sélectionnez votre bucket/dossier GCS.

e8534a921059e3a2.png

Cliquez sur "Continuer" : ed5ad1fabe9503a4.png

Pour le nom du magasin de données, saisissez: "pdf-docs"

Sélectionnez "Digital parser" dans le menu déroulant.

Activez la fragmentation avancée.

Activez les en-têtes d'ancêtres dans les fragments.

Cliquez sur "Create".

1a5222b86ee6c58e.png

3119b5fec43c9294.png

Sélectionnez le datastore, puis cliquez sur Create.

43d5be0a0aca6f8.png

9fd7fc7c1462d114.png

Cliquez sur le data store, puis examinez les sections "Documents", "Activité" et "Configuration de traitement".

872d9142615e90c9.png

L'importation prend environ cinq à dix minutes.

d9739a4af2244e03.png

Options d'analyse et de segmentation

Vous pouvez contrôler l'analyse du contenu de différentes manières:

  • Analyseur numérique L'analyseur numérique est activé par défaut pour tous les types de fichiers, sauf si un autre type d'analyseur est spécifié. L'analyseur numérique traite les documents ingérés si aucun autre analyseur par défaut n'est spécifié pour le magasin de données ou si l'analyseur spécifié n'est pas compatible avec le type de fichier d'un document ingéré.
  • Analyse OCR pour les PDF Version Preview publique Si vous prévoyez d'importer des PDF scannés ou des PDF contenant du texte dans des images, vous pouvez activer l'analyseur OCR pour améliorer l'indexation des PDF. Consultez À propos de l'analyse OCR pour les PDF.
  • Analyseur de mise en page Version Preview publique Activez l'analyseur de mise en page pour les fichiers HTML, PDF ou DOCX si vous prévoyez d'utiliser Vertex AI Search pour le RAG. Pour en savoir plus sur cet analyseur et découvrir comment l'activer, consultez Chunk documents for RAG (Documenter les blocs pour RAG).

En savoir plus sur l'analyse et la fragmentation de documents

Configuration de l'outil

Revenez à l'onglet de configuration des outils.

Actualisez le navigateur, puis sélectionnez "pdf-docs" dans le menu déroulant "Non structuré".

71323e788b35ca66.png

Configurez l'ancrage.

Saisissez "Google" comme nom de l'entreprise.

Paramètres de la charge utile : cochez "Include snippets in the response payload"

b0cb701d13ad4264.png

Cliquez sur "Save".

91a546957bdfe029.png

7535b85cfc7febe6.png

Configuration des instructions de l'agent

Revenez à la configuration de l'agent.

Ajoutez une instruction:

- Provide detailed answer to users questions about the exec guide to gen ai using information in the ${TOOL:pdf-docs}

9b9548497ddaccbd.png

Enregistrez la configuration.

Créer un exemple pour l'outil PDF-Docs

Accédez à l'onglet "Exemples". Créez un exemple.

Utilisation des actions "+":

4da93695907c97ad.png

Ajoutez "Saisie utilisateur":

What are the main capabilities?

Ajoutez "Utilisation de l'outil".

  • Outil et action: "pdf-docs"

Entrée (requestBody)

{
  "query": "Main capabilities",
  "filter": "",
  "userMetadata": {},
  "fallback": ""
}

Résultat de l'outil:

{
  "answer": "Detailed answer about main capabilities",
  "snippets": [
    {
      "uri": "https://storage.cloud.google.com/pdf-docs-49ca4/exec_guide_gen_ai.pdf",
      "text": "Detailed answer about main capabilities",
      "title": "exec_guide_gen_ai"
    }
  ]
}

Ajouter "Réponse de l'agent"

Detailed answer about main capabilities. 

https://storage.cloud.google.com/pdf-docs-49ca4/exec_guide_gen_ai.pdf

Exemple de configuration:

2968363e05f3325e.png

Configuration de l'appel d'outil:

658316bb29ac352d.png

Testez la configuration en envoyant une question à l'agent dans l'émulateur.

Question :

What are the 10 steps in the exec guide?

5b2329c494ad0d17.png

Sélectionnez "Agent", puis cliquez sur "Save example".

e79c86aa04a9572f.png

Nommez-la "user-question-flow", puis enregistrez-la.

Mettez en forme la réponse de l'agent et incluez un lien vers le document PDF dans la section de sortie de l'outil.

50f2bcee082ac38d.png

Enregistrez l'exemple.

Revenez à l'émulateur et cliquez sur "Replay conversation". Vérifiez le format de réponse mis à jour.

8db40e424f448a2d.png

Posez une autre question:

What are the main capabilities in the exec guide?

6f103fdac8ec4cda.png

Document PDF source.

5b3e6d2ceda99247.png

Question :

What should I consider when evaluating projects?

ec7e0f5884772385.png

Document PDF source.

57a0d331aa91f04b.png

Question :

What are the priority use cases in Retail and CPG in the exec guide?

7a18ba3ca0fe90c5.png

Document PDF source.

b4d07e6e7d9adc00.png

10. Agents prédéfinis

Parcourez les agents prédéfinis dans le menu de gauche.

5720dc5343aede65.png

Sélectionnez l'un des agents et déployez-le. Découvrez la configuration, les instructions et les outils de l'Agent.

2a3db1129b5a1461.png

11. Félicitations !

Félicitations, vous avez terminé l'atelier.

Points abordés

  • Déployer une application Cloud Run pour l'intégrer aux API Gemini
  • Créer et déployer un agent Vertex AI
  • Ajouter l'intégration Slack pour l'Agent
  • Configurer un data store pour les questions/réponses dans les documents PDF

Étapes suivantes :

Effectuer un nettoyage

Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez chaque ressource individuellement.

Supprimer le projet

Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.

© 2024 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms de société et de produit peuvent être des marques des sociétés auxquelles ils sont associés.