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:
Instale a versão mais recente do SDK da Vertex AI.
pip install --upgrade google-cloud-aiplatform
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:
- Crie um comando local.
- Salvar um comando em um Google Cloud projeto.
- Receber um comando salvo.
- Listar comandos e versões.
- Excluir um comando.
- Restaurar uma versão do comando.
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 | |
---|---|
|
Obrigatório: o nome do modelo. |
|
Obrigatório: o conteúdo da conversa com o modelo. Só é possível usar comandos de uma única vez. |
|
Opcional: configuração de geração |
|
Opcional: essa configuração é compartilhada por todas as ferramentas fornecidas na solicitação. |
|
Opcional: uma lista de |
|
Opcional: as configurações de solicitação para bloquear conteúdo não seguro, que são aplicadas em |
|
Opcional: as instruções do sistema fornecidas pelo usuário para o modelo. |
|
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 | |
---|---|
|
Os dados de um comando específico. |
|
Opcional: um objeto |
Esta tabela descreve os parâmetros usados pelo método create_version
:
Parâmetros | |
---|---|
|
Obrigatório: os dados de um comando específico. |
|
Opcional: um objeto |
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 | |
---|---|
|
Obrigatório: o ID do comando a ser recuperado. |
|
Opcional: um objeto |
Esta tabela descreve os parâmetros usados pelo método client.prompts.get_version
:
Parâmetros | |
---|---|
|
Obrigatório: o ID do comando a ser recuperado. |
|
Obrigatório: o ID da versão do comando que você quer recuperar. |
|
Opcional: um objeto |
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 | |
---|---|
|
Opcional: um objeto |
Esta tabela descreve os parâmetros usados pelo método list_versions
:
Parâmetros | |
---|---|
|
Obrigatório: o ID do comando para listar as versões. |
|
Opcional: um objeto |
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 | |
---|---|
|
O ID do comando a ser excluído. |
|
Opcional: um objeto |
Esta tabela descreve os parâmetros usados pelo método delete_version
:
Parâmetros | |
---|---|
|
O ID do comando para excluir uma versão. |
|
A versão do comando a ser excluída. |
|
Opcional: um objeto |
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 | |
---|---|
|
O ID de um comando específico. |
|
A versão do comando a ser restaurada. |
|
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
- Para saber mais sobre comandos que oferecem suporte à chamada de função, consulte Introdução à chamada de função.