Gerenciamento de comandos

Nesta página, apresentamos um conjunto unificado de recursos para definir, salvar, recuperar e gerenciar comandos no seu projeto Google Cloud usando o módulo de gerenciamento de comandos do SDK da Vertex AI.

Visão geral

A Vertex AI oferece ferramentas para ajudar a gerenciar modelos e dados de comandos. Os modelos de comandos podem ser versionados e usados com modelos generativos na Vertex AI. Cada comando pode ser montado e versionado no Vertex AI Studio ou no SDK da Vertex AI.

O gerenciamento de comandos no SDK da Vertex AI inclui suporte empresarial completo, incluindo suporte para chaves de criptografia gerenciadas pelo cliente (CMEK) e VPC Service Controls (VPCSC).

Recursos de gerenciamento de comandos

Para usar qualquer um dos recursos de IA generativa do SDK da 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 usando o exemplo de código Python a seguir:

        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, você pode usar qualquer um dos seguintes recursos de gerenciamento de comandos no SDK da Vertex AI:

Criar um comando local

Nesta seção, fornecemos um exemplo de como definir uma variável types.Prompt para uso em toda esta página.

A classe Prompt é usada para definir, montar e usar comandos. O atributo prompt_data é 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. Só é possível usar comandos de uma única vez.

generation_config

Opcional: configuração de geração

tool_config

Opcional: essa configuração é compartilhada por todas as ferramentas fornecidas na solicitação.

tools

Opcional: uma lista de Tools que o modelo pode usar para gerar a próxima resposta. Uma Tool é uma parte do 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 escopo do modelo.

safety_settings

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

system_instruction

Opcional: as instruções do sistema fornecidas pelo usuário para o modelo.

variables

Opcional: se o comando tiver uma variável de modelo, forneça os valores a serem usados para essa variável. Por exemplo, se o conteúdo do texto do comando for "Olá, {name}". A lista de variáveis precisa 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",
      ),
  )

Salvar um comando em um projeto do Google Cloud

Nesta seção, apresentamos os parâmetros e um exemplo de como salvar um comando em um projeto do Google Cloud .

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 de solicitação.

Um Prompt é retornado pelo método create_version.

Exemplo

Para salvar um comando em um projeto do Google Cloud , use os métodos client.prompts.create e client.prompts.create_version.

O método client.prompts.create cria um recurso de solicitação em um projetoGoogle Cloud . O método client.prompts.create_version cria uma versão de solicitação dentro desse recurso, e você pode acessar o recurso no consoleGoogle Cloud .

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 exige a transmissão de prompt_id, que é o ID do recurso de solicitação para criar a versão. Um novo objeto Prompt é retornado e associado ao projeto Google Cloud . Todas as atualizações feitas em um objeto Prompt são locais até que create ou create_version seja chamado.

O exemplo de código a seguir mostra como salvar um comando e uma versão dele:

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

Acessar um comando salvo

Esta seção apresenta os parâmetros e um exemplo de como receber um comando e uma versão dele.

Há 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 ser recuperado.

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 ser recuperado.

version_id

Obrigatório: o ID da versão do comando que você quer recuperar.

config

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

Um Prompt é retornado pelos métodos get e get_version.

Exemplos

Para acessar (carregar) um comando salvo no projeto Google Cloud , use o método client.prompts.get. Esse método usa o ID da solicitação como entrada e retorna o objeto Prompt correspondente. Este exemplo de código mostra como carregar um comando salvo:

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

O exemplo de código a seguir mostra como receber 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 a seguir demonstra como transformar 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(),
  )

Listar comandos e versões

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

Há 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 para listar solicitações.

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

Parâmetros

prompt_id

Obrigatório: o ID do comando para 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 retornam um Iterator de objetos types.PromptRef. O PromptRef contém uma referência a um comando.

Exemplo

Para conferir o ID e o modelo de todos os comandos salvos no seu projeto Google Cloud , use o método list.

O exemplo de código a seguir demonstra como recuperar um PromptRef para todos os comandos salvos 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 exemplo de código a seguir demonstra como listar IDs de comando e de versão para todas as versões de comando salvas 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
  )

Excluir um comando

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

Há 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 ser excluído.

config

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

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

Parâmetros

prompt_id

O ID do comando para excluir uma versão.

version_id

A versão do comando a ser excluída.

config

Opcional: um objeto types.DeletePromptConfig que representa a configuração para excluir uma versão de solicitação.

Exemplos

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

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

Para excluir uma versão específica de um recurso de solicitação, use o método delete_version.

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

Restaurar uma versão de comando

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

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 ser restaurada.

config

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

Um objeto Prompt é retornado pelo método restore_version.

Exemplo

Um recurso de solicitação também contém um histórico de versões que armazena versões salvas anteriores da solicitação. Você pode usar o método restore_version() para restaurar uma versão mais antiga como a mais recente do comando. Isso retorna um objeto Prompt.

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

A seguir