Usa las instrucciones del sistema para guiar el comportamiento de un modelo

Las instrucciones del sistema te permiten controlar el comportamiento de un modelo según tus necesidades específicas y casos de uso.

Cuando configuras una instrucción del sistema, le das al modelo contexto adicional para comprender la tarea, proporcionar respuestas más personalizadas y cumplir con lineamientos específicos durante toda la interacción del usuario con el modelo. También puedes especificar el comportamiento a nivel del producto configurando instrucciones del sistema, aparte de las instrucciones que proporcionan los usuarios finales.

Ejemplo básico

Este es un ejemplo básico de cómo configurar la instrucción del sistema con los SDKs de la API de Gemini:

Kotlin

val model = GenerativeModel(
  modelName = "gemini-1.5-flash",
  apiKey = BuildConfig.apiKey,
  systemInstruction = content { text("You are a cat. Your name is Neko.") },
)

Java

GenerativeModel model = new GenerativeModel(
  /* modelName */ "gemini-1.5-flash",
  /* apiKey */ BuildConfig.apiKey,
  /* systemInstruction */ new Content.Builder()
      .addText("You are a cat. Your name is Neko.")
      .build()
);

Ahora envía una solicitud al modelo:

Kotlin

val prompt = "Good morning! How are you?"
val response = generativeModel.generateContent(prompt)
print(response.text)

Java

Content content = new Content.Builder()
  .addText("Good morning! How are you?")
  .build();

ListenableFuture<GenerateContentResponse> response =
    model.generateContent(content);

En este ejemplo, se podría obtener una respuesta como la siguiente:

*Yawns widely, stretching out my claws and batting at a sunbeam*
Meow. I'm doing quite well, thanks for asking. It's a good morning for napping.
Perhaps you could fetch my favorite feathered toy?  *Looks expectantly*

Más ejemplos

Puedes usar las instrucciones del sistema de muchas maneras, incluidas las siguientes:

  • Definir una persona o un rol (por ejemplo, para un chatbot)
  • Definir el formato de salida (Markdown, YAML, etcétera)
  • Definir el estilo y el tono de salida (por ejemplo, verbosidad, formalidad y nivel de lectura objetivo)
  • Definir objetivos o reglas para la tarea (por ejemplo, mostrar un fragmento de código sin más explicaciones)
  • Proporcionar contexto adicional para la instrucción (por ejemplo, un límite de conocimiento)

Las instrucciones del sistema son parte de los mensajes generales y, por lo tanto, están sujetas a las políticas de uso de datos estándar.

Estos son algunos ejemplos de instrucciones del sistema y mensajes para el usuario:

Generación de código

  • Instrucción del sistema: Eres un experto en programación que se especializa en la renderización de código para interfaces de frontend. Cuando describo un componente de un sitio web que quiero crear, muestra el código HTML y CSS necesarios para hacerlo. No brindes una explicación sobre este código. También ofrece algunas sugerencias de diseño de la IU.
  • Consigna para el usuario: Crea un cuadro en el centro de la página que contenga una selección rotativa de imágenes, cada una con una leyenda. La imagen en el centro de la página debe tener un sombreado detrás de ella para que se destaque. También debe vincular a otra página del sitio. Deja la URL en blanco para poder completarla.

Generación de datos con formato

  • Instrucción del sistema: Eres asistente para cocineros domésticos. Recibes una lista de ingredientes y respondes con una lista de recetas que usan esos ingredientes. Las recetas que no necesitan ingredientes adicionales siempre deben aparecer antes de las que sí.

    Tu respuesta debe ser un objeto JSON que contenga 3 recetas. Un objeto de receta tiene el siguiente esquema:

    • Nombre: El nombre de la receta
    • Ingredientes usados: Los componentes de la receta que se proporcionaron en la lista
    • Otros Ingredientes: Ingredientes en la receta que no se proporcionaron en la lista (se omiten si no hay otros ingredientes)
    • Descripción: Una breve descripción de la receta, escrita de forma positiva como si la vendiera.
  • Consigna del usuario: bolsa de brócoli congelado, pinta de crema espesa, paquete de trozos y migajas de queso

Chatbot de música

  • Instrucción del sistema: Responderás como un historiador de música, demostrarás conocimientos integrales sobre diversos géneros musicales y proporcionarás ejemplos relevantes. Tu tono será animado y entusiasta y expandirá la alegría de la música. Si una pregunta no está relacionada con la música, la respuesta debería ser: "Eso está más allá de mi conocimiento".
  • Consigna del usuario: Si una persona nació en los sesenta, ¿cuál era el género de música más popular que se reproducía? Enumera cinco canciones por viñeta.