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 en tandem avec des modèles génératifs sur Vertex AI. Chaque prompt peut être assemblé et géré par version dans Vertex AI Studio ou le SDK Vertex AI.
Le SDK Vertex AI inclut le module vertexai.preview.prompts
afin que les prompts puissent fonctionner avec les modèles génératifs. Le module vertexai.preview.prompts
permet de définir, d'enregistrer et de gérer des prompts pour générer du texte avec Gemini.
Prompt
La classe Prompt représente un prompt qui peut être utilisé pour générer du texte avec une méthode Gemini, qui encapsule les données de prompt, les variables, la configuration de la génération et d'autres informations pertinentes.
Pour créer un objet Prompt
, utilisez le constructeur vertexai.preview.prompts.Prompt()
.
Vous pouvez définir les données de prompt, les variables et d'autres configurations dans cet objet.
Créer un prompt local et générer du contenu
SDK Vertex AI pour Python
Python
project
: . Vous pouvez trouver cet ID sur la page d'accueil de la console Google Cloud .location
: consultez Emplacements Vertex AI.prompt_name
: nom à afficher du prompt créé par l'utilisateur, s'il est stocké dans une ressource en ligne.prompt_data
: promptPartsType
, qui peut être un modèle avec des variables ou un prompt sans variables.variables
: liste de dictionnaires contenant les noms et les valeurs des variables.generation_config
: objetGenerationConfig
contenant des paramètres de génération.model_name
: nom de la ressource du modèle Model Garden. Vous pouvez également fournir le nom d'une ressource de point de terminaison de modèle réglé. Si aucun modèle n'est fourni, le dernier modèle par défaut est utilisé.safety_settings
: objetSafetySetting
contenant les paramètres de sécurité de la génération.system_instruction
: objetPartsType
représentant l'instruction système.
Après la création d'un objet Prompt
, les données et propriétés de prompt représentant différentes configurations peuvent être utilisées pour générer du contenu.
Les prompts sont également compatibles avec l'appel de fonction. Pour en savoir plus, consultez Présentation de l'appel de fonction.
Enregistrer un prompt
Pour enregistrer un prompt sur une ressource en ligne accessible dans la consoleGoogle Cloud , utilisez la méthode vertexai.preview.prompts.create_version()
. Cette méthode prend en entrée un objet Prompt
et crée une nouvelle version du prompt dans le magasin en ligne.
Un nouvel objet Prompt
est renvoyé et associé à la ressource en ligne.
Toutes les modifications apportées à un objet Prompt
sont locales jusqu'à l'appel de create_version()
. L'exemple de code suivant montre comment enregistrer un prompt :
SDK Vertex AI pour Python
from vertexai.preview import prompts # Save Prompt to online resource. # Returns a new Prompt object associated with the online resource. prompt1 = prompts.create_version(prompt=prompt)
Charger un prompt enregistré
Pour charger un prompt enregistré dans la ressource en ligne, utilisez la méthode vertexai.preview.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é :
SDK Vertex AI pour Python
from vertexai.preview import prompts
# Get prompt
prompt = prompts.get(prompt_id="123456789")
Récupérer le prompt créé dans la console Google Cloud
Pour actualiser un prompt enregistré, commencez par le charger à l'aide de la méthode get()
, modifiez ses propriétés si nécessaire, puis enregistrez le prompt modifié à l'aide de la méthode create_version()
. Une nouvelle version du prompt est alors créée avec les informations modifiées.
SDK Vertex AI pour Python
from vertexai.preview import prompts
from vertexai.preview.prompts import Prompt
# Get prompt
prompt = prompts.get(prompt_id="123456789")
# Generate content using the assembled prompt (a prompt without variables)
prompt.generate_content(
contents=prompt.assemble_contents()
)
# Update prompt (changes are local until create_version is called)
prompt.prompt_data = "new prompt"
# Save Prompt to online resource. Since the prompt is associated with a prompt resource, it creates a new version under the same prompt_id. Returns a new Prompt object associated with the online resource
prompt1 = prompts.create_version(prompt=prompt)
Lister les prompts
Pour afficher les noms à afficher et les ID de tous les prompts enregistrés dans le projetGoogle Cloud actuel, utilisez la méthode list_prompts()
.
SDK Vertex AI pour Python
from vertexai.preview import prompts
prompts_metadata = prompts.list()
# Get a prompt from the list
prompt1 = prompts.get(prompt_id=prompts_metadata[0].prompt_id)
Lister les versions des prompts
Pour afficher les noms à afficher et les ID de toutes les versions de prompt enregistrées dans le prompt, utilisez la méthode list_versions()
.
SDK Vertex AI pour Python
from vertexai.preview import prompts
prompt_versions_metadata = prompts.list_versions(prompt_id="123456789")
# Get a specific prompt version from the versions metadata list
prompt1 = prompts.get(
prompt_id=prompt_versions_metadata[3].prompt_id,
version_id=prompt_versions_metadata[3].version_id
)
Restaurer une version du prompt
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 élément PromptVersionMetadata qui peut être utilisé avec un appel get()
pour récupérer la nouvelle version restaurée.
SDK Vertex AI pour Python
from vertexai.preview import prompts
# Restore to prompt version id 1 (original)
prompt_version_metadata = prompts.restore_version(prompt_id="123456789", version_id="1")
# Fetch the newly restored latest version of the prompt
prompt1 = prompts.get(prompt_id=prompt_version_metadata.prompt_id)
Supprimer un prompt
Pour supprimer la ressource en ligne associée à un ID de prompt, utilisez la méthode delete()
.
SDK Vertex AI pour Python
from vertexai.preview import prompts
prompts.delete(prompt_id="123456789")