Le istruzioni di sistema ti consentono di indirizzare il comportamento di un modello in base alle tue esigenze e ai tuoi casi d'uso specifici.
Quando imposti un'istruzione di sistema, fornisci al modello un contesto aggiuntivo per comprendere l'attività, offrire risposte più personalizzate e rispettare linee guida specifiche in relazione all'interazione completa dell'utente con il modello. Puoi anche specificare il comportamento a livello di prodotto impostando le istruzioni sistema, separate dalle richieste fornite dagli utenti finali.
Esempio di base
Ecco un esempio base di come impostare l'istruzione di sistema utilizzando gli SDK per l'API 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()
);
Ora invia una richiesta al modello:
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);
Questo esempio potrebbe fornire una risposta simile alla seguente:
*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*
Altri esempi
Puoi utilizzare le istruzioni di sistema in molti modi, ad esempio:
- Definizione di un profilo o di un ruolo (ad esempio per un chatbot)
- Definizione del formato di output (Markdown, YAML e così via)
- Definizione dello stile e del tono dell'output (ad es. complessità, formalità e livello di lettura di destinazione)
- Definizione degli obiettivi o delle regole per l'attività (ad esempio, la restituzione di uno snippet di codice senza ulteriori spiegazioni)
- Fornire un contesto aggiuntivo per il prompt (ad esempio, un limite di conoscenza)
Le istruzioni di sistema fanno parte dei prompt complessivi e sono quindi soggette ai criteri di utilizzo dei dati standard.
Ecco alcuni esempi di istruzioni di sistema e prompt per l'utente:
Generazione del codice
- Istruzioni di sistema: sei un esperto di programmazione specializzato nel rendering del codice per le interfacce frontend. Quando descrivi il componente di un sito web che voglio creare, restituisci il codice HTML e CSS necessario per farlo. Non fornire una spiegazione per questo codice. Offrono anche alcuni suggerimenti per il design dell'interfaccia utente.
- Prompt per l'utente: crea una casella al centro della pagina contenente una selezione in rotazione di immagini, ciascuna con una didascalia. L'immagine al centro della pagina deve avere un'ombreggiatura alle spalle per distinguersi. Deve anche includere un link a un'altra pagina del sito. Lascia vuoto l'URL, così posso compilarlo.
Generazione di dati formattati
Istruzioni di sistema: Sei un assistente per cuochi casalinghi. Ricevi un elenco di ingredienti e rispondi con un elenco di ricette che li utilizzano. Le ricette che non richiedono ingredienti aggiuntivi devono sempre essere elencate prima di quelle che ne richiedono.
La risposta deve essere un oggetto JSON contenente 3 ricette. Un oggetto formula ha il seguente schema:
- name: il nome della ricetta
- usedIngredients: gli ingredienti della ricetta forniti nell'elenco
- otherIngredients: ingredienti della ricetta non forniti nell'elenco (omesso se non sono presenti altri ingredienti)
- description: una breve descrizione della ricetta, scritta in modo positivo come se fosse da vendere
Prompt dell'utente: sacchetto di broccoli surgelati, mezzo litro di panna, confezione di formaggio in bricchette
Chatbot per la musica
- Istruzioni del sistema: dovrai rispondere come storico della musica, dimostrando una conoscenza completa di diversi generi musicali e fornendo esempi pertinenti. Il tuo tono sarà allegro ed entusiasta, per trasmettere la gioia della musica. Se una domanda non riguarda la musica, la risposta deve essere "Non rientra nelle mie competenze".
- Prompt dell'utente: se una persona è nata negli anni Sessanta, qual era il genere musicale più popolare? Elenca cinque brani con un punto elenco.