Vertex AI ofrece herramientas para gestionar plantillas de peticiones y datos de peticiones. Las plantillas de peticiones se pueden versionar y usar junto con modelos generativos en Vertex AI. Cada petición se puede ensamblar y versionar en Vertex AI Studio o en el SDK de Vertex AI.
El SDK de Vertex AI incluye el módulo vertexai.preview.prompts
para que las peticiones puedan funcionar con modelos generativos. El módulo vertexai.preview.prompts
permite definir, guardar y gestionar peticiones para generar texto
con Gemini.
Prompt
La clase Prompt representa una petición que se puede usar para generar texto con un método de Gemini, que encapsula los datos de la petición, las variables, la configuración de generación y otra información pertinente.
Para crear un objeto Prompt
, usa el constructor vertexai.preview.prompts.Prompt()
.
Puedes definir los datos de la petición, las variables y otras configuraciones en este objeto.
Crear una petición local y generar contenido
SDK de Vertex AI para Python
Python
project
: . Puedes encontrar estos IDs en la página de bienvenida de la Google Cloud consola.location
: consulta las ubicaciones de Vertex AI.prompt_name
: el nombre visible de la petición creada por el usuario, si se almacena en un recurso online.prompt_data
: una peticiónPartsType
, que puede ser una plantilla con variables o una petición sin variables.variables
: lista de diccionarios que contiene los nombres y los valores de las variables.generation_config
: objetoGenerationConfig
que contiene los parámetros de generación.model_name
: nombre del recurso del modelo de Model Garden. También se puede proporcionar un nombre de recurso de endpoint de modelo ajustado. Si no se proporciona ningún modelo, se usará el modelo más reciente predeterminado.safety_settings
: objetoSafetySetting
que contiene los ajustes de seguridad para la generación.system_instruction
: objetoPartsType
que representa la instrucción del sistema.
Una vez creado un objeto Prompt
, se pueden usar los datos y las propiedades de la petición que representan varias configuraciones para generar contenido.
Las peticiones también admiten llamadas a funciones. Consulta Introducción a la llamada a funciones para obtener más información.
Guardar una petición
Para guardar una petición en un recurso online al que se puede acceder en laGoogle Cloud consola, usa el método vertexai.preview.prompts.create_version()
. Este método toma un objeto Prompt
como entrada y crea una nueva versión de la petición en la tienda online.
Se devuelve un nuevo objeto Prompt
asociado al recurso online.
Los cambios que se hagan en un objeto Prompt
son locales hasta que se llama a create_version()
. En el siguiente ejemplo de código se muestra cómo guardar una petición:
SDK de 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)
Cargar una petición guardada
Para cargar una petición que se haya guardado en el recurso online, usa el método vertexai.preview.prompts.get()
. Este método toma el ID de la petición como entrada y devuelve el objeto Prompt
correspondiente. En este ejemplo de código se muestra cómo cargar una petición guardada:
SDK de Vertex AI para Python
from vertexai.preview import prompts
# Get prompt
prompt = prompts.get(prompt_id="123456789")
Recuperar una petición creada en la Google Cloud consola
Para actualizar una petición guardada, primero cárgala con el método get()
, modifica sus propiedades según sea necesario y, a continuación, guarda la petición actualizada con el método create_version()
. Se creará una nueva versión de la petición con la información actualizada.
SDK de 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)
Mostrar peticiones
Para ver los nombres visibles y los IDs de las peticiones guardadas en el proyectoGoogle Cloud actual, usa el list_prompts()
método.
SDK de 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)
Mostrar versiones de peticiones
Para ver los nombres visibles y los IDs de versión de todas las versiones de la petición guardadas en la petición, usa el método list_versions()
.
SDK de 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 una versión de una petición
Un recurso de petición también contiene un historial de versiones que almacena las versiones guardadas anteriores de la petición. Puedes usar el método restore_version()
para restaurar una versión anterior como la más reciente de la petición. Devuelve PromptVersionMetadata, que se puede usar con una llamada get()
para obtener la versión restaurada.
SDK de 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)
Eliminar una petición
Para eliminar el recurso online asociado a un ID de petición, usa el método delete()
.
SDK de Vertex AI para Python
from vertexai.preview import prompts
prompts.delete(prompt_id="123456789")