Fonction Cloud qui encapsule les modèles Text-Bison PaLM

1. Introduction

Cet atelier de programmation vous explique comment appeler une fonction Cloud qui initialise le module Vertex AI, puis fournit un point de terminaison pour appeler le modèle PaLM Text Bison. Cette fonction Cloud est écrite en Python. Voici la liste des services utilisés:

  • Cloud Functions
  • API Vertex AI PaLM

Objectifs de l'atelier

Vous allez créer et déployer une fonction Cloud qui fournit un point de terminaison pour appeler le modèle Text Bison PaLM.

2. Conditions requises

  • Un navigateur tel que Chrome ou Firefox
  • Un projet Google Cloud avec facturation activée

3. Avant de commencer

  1. Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
  2. Assurez-vous que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
  3. Activez Cloud Shell depuis la console Google Cloud en suivant ces instructions.
  4. Si votre projet n'est pas défini, utilisez la commande suivante pour le définir :
gcloud config set project <YOUR_PROJECT_ID>
  1. Dans Cloud Shell, définissez les variables d'environnement suivantes:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
  1. Activez les API Google Cloud nécessaires en exécutant les commandes suivantes dans le terminal Cloud Shell:
gcloud services enable cloudbuild.googleapis.com cloudfunctions.googleapis.com run.googleapis.com logging.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com

4. Déployer la fonction Cloud

Pour créer et déployer des fonctions Cloud, procédez comme suit:

  1. Clonez le code du dépôt https://github.com/rominirani/genai-apptemplates-googlecloud en exécutant la commande suivante dans votre terminal Cloud Shell:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. Cette commande clone le contenu du dépôt dans le dossier genai-templates-googlecloud.
  2. Accédez au dossier du projet qui vous intéresse en exécutant la commande suivante depuis le terminal Cloud Shell:
cd genai-apptemplates-googlecloud/text-predict-cloudfunction
  1. Vous devriez voir les fichiers main.py et requirements.txt dans le dossier "text-predict-cloudfunction" en exécutant la commande "dir" ou en accédant à l'éditeur Cloud Shell.
  2. Pour déployer la fonction Cloud, exécutez la commande gcloud functions deploy:
gcloud functions deploy predictText --gen2 --runtime=python311 --region=$GCP_REGION --source=. --entry-point=predictText --trigger-http --set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION --allow-unauthenticated --max-instances=1

Une fois la fonction Cloud déployée, son URL s'affiche dans le terminal Cloud Shell. L'URL est au format suivant:

https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/predictText

5. Appeler la fonction Cloud

Comme cette fonction Cloud est déployée avec un déclencheur HTTP, vous pouvez l'appeler directement. Voici un exemple d'appel:

curl -m 70 -X POST https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/predictText \
-H "Content-Type: application/json" \
-d '{
  "prompt": "What are the best places to visit in the United States?"
}'

Le résultat ressemble à ceci :

3470e0a6d0a30b37.png

6. Effectuer un nettoyage

Pour éviter que les ressources utilisées dans cet article soient facturées sur votre compte Google Cloud, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.
  2. Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
  4. Si vous souhaitez conserver votre projet, ignorez les étapes ci-dessus et supprimez la fonction Cloud Functions en accédant à Cloud Functions. Dans la liste des fonctions, cochez celle que vous souhaitez supprimer, puis cliquez sur SUPPRIMER.

7. Félicitations

Félicitations ! Vous avez utilisé une fonction Cloud qui encapsule le modèle PaLM Text-Bison. Pour en savoir plus sur les modèles disponibles, consultez la documentation sur les LLM de Vertex AI.