Gestione dei prompt

Questa pagina introduce un insieme unificato di funzionalità per definire, salvare, recuperare e gestire i prompt all'interno del tuo progetto Google Cloud utilizzando il modulo di gestione dei prompt dell'SDK Vertex AI.

Panoramica

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 con i modelli generativi su Vertex AI. Ogni prompt può essere assemblato e sottoposto al controllo delle versioni in Vertex AI Studio o nell'SDK Vertex AI.

La gestione dei prompt nell'SDK Vertex AI include il supporto aziendale completo, incluso il supporto per le chiavi di crittografia gestite dal cliente (CMEK) e i Controlli di servizio VPC (VPCSC).

Funzionalità di gestione dei prompt

Per utilizzare una delle funzionalità di AI generativa dell'SDK Vertex AI, procedi nel seguente modo:

  1. Installa l'ultima versione dell'SDK Vertex AI.

    pip install --upgrade google-cloud-aiplatform
    
  2. Crea un client di AI generativa utilizzando il seguente esempio di codice Python:

        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')
    

Dopo aver creato un client di AI generativa, puoi utilizzare una delle seguenti funzionalità di gestione dei prompt nell'SDK Vertex AI:

Creare un prompt locale

Questa sezione fornisce un esempio di come definire una variabile types.Prompt da utilizzare in questa pagina.

La classe Prompt viene utilizzata per definire, assemblare e utilizzare i prompt. L'attributo prompt_data è definito per la classe Prompt e include quanto segue:

Attributo

model

Obbligatorio: il nome del modello.

contents

Obbligatorio: i contenuti della conversazione con il modello. Sono supportati solo i prompt a un solo turno.

generation_config

(Facoltativo) Configurazione della generazione

tool_config

(Facoltativo) Questa configurazione è condivisa per tutti gli strumenti forniti nella richiesta.

tools

(Facoltativo) Un elenco di Tools che il modello potrebbe utilizzare per generare la risposta successiva. Un Tool è un frammento di codice che consente al sistema di interagire con sistemi esterni per eseguire un'azione o un insieme di azioni al di fuori delle conoscenze e dell'ambito del modello.

safety_settings

(Facoltativo) Le impostazioni delle richieste per il blocco di contenuti non sicuri, che vengono applicate su GenerateContentResponse.candidates.

system_instruction

(Facoltativo) Le istruzioni di sistema fornite dall'utente per il modello.

variables

(Facoltativo) Se il prompt contiene una variabile modello, fornisci i valori da utilizzare per quella variabile. Ad esempio, se i contenuti del testo del prompt sono "Ciao, {name}". L'elenco delle variabili deve includere un dizionario di tutti i valori possibili per la variabile "{name}". Esempio:

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

Questo esempio di codice mostra come definire una variabile 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",
      ),
  )

Salvare un prompt in un progetto Google Cloud

Questa sezione presenta i parametri e un esempio di come salvare un prompt in un progetto Google Cloud .

Parametri

Questa tabella descrive i parametri utilizzati dal metodo create:

Parametri

prompt

I dati per un prompt specifico.

config

(Facoltativo) Un oggetto types.CreatePromptConfig che rappresenta la configurazione per la creazione di un prompt.

Questa tabella descrive i parametri utilizzati dal metodo create_version:

Parametri

prompt

Obbligatorio: i dati per un prompt specifico.

config

(Facoltativo) Un oggetto types.CreatePromptConfig che rappresenta la configurazione per la creazione di una versione del prompt.

Il metodo create_version restituisce un Prompt.

Esempio

Per salvare un prompt in un progetto Google Cloud , utilizza i metodi client.prompts.create e client.prompts.create_version.

Il metodo client.prompts.create crea una risorsa di prompt in un progettoGoogle Cloud . Il metodo client.prompts.create_version crea una versione del prompt all'interno della risorsa e puoi accedere alla risorsa nella consoleGoogle Cloud .

Il metodo client.prompts.create accetta un oggetto Prompt come input e crea un prompt nel progetto Google Cloud . Il metodo client.prompts.create_version richiede anche il passaggio di prompt_id, ovvero l'ID della risorsa prompt in cui creare la versione. Viene restituito un nuovo oggetto Prompt, che è associato al progetto Google Cloud . Gli aggiornamenti apportati a un oggetto Prompt sono locali fino a quando non viene chiamato create o create_version.

Il seguente esempio di codice mostra come salvare un prompt e una versione del 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)

Recuperare un prompt salvato

Questa sezione presenta i parametri e un esempio di come ottenere un prompt e una versione del prompt.

Esistono due metodi: client.prompts.get e client.prompts.get_version.

Parametri

Questa tabella descrive i parametri utilizzati dal metodo client.prompts.get:

Parametri

prompt_id

Obbligatorio: l'ID del prompt da recuperare.

config

(Facoltativo) Un oggetto types.GetPromptConfig che rappresenta la configurazione per ricevere un prompt.

Questa tabella descrive i parametri utilizzati dal metodo client.prompts.get_version:

Parametri

prompt_id

Obbligatorio: l'ID del prompt da recuperare.

version_id

Obbligatorio: l'ID della versione del prompt che vuoi recuperare.

config

(Facoltativo) Un oggetto types.GetPromptConfig che rappresenta la configurazione per ricevere un prompt.

Un Prompt viene restituito dai metodi get e get_version.

Esempi

Per ottenere (caricare) un prompt salvato nel progetto Google Cloud , utilizza il metodo client.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:

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

Il seguente esempio di codice mostra come ottenere una versione di un prompt.

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

Il seguente codice mostra come trasformare il prompt per chiamare generate_content nell'SDK AI generativa.

  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(),
  )

Elenco di prompt e versioni

Questa sezione presenta i parametri e un esempio di come elencare i prompt e le versioni dei prompt.

Esistono due metodi: client.prompts.list e client.prompts.list_versions.

Parametri

Questa tabella descrive i parametri utilizzati dal metodo list:

Parametri

config

(Facoltativo) Un oggetto types.ListPromptsConfig che rappresenta la configurazione per l'elenco dei prompt.

Questa tabella descrive i parametri utilizzati dal metodo list_versions:

Parametri

prompt_id

Obbligatorio: l'ID del prompt per cui elencare le versioni.

config

(Facoltativo) Un oggetto types.ListPromptsConfig che rappresenta la configurazione per l'elenco delle versioni del prompt.

I metodi list e list_versions restituiscono un Iterator di oggetti types.PromptRef. PromptRef contiene un riferimento a un prompt.

Esempio

Per visualizzare l'ID prompt e il modello per tutti i prompt salvati nel tuo progetto Google Cloud , utilizza il metodo list.

Il seguente esempio di codice mostra come recuperare un PromptRef per tutti i prompt salvati nel progetto corrente:

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

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

Il seguente esempio di codice mostra come elencare gli ID prompt e versione per tutte le versioni del prompt salvate al suo interno:

  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
  )

Eliminare un prompt

Questa sezione presenta i parametri e un esempio di come eliminare un prompt.

Esistono due metodi: delete e delete_version.

Parametri

Questa tabella descrive i parametri utilizzati dal metodo delete:

Parametri

prompt_id

L'ID del prompt da eliminare.

config

(Facoltativo) Un oggetto types.DeletePromptConfig che rappresenta la configurazione per l'eliminazione di una richiesta.

Questa tabella descrive i parametri utilizzati dal metodo delete_version:

Parametri

prompt_id

L'ID del prompt da cui eliminare una versione.

version_id

La versione della richiesta di eliminazione.

config

(Facoltativo) Un oggetto types.DeletePromptConfig che rappresenta la configurazione per l'eliminazione di una versione del prompt.

Esempi

Per eliminare un prompt e tutte le relative versioni, utilizza il metodo delete.

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

Per eliminare una versione specifica da una risorsa di prompt, utilizza il metodo delete_version.

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

Ripristinare una versione del prompt

Questa sezione presenta i parametri e un esempio di come ripristinare una versione del prompt.

Parametri

Questa tabella descrive i parametri utilizzati dal metodo restore_version:

Parametri

prompt_id

L'ID di un prompt specifico.

version_id

La versione del prompt da ripristinare.

config

La configurazione per il ripristino di una versione del prompt.

Un oggetto Prompt viene restituito dal metodo restore_version.

Esempio

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 ultima versione del prompt. Viene restituito un oggetto Prompt.

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

Passaggi successivi