Vertex AI ofrece herramientas para ayudar a administrar las plantillas y los datos de las instrucciones. Las plantillas de instrucciones se pueden controlar por versión y usar en conjunto con modelos generativos en Vertex AI. Cada instrucción se puede ensamblar y controlar su versión 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 Gemini, que encapsula los datos, las variables, la configuración de generación y otra información relevante de la instrucción.
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
: El ID del proyecto. Puedes encontrar estos ID 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 que creó 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
: Es una lista de diccionarios que contiene los nombres y valores de las variables.generation_config
: 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 de extremo de modelo ajustado. Si no se proporciona ningún modelo, se usa el modelo más reciente predeterminado.safety_settings
: Un objetoSafetySetting
que contiene la configuración de seguridad para la generación.system_instruction
: 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 Introducción a las llamadas 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 de Google Cloud, usa el
método vertexai.preview.prompts.create_version()
. Este método toma un objeto Prompt
como entrada y crea una versión nueva de la instrucción en la tienda en línea.
Se muestra un nuevo objeto Prompt
asociado con el recurso en línea.
Cualquier actualización que se realice en un objeto Prompt
es local hasta que se llame a create_version()
. En la 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)
Carga una instrucción guardada
Para cargar una instrucción que se haya guardado 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 muestra el objeto Prompt
correspondiente. En esta muestra 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")
Cómo recuperar la instrucción creada en la consola de Google Cloud
Para actualizar una instrucción guardada, primero cárgala 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 versión nueva 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)
Enumera las instrucciones
Para ver los nombres visibles y los IDs de las instrucciones de todas las instrucciones guardadas en el proyecto de Google Cloud 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 instrucciones guardadas en
la instrucció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
)
Cómo restablecer una versión de instrucciones
Un recurso de instrucción también contiene el historial de versiones que almacena las versiones anteriores guardadas de la instrucción. 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 muestra PromptVersionMetadata que se puede usar con una llamada a get()
para recuperar la versión restaurada recientemente.
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")