Administración de instrucciones

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:

  1. Instala la versión más reciente del SDK de Vertex AI.

    pip install --upgrade google-cloud-aiplatform
    
  2. 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

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

model

Obligatorio: Es el nombre del modelo.

contents

Obligatorio: Es el contenido de la conversación con el modelo. Solo se admiten instrucciones de un solo turno.

generation_config

Opcional: Configuración de generación

tool_config

Opcional: Esta configuración se comparte para todas las herramientas proporcionadas en la solicitud.

tools

Opcional: Es una lista de Tools que el modelo podría usar para generar la siguiente respuesta. Una Tool es un fragmento de código que permite que el sistema interactúe con sistemas externos para realizar una acción, o un conjunto de acciones, fuera del conocimiento y del alcance del modelo.

safety_settings

Opcional: Es la configuración de la solicitud para bloquear contenido no seguro, que se aplica en GenerateContentResponse.candidates.

system_instruction

Opcional: Son las instrucciones del sistema que proporcionó el usuario para el modelo.

variables

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

prompt

Son los datos de una instrucción específica.

config

Opcional: Un objeto types.CreatePromptConfig que representa la configuración para crear una instrucción.

En esta tabla, se describen los parámetros que usa el método create_version:

Parámetros

prompt

Obligatorio: Son los datos de una instrucción específica.

config

Opcional: Es un objeto types.CreatePromptConfig que representa la configuración para crear una versión de instrucción.

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

prompt_id

Obligatorio: ID de la instrucción que se recuperará.

config

Opcional: Es un objeto types.GetPromptConfig que representa la configuración para obtener una instrucción.

En esta tabla, se describen los parámetros que usa el método client.prompts.get_version:

Parámetros

prompt_id

Obligatorio: ID de la instrucción que se recuperará.

version_id

Obligatorio: ID de la versión de la instrucción que deseas recuperar.

config

Opcional: Es un objeto types.GetPromptConfig que representa la configuración para obtener una instrucción.

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

config

Opcional: Un objeto types.ListPromptsConfig que representa la configuración para enumerar instrucciones.

En esta tabla, se describen los parámetros que usa el método list_versions:

Parámetros

prompt_id

Obligatorio: Es el ID de la instrucción para la que se enumerarán las versiones.

config

Opcional: Es un objeto types.ListPromptsConfig que representa la configuración para enumerar versiones de instrucciones.

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

prompt_id

Es el ID de la instrucción que se borrará.

config

Opcional: Es un objeto types.DeletePromptConfig que representa la configuración para borrar una instrucción.

En esta tabla, se describen los parámetros que usa el método delete_version:

Parámetros

prompt_id

ID de la instrucción para borrar una versión.

version_id

Es la versión de la instrucción que se borrará.

config

Opcional: Es un objeto types.DeletePromptConfig que representa la configuración para borrar una versión de instrucción.

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

prompt_id

Es el ID de una instrucción específica.

version_id

Es la versión de la instrucción que se restablecerá.

config

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?