Gestão de comandos

Esta página apresenta um conjunto unificado de capacidades para definir, guardar, obter e gerir comandos no seu Google Cloud projeto através do módulo de gestão de comandos do SDK Vertex AI.

Vista geral

A Vertex AI oferece ferramentas para ajudar a gerir modelos de comandos e dados de comandos. Os modelos de comandos podem ter versões e ser usados com modelos generativos no Vertex AI. Cada comando pode ser montado e controlado por versões no Vertex AI Studio ou no SDK Vertex AI.

A gestão de comandos no SDK do Vertex AI inclui apoio técnico empresarial completo, incluindo apoio técnico para chaves de encriptação geridas pelo cliente (CMEK) e VPC Service Controls (VPCSC).

Capacidades de gestão de comandos

Para usar qualquer uma das capacidades de IA generativa do SDK Vertex AI, faça o seguinte:

  1. Instale a versão mais recente do SDK da Vertex AI.

    pip install --upgrade google-cloud-aiplatform
    
  2. Crie um cliente de IA generativa com o seguinte exemplo de código 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')
    

Depois de criar um cliente de IA generativa, pode usar qualquer uma das seguintes capacidades de gestão de comandos no SDK da Vertex AI:

Crie um comando local

Esta secção fornece um exemplo de como definir uma variável types.Prompt para utilização em toda esta página.

A classe Prompt é usada para definir, montar e usar comandos. O atributo prompt_data está definido para a classe Prompt e inclui o seguinte:

Atributo

model

Obrigatório: o nome do modelo.

contents

Obrigatório: o conteúdo da conversa com o modelo. Apenas são suportados comandos de interação única.

generation_config

Opcional: configuração da geração

tool_config

Opcional: esta configuração é partilhada para todas as ferramentas fornecidas no pedido.

tools

Opcional: uma lista de Tools que o modelo pode usar para gerar a resposta seguinte. Uma Tool é um fragmento de código que permite ao sistema interagir com sistemas externos para realizar uma ação, ou um conjunto de ações, fora do conhecimento e do âmbito do modelo.

safety_settings

Opcional: as definições do pedido para bloquear conteúdo não seguro, que são aplicadas em GenerateContentResponse.candidates.

system_instruction

Opcional: as instruções do sistema fornecidas pelo utilizador para o modelo.

variables

Opcional: se o comando contiver uma variável de modelo, indique os valores a usar para essa variável. Por exemplo, se o conteúdo do texto do comando for "Olá, {name}". A lista de variáveis deve incluir um dicionário de todos os valores possíveis para a variável "{name}". Exemplo:

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

Este exemplo de código demonstra como definir uma variável 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",
      ),
  )

Guarde um comando num Google Cloud projeto

Esta secção apresenta os parâmetros e um exemplo de como guardar um comando num Google Cloud projeto.

Parâmetros

Esta tabela descreve os parâmetros usados pelo método create:

Parâmetros

prompt

Os dados de um comando específico.

config

Opcional: um objeto types.CreatePromptConfig que representa a configuração para criar um comando.

Esta tabela descreve os parâmetros usados pelo método create_version:

Parâmetros

prompt

Obrigatório: os dados de um comando específico.

config

Opcional: um objeto types.CreatePromptConfig que representa a configuração para criar uma versão do comando.

É devolvido um Prompt pelo método create_version.

Exemplo

Para guardar um comando num Google Cloud projeto, use os métodos client.prompts.create e client.prompts.create_version.

O método client.prompts.create cria um recurso de comando num projetoGoogle Cloud . O método client.prompts.create_version cria uma versão de comando nesse recurso, e pode aceder ao recurso naGoogle Cloud consola.

O método client.prompts.create usa um objeto Prompt como entrada e cria um comando no projeto Google Cloud . O método client.prompts.create_version também requer a transmissão de prompt_id, que é o ID do recurso de comando para criar a versão. É devolvido um novo objeto Prompt, que está associado ao projeto Google Cloud . Todas as atualizações feitas a um objeto Prompt são locais até que create ou create_version seja chamado.

O seguinte exemplo de código mostra como guardar um comando e uma versão do comando:

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

Obtenha um comando guardado

Esta secção apresenta os parâmetros e um exemplo de como obter um comando e uma versão do comando.

Existem dois métodos: client.prompts.get e client.prompts.get_version.

Parâmetros

Esta tabela descreve os parâmetros usados pelo método client.prompts.get:

Parâmetros

prompt_id

Obrigatório: o ID do comando a obter.

config

Opcional: um objeto types.GetPromptConfig que representa a configuração para receber um comando.

Esta tabela descreve os parâmetros usados pelo método client.prompts.get_version:

Parâmetros

prompt_id

Obrigatório: o ID do comando a obter.

version_id

Obrigatório: o ID da versão do comando que quer obter.

config

Opcional: um objeto types.GetPromptConfig que representa a configuração para receber um comando.

É devolvido um Prompt pelos métodos get e get_version.

Exemplos

Para obter (carregar) um comando que foi guardado no projeto Google Cloud , use o método client.prompts.get. Este método recebe o ID do comando como entrada e devolve o objeto Prompt correspondente. Este exemplo de código mostra como carregar um comando guardado:

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

O seguinte exemplo de código mostra como obter uma versão de um comando.

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

O código seguinte demonstra como transformar o seu comando para chamar generate_content no SDK de IA 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(),
  )

Liste comandos e versões

Esta secção apresenta os parâmetros e um exemplo de como listar comandos e versões de comandos.

Existem dois métodos: client.prompts.list e client.prompts.list_versions.

Parâmetros

Esta tabela descreve os parâmetros usados pelo método list:

Parâmetros

config

Opcional: um objeto types.ListPromptsConfig que representa a configuração dos comandos de listagem.

Esta tabela descreve os parâmetros usados pelo método list_versions:

Parâmetros

prompt_id

Obrigatório: o ID do comando para o qual listar as versões.

config

Opcional: um objeto types.ListPromptsConfig que representa a configuração para listar versões de comandos.

Os métodos list e list_versions devolvem uma Iterator de objetos types.PromptRef. O PromptRef contém uma referência a um comando.

Exemplo

Para ver o ID e o modelo de todas as mensagens guardadas no seu Google Cloud projeto, use o método list.

O seguinte exemplo de código demonstra como obter um PromptRef para todos os comandos guardados no projeto atual:

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

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

O seguinte exemplo de código demonstra como listar os IDs dos comandos e das versões de todos os comandos guardados no comando:

  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
  )

Elimine um comando

Esta secção apresenta os parâmetros e um exemplo de como eliminar um comando.

Existem dois métodos: delete e delete_version.

Parâmetros

Esta tabela descreve os parâmetros usados pelo método delete:

Parâmetros

prompt_id

O ID do comando a eliminar.

config

Opcional: um objeto types.DeletePromptConfig que representa a configuração para eliminar um comando.

Esta tabela descreve os parâmetros usados pelo método delete_version:

Parâmetros

prompt_id

O ID do comando para eliminar uma versão.

version_id

A versão do comando a eliminar.

config

Opcional: um objeto types.DeletePromptConfig que representa a configuração para eliminar uma versão do comando.

Exemplos

Para eliminar um comando e todas as respetivas versões, use o método delete.

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

Para eliminar uma versão específica de um recurso de comando, use o método delete_version.

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

Restaure uma versão de comando

Esta secção apresenta os parâmetros e um exemplo de como restaurar uma versão de comando.

Parâmetros

Esta tabela descreve os parâmetros usados pelo método restore_version:

Parâmetros

prompt_id

O ID de um comando específico.

version_id

A versão do comando a restaurar.

config

A configuração para restaurar uma versão do comando.

Um objeto Prompt é devolvido pelo método restore_version.

Exemplo

Um recurso de comando também contém um histórico de versões que armazena as versões guardadas anteriormente do comando. Pode usar o método restore_version() para restaurar uma versão mais antiga como a versão mais recente do comando. Isto devolve um objeto Prompt.

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

O que se segue?