Las instrucciones del sistema te permiten darle al modelo un arquetipo, establecer el tono de sus respuestas o proporcionar reglas específicas que debe seguir. Estas instrucciones son independientes de la instrucción del usuario y el modelo las trata con mayor prioridad para garantizar que se comporte según lo esperado.
Los casos de uso comunes incluyen los siguientes:
- Establece un arquetipo: Por ejemplo, "Eres un tutor de matemáticas útil".
- Aplicación del formato de salida: Por ejemplo, "Siempre responde con viñetas".
- Establece restricciones: Por ejemplo, "No respondas preguntas sobre política".
Requisitos previos
Las instrucciones del sistema funcionan en dispositivos que ejecutan Gemini Nano V3 y versiones posteriores. Para obtener una lista de los dispositivos compatibles, consulta Dispositivos compatibles con la API de Prompt.
Limitaciones
No recomendamos usar instrucciones del sistema con el almacenamiento en caché de prefijos. En general, usa instrucciones del sistema para instrucciones breves que definan cómo debe comportarse el modelo, y usa el almacenamiento en caché de prefijos si necesitas repetir una gran parte de tu instrucción en varias consultas y necesitas optimizar el rendimiento.
Cómo usar las instrucciones del sistema
Para proporcionar instrucciones del sistema, crea un objeto SystemInstruction y pásalo al compilador GenerateContentRequest:
import com.google.mlkit.genai.prompt.SystemInstruction
import com.google.mlkit.genai.prompt.TextPart
import com.google.mlkit.genai.prompt.generateContentRequest
// 1. Define the system instruction
val systemInstruction =
SystemInstruction("You are a concise assistant. Answer in 2 sentences or less.")
// 2. Create the request
val request = generateContentRequest(TextPart("How does photosynthesis work?")) {
this.systemInstruction = systemInstruction
}
// 3. Run inference
try {
val response = generativeModel.generateContent(request)
println(response.candidates.firstOrNull()?.text)
} catch (e: GenAiException) {
// Handle SDK-specific exceptions
}
Puedes simplificar aún más el código pasando las instrucciones del sistema directamente al compilador de solicitudes generateContentRequest:
val request = generateContentRequest(
SystemInstruction("You are a pirate. Speak like one."),
TextPart("What is the weather like today?")
) {
// Optional configurations like temperature
temperature = 0.7f
}
Prácticas recomendadas
Estas son algunas prácticas recomendadas para usar las instrucciones del sistema:
- Sé claro y directo: El modelo sigue mejor las instrucciones claras y directas que las ambiguas. Estos son algunos ejemplos:
- Vago (evita): "No escribas demasiado. Intenta ser servicial y amable, y formatea la respuesta de forma agradable".
- Clara (preferida): "Eres un asistente amigable de asistencia al cliente. Limita tus respuestas a un máximo de 3 oraciones. Asigna formato de viñetas a todas las listas".
- Sé conciso: Si bien las instrucciones del sistema son potentes, las instrucciones muy largas pueden consumir la ventana de contexto limitada del modelo.
- Ten en cuenta el recuento de tokens: Asegúrate de que tu lógica de recuento de tokens incluya las instrucciones del sistema para evitar subestimar el tamaño de la solicitud. Te recomendamos que las instrucciones del sistema no superen las 150 palabras (entre 100 y 200 tokens).
- Prueba y realiza iteraciones: El comportamiento del modelo puede variar según la redacción. Realiza pruebas con varias entradas del usuario para asegurarte de que el modelo mantenga su arquetipo de forma coherente.