Gestión de peticiones

En esta página se presenta un conjunto unificado de funciones para definir, guardar, recuperar y gestionar peticiones en tu proyecto de Google Cloud con el módulo de gestión de peticiones del SDK de Vertex AI.

Información general

Vertex AI ofrece herramientas para gestionar plantillas de peticiones y datos de peticiones. Las plantillas de peticiones se pueden versionar y usar 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.

La gestión de peticiones en el SDK de Vertex AI incluye asistencia empresarial completa, como la compatibilidad con claves de cifrado gestionadas por el cliente (CMEK) y controles de servicio de VPC (VPC-SC).

Funciones de gestión de peticiones

Para usar cualquiera de las funciones 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 código de ejemplo de 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')
    

Una vez que hayas creado un cliente de IA generativa, podrás usar cualquiera de las siguientes funciones de gestión de peticiones en el SDK de Vertex AI:

Crear una petición local

En esta sección se muestra un ejemplo de cómo definir una variable types.Prompt para usarla en toda la página.

La clase Prompt se usa para definir, ensamblar y usar peticiones. El atributo prompt_data se define para la clase Prompt e incluye lo siguiente:

Atributo

model

Obligatorio: el nombre del modelo.

contents

Obligatorio: el contenido de la conversación con el modelo. Solo se admiten peticiones de una sola interacción.

generation_config

Opcional: configuración de la generación

tool_config

Opcional: esta configuración se comparte con todas las herramientas proporcionadas en la solicitud.

tools

Opcional: una lista de Tools que el modelo puede usar para generar la siguiente respuesta. Una Tool es un fragmento de código que permite al sistema interactuar con sistemas externos para realizar una acción o un conjunto de acciones fuera del conocimiento y del ámbito del modelo.

safety_settings

Opcional: los ajustes de solicitud para bloquear contenido no seguro, que se aplican en GenerateContentResponse.candidates.

system_instruction

Opcional: instrucciones del sistema proporcionadas por el usuario para el modelo.

variables

Opcional: Si tu petición contiene una variable de plantilla, proporciona los valores que se deben usar para esa variable. Por ejemplo, si el contenido del texto de la petición es "Hola, {name}". La lista de variables debe incluir un diccionario con todos los valores posibles de la variable "{name}". Ejemplo:

        "variables": [
            {"name": {"text": "Alice"}},
            {"name": {"text": "Bob"}},
        ],
        

En este ejemplo 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",
      ),
  )

Guardar una petición en un Google Cloud proyecto

En esta sección se muestran los parámetros y un ejemplo de cómo guardar una petició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

Los datos de una petición concreta.

config

Opcional: un objeto types.CreatePromptConfig que representa la configuración para crear una petición.

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

Parámetros

prompt

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

config

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

El método create_version devuelve un objeto Prompt.

Ejemplo

Para guardar una petición en un proyecto de Google Cloud , usa los métodos client.prompts.create y client.prompts.create_version.

El método client.prompts.create crea un recurso de petición en unGoogle Cloud proyecto. El método client.prompts.create_version crea una versión de la petición en ese recurso, al que puedes acceder desde la consolaGoogle Cloud .

El método client.prompts.create toma un objeto Prompt como entrada y crea una petición en el proyecto Google Cloud . El método client.prompts.create_version también requiere que se proporcione prompt_id, que es el ID del recurso de petición que se va a usar para crear la versión. Se devuelve un nuevo objeto Prompt, que está asociado al proyecto Google Cloud . Los cambios que se hagan en un objeto Prompt son locales hasta que se llama a create o create_version.

En el siguiente ejemplo de código se muestra cómo guardar una petición y una versión de una petició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)

Obtener una petición guardada

En esta sección se muestran los parámetros y un ejemplo de cómo obtener una petición y una versión de la petición.

Hay 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 petición que se va a recuperar.

config

Opcional: objeto types.GetPromptConfig que representa la configuración para obtener una petició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 petición que se va a recuperar.

version_id

Obligatorio: el ID de la versión de la petición que quieres obtener.

config

Opcional: objeto types.GetPromptConfig que representa la configuración para obtener una petición.

Los métodos get y get_version devuelven un Prompt.

Ejemplos

Para obtener (cargar) una petición que se haya guardado en el proyecto Google Cloud , usa el método client.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:

  # Get prompt
  retrieved_prompt = client.prompts.get(prompt_id=prompt_resource.prompt_id)

En el siguiente ejemplo de código se muestra cómo obtener una versión de una petició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 petició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(),
  )

Mostrar peticiones y versiones

En esta sección se muestran los parámetros y un ejemplo de cómo enumerar las peticiones y las versiones de las peticiones.

Hay 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 las peticiones.

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

Parámetros

prompt_id

Obligatorio: ID de la petición para la que se van a enumerar las versiones.

config

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

Los métodos list y list_versions devuelven un Iterator de objetos types.PromptRef. El PromptRef contiene una referencia a una petición.

Ejemplo

Para ver el ID y el modelo de todas las peticiones guardadas en tu proyecto de Google Cloud , usa el método list.

En el siguiente ejemplo de código se muestra cómo obtener un PromptRef de todas las peticiones guardadas del 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 ejemplo de código se muestra cómo obtener una lista de los IDs de las peticiones y de las versiones de todas las versiones de una petición guardadas en ella:

  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
  )

Eliminar una petición

En esta sección se muestran los parámetros y un ejemplo de cómo eliminar una petición.

Hay 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 petición que se va a eliminar.

config

Opcional: un objeto types.DeletePromptConfig que representa la configuración para eliminar una petición.

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

Parámetros

prompt_id

ID de la petición de la que se va a eliminar una versión.

version_id

La versión de la petición que se va a eliminar.

config

Opcional: objeto types.DeletePromptConfig que representa la configuración para eliminar una versión de una petición.

Ejemplos

Para eliminar una petición y todas sus versiones, usa el método delete.

  client.prompts.delete(prompt_id=retrieved_prompt.prompt_id)

Para eliminar una versión específica de un recurso de petición, usa el método delete_version.

  client.prompts.delete_version(prompt_id=retrieved_prompt.prompt_id, version_id='your-version-id')

Restaurar una versión de una petición

En esta sección se muestran los parámetros y un ejemplo de cómo restaurar una versión de una petición.

Parámetros

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

Parámetros

prompt_id

El ID de una petición específica.

version_id

La versión de la petición que se va a restaurar.

config

Configuración para restaurar una versión de la petición.

El método restore_version devuelve un objeto Prompt.

Ejemplo

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 un objeto Prompt.

  # Restore to prompt version id 1
  restored_prompt = client.prompts.restore_version(prompt_id=retrieved_prompt.prompt_id, version_id='1')

Siguientes pasos