Vertex AI offre strumenti per gestire i modelli di prompt e i dati dei prompt. I modelli di prompt possono essere sottoposti al controllo delle versioni e utilizzati in combinazione con modelli generativi su Vertex AI. Ogni prompt può essere assemblato e controllato in base alla versione 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 generare testo
con Gemini.
Prompt
La classe Prompt rappresenta una richiesta che può essere utilizzata per generare testo con un metodo Gemini, che incapsula i dati della richiesta, le variabili, la configurazione di generazione e altre informazioni pertinenti.
Per creare un oggetto Prompt
, utilizza il costruttore vertexai.preview.prompts.Prompt()
.
Puoi definire i dati del prompt, le variabili e altre configurazioni all'interno di questo oggetto.
Creare un prompt locale e generare contenuti
SDK Vertex AI per Python
Python
project
: . Puoi trovare questi ID nella pagina 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 i parametri per la generazione.model_name
: il nome della risorsa del modello Model Garden. In alternativa, puoi fornire un nome risorsa dell'endpoint del modello ottimizzato. Se non viene fornito alcun modello, viene utilizzato l'ultimo modello 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 accetta un oggetto Prompt
come input e crea una nuova versione del prompt nello store online.
Viene restituito un nuovo oggetto Prompt
associato alla risorsa online.
Qualsiasi aggiornamento apportato a un oggetto Prompt
è locale fino a quando non viene chiamato 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 resource. 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 accetta 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")
Recuperare il prompt creato nella console Google Cloud
Per aggiornare un prompt salvato, caricalo prima utilizzando il metodo get()
, modifica le relative 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)
Elenco prompt
Per visualizzare i nomi visualizzati e gli ID prompt di tutti i prompt salvati nel progettoGoogle Cloud corrente, utilizza il metodo list_prompts()
.
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)
Elenco delle versioni del prompt
Per visualizzare i nomi visualizzati e gli ID versione di tutte le versioni del prompt salvate all'interno
del prompt, 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
ripristinata di recente.
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")