A Vertex AI oferece ferramentas para ajudar a gerenciar modelos e dados de comandos. Os modelos de comando podem ser versionados e usados em conjunto com modelos generativos na Vertex AI. Cada comando pode ser montado e controlado no Vertex AI Studio ou no SDK da Vertex AI.
O SDK da Vertex AI inclui o módulo vertexai.preview.prompts
para que
os comandos funcionem com modelos generativos. O módulo vertexai.preview.prompts
oferece suporte à capacidade de definir, salvar e gerenciar comandos para gerar texto
com o Gemini.
Prompt
A classe Prompt representa um comando que pode ser usado para gerar texto com um método Gemini, que encapsula os dados, as variáveis, a configuração de geração e outras informações relevantes.
Para criar um objeto Prompt
, use o construtor vertexai.preview.prompts.Prompt()
.
É possível definir os dados de comando, as variáveis e outras configurações nesse
objeto.
Criar uma solicitação local e gerar conteúdo
SDK da Vertex AI para Python
SDK da Vertex AI para Python
project
: o ID do projeto. Esses IDs estão na página de boas-vindas do console do Google Cloud.location
: consulte os Locais da Vertex AI.prompt_name
: o nome de exibição da solicitação criada pelo usuário, se armazenada em um recurso on-line.prompt_data
: uma solicitaçãoPartsType
, que pode ser um modelo com variáveis ou uma solicitação sem variáveis.variables
: uma lista de dicionários que contém os nomes e valores das variáveis.generation_config
: um objetoGenerationConfig
que contém parâmetros para geração.model_name
: nome do recurso do modelo do Model Garden. Como alternativa, é possível fornecer um nome de recurso de endpoint de modelo ajustado. Se nenhum modelo for fornecido, o modelo mais recente padrão será usado.safety_settings
: um objetoSafetySetting
que contém configurações de segurança para geração.system_instruction
: um objetoPartsType
que representa a instrução do sistema.
Após a criação de um objeto Prompt
, os dados e as propriedades do comando
que representam várias configurações podem ser usados para gerar conteúdo.
As instruções também oferecem suporte a chamadas de função. Consulte Introdução à chamada de função para saber mais.
Salvar um comando
Para salvar um comando em um recurso on-line, que pode ser acessado no
console do Google Cloud, use o
método vertexai.preview.prompts.create_version()
. Esse método recebe um objeto Prompt
como entrada e cria uma nova versão do comando na loja on-line.
Um novo objeto Prompt
é retornado e associado ao recurso on-line.
Todas as atualizações feitas em um objeto Prompt
são locais até que create_version()
seja chamado. O exemplo de código abaixo mostra como salvar uma solicitação:
SDK da Vertex AI para 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)
Carregar uma solicitação salva
Para carregar uma solicitação salva no recurso on-line, use o
método vertexai.preview.prompts.get()
. Esse método usa o ID de comando como
entrada e retorna o objeto Prompt
correspondente. Este exemplo de código
mostra como carregar uma solicitação salva:
SDK da Vertex AI para Python
from vertexai.preview import prompts
# Get prompt
prompt = prompts.get(prompt_id="123456789")
Recuperar a solicitação criada no console do Google Cloud
Para atualizar uma solicitação salva, primeiro carregue a solicitação usando o
método get()
,
modifique as propriedades conforme necessário e salve a solicitação atualizada usando o
método create_version()
. Isso cria uma nova versão da solicitação com as
informações atualizadas.
SDK da Vertex AI para 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)
Comandos de lista
Para conferir os nomes de exibição e os IDs de todos os comandos salvos no projeto atual do Google Cloud, use o método list_prompts()
.
SDK da Vertex AI para 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)
Listar versões de comandos
Para conferir os nomes de exibição e os IDs de versão de todas as versões de comando salvas no
comando, use o método list_versions()
.
SDK da Vertex AI para 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
)
Restaurar uma versão do comando
Um recurso de comando também contém o histórico de versões que armazena versões salvas
anteriores do comando. Você pode usar o
método restore_version()
para restaurar uma versão mais antiga como a versão mais recente do comando. Isso retorna
PromptVersionMetadata, que pode ser usado com uma chamada get()
para buscar a versão
restaurada.
SDK da Vertex AI para 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)
Excluir um comando
Para excluir o recurso on-line associado a um ID de comando, use o
método delete()
.
SDK da Vertex AI para Python
from vertexai.preview import prompts
prompts.delete(prompt_id="123456789")