En esta página, se presenta un conjunto unificado de capacidades para definir, guardar, recuperar y administrar instrucciones dentro de tu proyecto de Google Cloud con el módulo de administración de instrucciones del SDK de Vertex AI.
Descripción general
Vertex AI ofrece herramientas para ayudarte a administrar las plantillas y los datos de instrucciones. Las plantillas de instrucciones pueden tener versiones y usarse 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.
La administración de instrucciones en el SDK de Vertex AI incluye asistencia empresarial completa, lo que incluye la compatibilidad con las claves de encriptación administradas por el cliente (CMEK) y los Controles del servicio de VPC (VPCSC).
Capacidades de administración de instrucciones
Para usar cualquiera de las capacidades de IA generativa del SDK de Vertex AI, haz lo siguiente:
Instala la versión más reciente del SDK de Vertex AI.
pip install --upgrade google-cloud-aiplatform
Crea un cliente de IA generativa con el siguiente muestra de código en Python:
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')
Después de crear un cliente de IA generativa, puedes usar cualquiera de las siguientes capacidades de administración de instrucciones en el SDK de Vertex AI:
- Crea una instrucción local.
- Guardar una instrucción en un Google Cloud proyecto
- Obtén una instrucción guardada.
- List prompts and versions
- Borra una instrucción.
- Restablece una versión de instrucción.
Crea una instrucción local
En esta sección, se proporciona un ejemplo de cómo definir una variable types.Prompt
para usarla en toda esta página.
La clase Prompt
se usa para definir, ensamblar y usar instrucciones. El atributo prompt_data
se define para la clase Prompt
y contiene lo siguiente:
Atributo | |
---|---|
|
Obligatorio: Es el nombre del modelo. |
|
Obligatorio: Es el contenido de la conversación con el modelo. Solo se admiten instrucciones de un solo turno. |
|
Opcional: Configuración de generación |
|
Opcional: Esta configuración se comparte para todas las herramientas proporcionadas en la solicitud. |
|
Opcional: Es una lista de |
|
Opcional: Es la configuración de la solicitud para bloquear contenido no seguro, que se aplica en |
|
Opcional: Son las instrucciones del sistema que proporcionó el usuario para el modelo. |
|
Opcional: Si tu instrucción contiene una variable de plantilla, proporciona los valores que se usarán para esa variable. Por ejemplo, si el contenido del texto de la instrucción es "Hola, {nombre}". Tu lista de variables debe incluir un diccionario de todos los valores posibles para la variable "{name}". Ejemplo: "variables": [ {"name": {"text": "Alice"}}, {"name": {"text": "Bob"}}, ], |
En esta muestra de código, se muestra cómo definir una variable 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",
),
)
Cómo guardar una instrucción en un Google Cloud proyecto
En esta sección, se presentan los parámetros y un ejemplo de cómo guardar una instrucción en un proyecto de Google Cloud .
Parámetros
En esta tabla, se describen los parámetros que usa el método create
:
Parámetros | |
---|---|
|
Son los datos de una instrucción específica. |
|
Opcional: Un objeto |
En esta tabla, se describen los parámetros que usa el método create_version
:
Parámetros | |
---|---|
|
Obligatorio: Son los datos de una instrucción específica. |
|
Opcional: Es un objeto |
El método create_version
devuelve un Prompt
.
Ejemplo
Para guardar una instrucción en un proyecto Google Cloud , usa los métodos client.prompts.create
y client.prompts.create_version
.
El método client.prompts.create
crea un recurso de mensaje en un proyecto deGoogle Cloud . El método client.prompts.create_version
crea una versión de la instrucción dentro de ese recurso, y puedes acceder al recurso en la consola deGoogle Cloud .
El método client.prompts.create
toma un objeto Prompt
como entrada y crea una instrucción en el proyecto Google Cloud . El método client.prompts.create_version
también requiere que se pase prompt_id
, que es el ID del recurso de instrucción para crear la versión. Se devuelve un nuevo objeto Prompt
, que está asociado al proyecto Google Cloud . Las actualizaciones que se realicen en un objeto Prompt
serán locales hasta que se llame a create
o create_version
.
En el siguiente muestra de código, se muestra cómo guardar una instrucción y una versión de instrucción:
# 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)
Cómo obtener un mensaje guardado
En esta sección, se presentan los parámetros y un ejemplo de cómo obtener una instrucción y una versión de instrucción.
Existen dos métodos: client.prompts.get
y client.prompts.get_version
.
Parámetros
En esta tabla, se describen los parámetros que usa el método client.prompts.get
:
Parámetros | |
---|---|
|
Obligatorio: ID de la instrucción que se recuperará. |
|
Opcional: Es un objeto |
En esta tabla, se describen los parámetros que usa el método client.prompts.get_version
:
Parámetros | |
---|---|
|
Obligatorio: ID de la instrucción que se recuperará. |
|
Obligatorio: ID de la versión de la instrucción que deseas recuperar. |
|
Opcional: Es un objeto |
Los métodos get
y get_version
devuelven un Prompt
.
Ejemplos
Para obtener (cargar) una instrucción que se guardó en el proyecto Google Cloud , usa el método client.prompts.get
. Este método toma el ID de la instrucción como entrada y devuelve el objeto Prompt
correspondiente. En esta muestra de código, se muestra cómo cargar una instrucción guardada:
# Get prompt
retrieved_prompt = client.prompts.get(prompt_id=prompt_resource.prompt_id)
En la siguiente muestra de código, se muestra cómo obtener una versión de una instrucción.
retrieved_prompt_version = client.prompts.get_version(prompt_id='your-prompt-id', version_id='your-prompt-version-id')
En el siguiente código, se muestra cómo transformar tu instrucción para llamar a generate_content
en el 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(),
)
Enumera instrucciones y versiones
En esta sección, se presentan los parámetros y un ejemplo de cómo enumerar las instrucciones y las versiones de instrucciones.
Existen dos métodos: client.prompts.list
y client.prompts.list_versions
.
Parámetros
En esta tabla, se describen los parámetros que usa el método list
:
Parámetros | |
---|---|
|
Opcional: Un objeto |
En esta tabla, se describen los parámetros que usa el método list_versions
:
Parámetros | |
---|---|
|
Obligatorio: Es el ID de la instrucción para la que se enumerarán las versiones. |
|
Opcional: Es un objeto |
Los métodos list
y list_versions
devuelven un Iterator
de objetos types.PromptRef
. El PromptRef
contiene una referencia a una instrucción.
Ejemplo
Para ver el ID y el modelo de todas las instrucciones guardadas en tu proyecto Google Cloud , usa el método list
.
En el siguiente muestra de código, se muestra cómo recuperar un PromptRef
para todas las instrucciones guardadas en el proyecto actual:
prompt_refs = list(client.prompts.list())
# Get a prompt from the list
prompt1 = client.prompts.get(prompt_id=prompt_refs[0].prompt_id)
En el siguiente muestra de código, se muestra cómo enumerar los IDs de instrucciones y versiones para todas las versiones de instrucciones guardadas en la instrucción:
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
)
Cómo borrar un mensaje
En esta sección, se presentan los parámetros y un ejemplo de cómo borrar una instrucción.
Existen dos métodos: delete
y delete_version
.
Parámetros
En esta tabla, se describen los parámetros que usa el método delete
:
Parámetros | |
---|---|
|
Es el ID de la instrucción que se borrará. |
|
Opcional: Es un objeto |
En esta tabla, se describen los parámetros que usa el método delete_version
:
Parámetros | |
---|---|
|
ID de la instrucción para borrar una versión. |
|
Es la versión de la instrucción que se borrará. |
|
Opcional: Es un objeto |
Ejemplos
Para borrar una instrucción y todas sus versiones, usa el método delete
.
client.prompts.delete(prompt_id=retrieved_prompt.prompt_id)
Para borrar una versión específica de un recurso de mensaje, usa el método delete_version
.
client.prompts.delete_version(prompt_id=retrieved_prompt.prompt_id, version_id='your-version-id')
Cómo restablecer una versión de instrucción
En esta sección, se presentan los parámetros y un ejemplo de cómo restablecer una versión de instrucción.
Parámetros
En esta tabla, se describen los parámetros que usa el método restore_version
:
Parámetros | |
---|---|
|
Es el ID de una instrucción específica. |
|
Es la versión de la instrucción que se restablecerá. |
|
Es la configuración para restablecer una versión de instrucción. |
El método restore_version
devuelve un objeto Prompt
.
Ejemplo
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 un objeto Prompt
.
# Restore to prompt version id 1
restored_prompt = client.prompts.restore_version(prompt_id=retrieved_prompt.prompt_id, version_id='1')
¿Qué sigue?
- Para obtener más información sobre las instrucciones que admiten llamadas a funciones, consulta la Introducción a las llamadas a funciones.