Vertex AI ofrece herramientas para ayudarte a administrar las plantillas y los datos de instrucciones. Las plantillas de instrucciones pueden tener versiones y usarse en conjunto con modelos generativos en Vertex AI. Cada instrucció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 instrucciones puedan funcionar con modelos generativos. El módulo vertexai.preview.prompts
admite la capacidad de definir, guardar y administrar instrucciones para generar texto con Gemini.
Prompt
La clase Prompt representa una instrucción que se puede usar para generar texto con un método de Gemini, que encapsula los datos de la instrucció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 instrucción, las variables y otros parámetros de configuración dentro de este objeto.
Crea una instrucción local y genera contenido
SDK de Vertex AI para Python
Python
project
: . Puedes encontrar estos IDs en la página de bienvenida de la consola de Google Cloud .location
: Consulta las ubicaciones de Vertex AI.prompt_name
: Es el nombre visible de la instrucción creada por el usuario, si se almacena en un recurso en línea.prompt_data
: Es una instrucciónPartsType
, que puede ser una plantilla con variables o una instrucción sin variables.variables
: Una lista de diccionarios que contienen los nombres y valores de las variables.generation_config
: Es un objetoGenerationConfig
que contiene parámetros para la generación.model_name
: Es el nombre del recurso del modelo de Model Garden. Como alternativa, se puede proporcionar un nombre de recurso del extremo del modelo ajustado. Si no se proporciona ningún modelo, se usa el modelo predeterminado más reciente.safety_settings
: Es un objetoSafetySetting
que contiene parámetros de configuración de seguridad para la generación.system_instruction
: Es un objetoPartsType
que representa la instrucción del sistema.
Después de crear un objeto Prompt
, se pueden usar los datos y las propiedades de la instrucción que representan varias configuraciones para generar contenido.
Las instrucciones también admiten llamadas a funciones. Consulta la Introducción a la llamada a función para obtener más información.
Cómo guardar una instrucción
Para guardar una instrucción en un recurso en línea al que se puede acceder en la consola deGoogle Cloud , 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 instrucción en la tienda en línea.
Se devuelve un nuevo objeto Prompt
asociado al recurso en línea.
Las actualizaciones que se realicen en un objeto Prompt
serán locales hasta que se llame a create_version()
. En el siguiente muestra de código, se muestra cómo guardar una instrucció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)
Cómo cargar un mensaje guardado
Para cargar una instrucción guardada en el recurso en línea, usa el método vertexai.preview.prompts.get()
. Este método toma el ID de la instrucción como entrada y devuelve el objeto Prompt
correspondiente. En este ejemplo de código, se muestra cómo cargar una instrucción guardada:
SDK de Vertex AI para Python
from vertexai.preview import prompts
# Get prompt
prompt = prompts.get(prompt_id="123456789")
Recupera la instrucción creada en la consola de Google Cloud
Para actualizar una instrucción guardada, primero carga la instrucción con el método get()
, modifica sus propiedades según sea necesario y, luego, guarda la instrucción actualizada con el método create_version()
. Esto crea una nueva versión de la instrucció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)
Instrucciones de lista
Para ver los nombres visibles y los IDs de instrucciones de todas las instrucciones guardadas en elGoogle Cloud proyecto actual, usa el método list_prompts()
.
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)
Enumera las versiones de instrucciones
Para ver los nombres visibles y los IDs de versión de todas las versiones de la instrucción guardadas en ella, 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
)
Cómo restablecer una versión de instrucción
Un recurso de mensaje también contiene un historial de versiones que almacena las versiones guardadas anteriores del mensaje. Puedes usar el método restore_version()
para restablecer una versión anterior como la versión más reciente de la instrucción. Esto devuelve PromptVersionMetadata que se puede usar con una llamada a get()
para recuperar la versión recién restablecida.
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)
Cómo borrar un mensaje
Para borrar el recurso en línea asociado con un ID de instrucción, usa el método delete()
.
SDK de Vertex AI para Python
from vertexai.preview import prompts
prompts.delete(prompt_id="123456789")