Vertex AI offre strumenti per gestire i modelli di prompt e i dati dei prompt. I modelli di prompt possono essere sottoposti a controllo della versione e utilizzati in combinazione con i modelli generativi su Vertex AI. Ogni prompt può essere assemblato e sottoposto a gestione delle versioni in Vertex AI Studio o nell'SDK Vertex AI.
L'SDK Vertex AI include il modulo vertexai.preview.prompts
in modo che i prompt possano funzionare con i modelli generativi. Il modulo vertexai.preview.prompts
supporta la possibilità di definire, salvare e gestire i prompt per la generazione di testo con Gemini.
Prompt
La classe Prompt rappresenta un prompt che può essere utilizzato per generare testo con un metodo Gemini, che incapsula i dati, le variabili, la configurazione di generazione e altre informazioni pertinenti del prompt.
Per creare un oggetto Prompt
, utilizza il costruttore vertexai.preview.prompts.Prompt()
.
Puoi definire i dati, le variabili e altre configurazioni del prompt all'interno di questo oggetto.
Creare un prompt locale e generare contenuti
SDK Vertex AI per Python
Python
project
: il tuo ID progetto. Puoi trovare questi ID nella pagina di benvenuto della console Google Cloud .location
: consulta le località di Vertex AI.prompt_name
: il nome visualizzato del prompt creato dall'utente, se memorizzato in una risorsa online.prompt_data
: un promptPartsType
, che può essere un modello con variabili o un prompt senza variabili.variables
: un elenco di dizionari contenenti i nomi e i valori delle variabili.generation_config
: un oggettoGenerationConfig
contenente parametri per la generazione.model_name
: nome della risorsa del modello di Model Garden. In alternativa, puoi fornire il nome di una risorsa endpoint del modello ottimizzato. Se non viene fornito alcun modello, viene utilizzato il modello più recente predefinito.safety_settings
: un oggettoSafetySetting
contenente le impostazioni di sicurezza per la generazione.system_instruction
: un oggettoPartsType
che rappresenta l'istruzione di sistema.
Dopo la creazione di un oggetto Prompt
, i dati e le proprietà del prompt
che rappresentano varie configurazioni possono essere utilizzati per generare contenuti.
I prompt supportano anche la chiamata di funzioni. Per saperne di più, consulta Introduzione alla chiamata di funzione.
Salvare un prompt
Per salvare un prompt in una risorsa online a cui è possibile accedere nella consoleGoogle Cloud , utilizza il metodo vertexai.preview.prompts.create_version()
. Questo metodo prende un oggetto Prompt
come input e crea una nuova versione della richiesta nel negozio online.
Viene restituito un nuovo oggetto Prompt
associato alla risorsa online.
Eventuali aggiornamenti apportati a un oggetto Prompt
sono locali fino alla chiamata di create_version()
. Il seguente esempio di codice mostra come salvare un prompt:
SDK Vertex AI per Python
from vertexai.preview import prompts
# Save Prompt to online resource.
Returns a new Prompt object associated with the online prompt1 = prompts.create_version(prompt=prompt)
Caricare un prompt salvato
Per caricare un prompt salvato nella risorsa online, utilizza il metodo
vertexai.preview.prompts.get()
. Questo metodo prende l'ID prompt come input e restituisce l'oggetto Prompt
corrispondente. Questo
esempio di codice mostra come caricare un prompt salvato:
SDK Vertex AI per Python
from vertexai.preview import prompts
# Get prompt
prompt = prompts.get(prompt_id="123456789")
Recupero della richiesta creata nella console Google Cloud
Per aggiornare un prompt salvato, caricalo prima utilizzando il metodo get()
, modifica le sue proprietà in base alle esigenze e poi salva il prompt aggiornato utilizzando il metodo create_version()
. Viene creata una nuova versione del prompt con le informazioni aggiornate.
SDK Vertex AI per 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)
Elenca i prompt
Per visualizzare i nomi visualizzati e gli ID prompt di tutti i prompt salvati nel progettoGoogle Cloud corrente, utilizza il list_prompts()
metodo.
SDK Vertex AI per 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)
Elenca le versioni del prompt
Per visualizzare i nomi visualizzati e gli ID di tutte le versioni del prompt salvate al suo interno, utilizza il metodo list_versions()
.
SDK Vertex AI per 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
)
Ripristinare una versione del prompt
Una risorsa prompt contiene anche la cronologia delle versioni che memorizza le versioni salvate precedenti del prompt. Puoi utilizzare il metodo restore_version()
per ripristinare una versione precedente come versione più recente del prompt. Viene restituito PromptVersionMetadata che può essere utilizzato con una chiamata get()
per recuperare la versione appena ripristinata.
SDK Vertex AI per 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)
Eliminare un prompt
Per eliminare la risorsa online associata a un ID prompt, utilizza il metodo
delete()
.
SDK Vertex AI per Python
from vertexai.preview import prompts
prompts.delete(prompt_id="123456789")