As instruções do sistema permitem que você dê ao modelo uma persona, defina o tom das respostas ou forneça regras específicas que ele precisa seguir. Essas instruções são separadas do comando do usuário e são tratadas com maior prioridade pelo modelo para garantir que ele se comporte conforme o esperado.
Os casos de uso comuns incluem:
- Definir uma persona:por exemplo, "Você é um orientador de matemática prestativo".
- Impor o formato de saída:por exemplo, "Sempre responda em tópicos".
- Definir restrições:por exemplo, "Não responda a perguntas sobre política".
Pré-requisitos
As instruções do sistema funcionam em dispositivos com o Gemini Nano V3 e versões mais recentes. Para uma lista de dispositivos com suporte, consulte Suporte a dispositivos da API Prompt.
Limitações
Não recomendamos o uso de instruções do sistema com o armazenamento em cache de prefixo. Em geral, use instruções do sistema para instruções curtas que definem como o modelo deve se comportar. Use o armazenamento em cache de prefixo se precisar repetir uma grande parte do comando em consultas e otimizar a performance.
Como usar instruções do sistema
Para fornecer instruções do sistema, crie um objeto SystemInstruction e transmita-o ao builder 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
}
Você pode simplificar ainda mais o código transmitindo as instruções do sistema diretamente para o builder de solicitações 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áticas recomendadas
Confira algumas práticas recomendadas ao usar instruções do sistema:
- Seja claro e direto:o modelo segue instruções claras e diretas melhor do que as ambíguas. Confira alguns exemplos:
- Vago (evite): "Não escreva muito. Tente ser prestativo e amigável e formate a saída de maneira agradável".
- Claro (preferido): "Você é um assistente de suporte ao cliente amigável. Limite suas respostas a um máximo de três frases. Formate todas as listas usando tópicos".
- Seja conciso:embora as instruções do sistema sejam eficientes, instruções muito longas podem consumir a janela de contexto limitada do modelo.
- Considere as contagens de tokens:verifique se a lógica de contagem de tokens inclui as instruções do sistema para evitar subestimar o tamanho da solicitação. Recomendamos manter as instruções do sistema com menos de 150 palavras (100 a 200 tokens).
- Teste e faça iterações:o comportamento do modelo pode variar com base na fraseologia. Teste com várias entradas do usuário para garantir que o modelo mantenha a persona de maneira consistente.