Gestion des requêtes

Cette page présente un ensemble unifié de fonctionnalités permettant de définir, d'enregistrer, de récupérer et de gérer des requêtes dans votre projet Google Cloud à l'aide du module de gestion des requêtes du SDK Vertex AI.

Présentation

Vertex AI propose des outils pour gérer les modèles et les données de prompt. Les modèles de prompt peuvent être gérés par version et utilisés avec des modèles génératifs sur Vertex AI. Chaque requête peut être assemblée et gérée par version dans Vertex AI Studio ou le SDK Vertex AI.

La gestion des requêtes dans le SDK Vertex AI inclut une assistance complète pour les entreprises, y compris la prise en charge des clés de chiffrement gérées par le client (CMEK) et de VPC Service Controls (VPCSC).

Fonctionnalités de gestion des requêtes

Pour utiliser l'une des fonctionnalités d'IA générative du SDK Vertex AI, procédez comme suit :

  1. Installez la dernière version du SDK Vertex AI.

    pip install --upgrade google-cloud-aiplatform
    
  2. Créez un client d'IA générative à l'aide de l'exemple de code Python suivant :

        import vertexai
        from vertexai import types
    
        # Instantiate GenAI client from Vertex SDK
        # Replace with your project ID and location
        client = vertexai.Client(project='my-project', location='my-location')
    

Une fois que vous avez créé un client d'IA générative, vous pouvez utiliser l'une des fonctionnalités de gestion des requêtes suivantes dans le SDK Vertex AI :

Créer un prompt local

Cette section fournit un exemple de définition d'une variable types.Prompt à utiliser sur cette page.

La classe Prompt permet de définir, d'assembler et d'utiliser des requêtes. L'attribut prompt_data est défini pour la classe Prompt et inclut les éléments suivants :

Attribut

model

Obligatoire : nom du modèle.

contents

Obligatoire : contenu de la conversation avec le modèle. Seules les requêtes ponctuelles sont acceptées.

generation_config

Facultatif : Configuration de la génération

tool_config

Facultatif : Cette configuration est partagée pour tous les outils fournis dans la requête.

tools

Facultatif : liste de Tools que le modèle peut utiliser pour générer la réponse suivante. Un Tool est un morceau de code qui permet au système d'interagir avec des systèmes externes pour effectuer une action ou un ensemble d'actions en dehors du champ d'application et des connaissances du modèle.

safety_settings

Facultatif : Paramètres de requête pour bloquer le contenu non sécurisé, appliqués sur GenerateContentResponse.candidates.

system_instruction

Facultatif : Instructions système fournies par l'utilisateur pour le modèle.

variables

Facultatif : Si votre requête contient une variable de modèle, indiquez les valeurs à utiliser pour cette variable. Par exemple, si le contenu de votre texte d'invite est "Bonjour, {name}". Votre liste de variables doit inclure un dictionnaire de toutes les valeurs possibles pour la variable "{name}". Exemple :

        "variables": [
            {"name": {"text": "Alice"}},
            {"name": {"text": "Bob"}},
        ],
        

Cet exemple de code montre comment définir une variable types.Prompt.

  import vertexai
  from vertexai import types
  from google.genai import types

  prompt = types.Prompt(
      prompt_data=types.PromptData(
        contents=[genai_types.Content(parts=[genai_types.Part(text="Hello, {name}! How are you?")])],
        variables=[
          {"name": genai_types.Part(text="Alice")},
          {"name": genai_types.Part(text="Bob")},
        ],
        model="your-model",
      ),
  )

Enregistrer une requête dans un projet Google Cloud

Cette section présente les paramètres et un exemple de la façon d'enregistrer un prompt dans un projet Google Cloud .

Paramètres

Ce tableau décrit les paramètres utilisés par la méthode create :

Paramètres

prompt

Données pour une requête spécifique.

config

Facultatif : Objet types.CreatePromptConfig représentant la configuration pour la création d'un prompt.

Ce tableau décrit les paramètres utilisés par la méthode create_version :

Paramètres

prompt

Obligatoire : données pour une requête spécifique.

config

Facultatif : Un objet types.CreatePromptConfig représentant la configuration pour créer une version de prompt.

Un Prompt est renvoyé par la méthode create_version.

Exemple

Pour enregistrer un prompt dans un projet Google Cloud , utilisez les méthodes client.prompts.create et client.prompts.create_version.

La méthode client.prompts.create crée une ressource d'invite dans un projetGoogle Cloud . La méthode client.prompts.create_version crée une version du prompt dans cette ressource, à laquelle vous pouvez accéder dans la consoleGoogle Cloud .

La méthode client.prompts.create prend un objet Prompt comme entrée et crée un prompt dans le projet Google Cloud . La méthode client.prompts.create_version nécessite également de transmettre prompt_id, qui correspond à l'ID de la ressource d'invite sous laquelle créer la version. Un nouvel objet Prompt est renvoyé et associé au projet Google Cloud . Toutes les modifications apportées à un objet Prompt sont locales jusqu'à l'appel de create ou create_version.

L'exemple de code suivant montre comment enregistrer un prompt et une version de prompt :

  # Save `Prompt` to a Google Cloud project.
  # Returns a new `Prompt` object associated with the saved prompt resource.
  prompt_resource = client.prompts.create(prompt=prompt)
  prompt_version_resource = client.prompts.create_version(prompt=prompt, prompt_id=prompt_resource.prompt_id)

Obtenir un prompt enregistré

Cette section présente les paramètres et un exemple pour obtenir un prompt et une version de prompt.

Il existe deux méthodes : client.prompts.get et client.prompts.get_version.

Paramètres

Ce tableau décrit les paramètres utilisés par la méthode client.prompts.get :

Paramètres

prompt_id

Obligatoire : ID de la requête à récupérer.

config

Facultatif : Objet types.GetPromptConfig représentant la configuration pour obtenir un prompt.

Ce tableau décrit les paramètres utilisés par la méthode client.prompts.get_version :

Paramètres

prompt_id

Obligatoire : ID de la requête à récupérer.

version_id

Obligatoire : ID de la version d'invite que vous souhaitez récupérer.

config

Facultatif : Objet types.GetPromptConfig représentant la configuration pour obtenir un prompt.

Un Prompt est renvoyé par les méthodes get et get_version.

Exemples

Pour obtenir (charger) un prompt enregistré dans le projet Google Cloud , utilisez la méthode client.prompts.get. Cette méthode utilise l'ID du prompt en entrée et renvoie l'objet Prompt correspondant. Cet exemple de code montre comment charger un prompt enregistré :

  # Get prompt
  retrieved_prompt = client.prompts.get(prompt_id=prompt_resource.prompt_id)

L'exemple de code suivant vous montre comment obtenir une version d'un prompt.

  retrieved_prompt_version = client.prompts.get_version(prompt_id='your-prompt-id', version_id='your-prompt-version-id')

Le code suivant montre comment transformer votre requête pour appeler generate_content dans le SDK d'IA générative.

  from google import genai
  from google.genai import types as genai_types

  genai_client = genai.Client(vertexai=True, project="my-project", location="my-location")

  response = genai_client.models.generate_content(
      model=retrieved_prompt.prompt_data.model,
      contents=retrieved_prompt.assemble_contents(),
  )

Lister les prompts et les versions

Cette section présente les paramètres et un exemple pour lister les requêtes et les versions de requêtes.

Il existe deux méthodes : client.prompts.list et client.prompts.list_versions.

Paramètres

Ce tableau décrit les paramètres utilisés par la méthode list :

Paramètres

config

Facultatif : Objet types.ListPromptsConfig représentant la configuration pour lister les invites.

Ce tableau décrit les paramètres utilisés par la méthode list_versions :

Paramètres

prompt_id

Obligatoire : ID de l'invite pour laquelle lister les versions.

config

Facultatif : Objet types.ListPromptsConfig représentant la configuration pour lister les versions d'invite.

Les méthodes list et list_versions renvoient un Iterator d'objets types.PromptRef. L'PromptRef contient une référence à une invite.

Exemple

Pour afficher l'ID et le modèle de tous les prompts enregistrés dans votre projet Google Cloud , utilisez la méthode list.

L'exemple de code suivant montre comment récupérer un PromptRef pour tous les prompts enregistrés dans le projet actuel :

  prompt_refs = list(client.prompts.list())

  # Get a prompt from the list
  prompt1 = client.prompts.get(prompt_id=prompt_refs[0].prompt_id)

L'exemple de code suivant montre comment lister les ID de prompt et de version pour toutes les versions de prompt enregistrées dans le prompt :

  prompt_versions_metadata = client.prompts.list_versions(prompt_id="123456789")

  # Get a specific prompt version from the versions metadata list
  prompt1 = client.prompts.get_version(
      prompt_id=prompt_versions_metadata[0].prompt_id,
      version_id=prompt_versions_metadata[0].version_id
  )

Supprimer un prompt

Cette section présente les paramètres et un exemple de suppression d'un prompt.

Il existe deux méthodes : delete et delete_version.

Paramètres

Ce tableau décrit les paramètres utilisés par la méthode delete :

Paramètres

prompt_id

ID de la requête à supprimer.

config

Facultatif : Objet types.DeletePromptConfig représentant la configuration pour supprimer un message.

Ce tableau décrit les paramètres utilisés par la méthode delete_version :

Paramètres

prompt_id

ID de l'invite à partir de laquelle supprimer une version.

version_id

Version de l'invite à supprimer.

config

Facultatif : Objet types.DeletePromptConfig représentant la configuration pour supprimer une version d'un prompt.

Exemples

Pour supprimer un prompt et toutes ses versions, utilisez la méthode delete.

  client.prompts.delete(prompt_id=retrieved_prompt.prompt_id)

Pour supprimer une version spécifique d'une ressource de prompt, utilisez la méthode delete_version.

  client.prompts.delete_version(prompt_id=retrieved_prompt.prompt_id, version_id='your-version-id')

Restaurer une version du prompt

Cette section présente les paramètres et un exemple de restauration d'une version de requête.

Paramètres

Ce tableau décrit les paramètres utilisés par la méthode restore_version :

Paramètres

prompt_id

ID d'une requête spécifique.

version_id

Version du prompt à restaurer.

config

Configuration pour restaurer une version de requête.

Un objet Prompt est renvoyé par la méthode restore_version.

Exemple

Une ressource de prompt contient également un historique des versions qui stocke les versions précédentes enregistrées du prompt. Vous pouvez utiliser la méthode restore_version() pour restaurer une ancienne version en tant que dernière version du prompt. Cela renvoie un objet Prompt.

  # Restore to prompt version id 1
  restored_prompt = client.prompts.restore_version(prompt_id=retrieved_prompt.prompt_id, version_id='1')

Étapes suivantes