Utilizza le istruzioni di sistema per orientare il comportamento di un modello

Le istruzioni di sistema sono come un "preambolo" che aggiungi prima che il modello venga esposto a ulteriori istruzioni dell'utente finale. Consente di controllare il comportamento del modello in base alle tue esigenze e ai tuoi casi d'uso specifici.

Vai agli esempi di codice


Quando imposti un'istruzione di sistema, fornisci al modello un contesto aggiuntivo per comprendere l'attività, dare più risposte personalizzate e rispettare linee guida specifiche sull'intera interazione dell'utente con il modello. Puoi specificare il comportamento a livello di prodotto nelle istruzioni di sistema, separatamente dai prompt forniti dagli utenti finali. Ad esempio, puoi includere elementi come il ruolo o la persona, informazioni contestuali e istruzioni di formattazione.

Puoi utilizzare le istruzioni di sistema in molti modi, tra cui:

  • Definizione di un profilo o 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 esempio, livello di dettaglio, formalità e livello di lettura di destinazione)
  • Definizione di obiettivi o regole per l'attività (ad esempio, restituire un frammento di codice senza ulteriori spiegazioni)
  • Fornire ulteriore contesto per il prompt (ad esempio, una data limite per le conoscenze)

Quando si imposta un'istruzione di sistema, viene applicate all'intera richiesta. Funziona con più turni utente e modello quando è inclusa nel prompt. Sebbene le istruzioni di sistema siano separate dai contenuti del prompt, fanno comunque parte dei prompt complessivi e sono pertanto soggette alle norme standard sull'utilizzo dei dati.

Le istruzioni di sistema sono supportate da tutti i modelli Gemini. Non sono supportati dai modelli Imagen 3.

Impostare le istruzioni di sistema

Fai clic sul tuo fornitore Gemini API per visualizzare i contenuti e il codice specifici del fornitore in questa pagina.

Impostare istruzioni di sistema per i casi d'uso generali

Swift

Specifichi systemInstruction quando crei un'istanza GenerativeModel.


import FirebaseAI

// Specify the system instructions as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko.")
)

Kotlin

Specifichi systemInstruction quando crei un'istanza GenerativeModel.


// Specify the system instructions as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
  modelName = "GEMINI_MODEL_NAME",
  systemInstruction = content { text("You are a cat. Your name is Neko.") }
)

Java

Specifichi systemInstruction quando crei un'istanza GenerativeModel.


// Specify the system instructions as part of creating the `GenerativeModel` instance
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .generativeModel(
      /* modelName */ "GEMINI_MODEL_NAME",
      /* generationConfig (optional) */ null,
      /* safetySettings (optional) */ null,
      /* requestOptions (optional) */ new RequestOptions(),
      /* tools (optional) */ null,
      /* toolsConfig (optional) */ null,
      /* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
    );

GenerativeModelFutures model = GenerativeModelFutures.from(ai);

Web

Specifichi systemInstruction quando crei un'istanza GenerativeModel.


// ...

const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Specify the system instructions as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, {
  model: "GEMINI_MODEL_NAME",
  systemInstruction: "You are a cat. Your name is Neko."
});

Dart

Specifichi systemInstruction quando crei un'istanza GenerativeModel.


// ...

// Specify the system instructions as part of creating the `GenerativeModel` instance
final model = FirebaseAI.googleAI().generativeModel(
  model: 'GEMINI_MODEL_NAME',
  systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);

// ...

Unity

Specifichi systemInstruction quando crei un'istanza GenerativeModel.


// ...

var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Specify the system instructions as part of creating the `GenerativeModel` instance
var model = ai.GetGenerativeModel(
  modelName: "GEMINI_MODEL_NAME",
  systemInstruction: ModelContent.Text("You are a cat. Your name is Neko.")
);

Imposta le istruzioni di sistema per Gemini Live API

Esempi di prompt

Ecco alcuni esempi di prompt di sistema che definiscono il comportamento previsto del modello.

Generazione del codice

  • Sistema: sei un esperto di programmazione specializzato nel rendering del codice per interfacce frontend. Quando descrivo un componente di un sito web che voglio creare, restituisci il codice HTML e CSS necessario per farlo. Non fornire una spiegazione di questo codice. Offri anche alcuni suggerimenti per la progettazione dell'interfaccia utente.
  • Utente:crea una casella al centro della pagina che contiene una selezione a rotazione di immagini, ognuna con una didascalia. L'immagine al centro della pagina deve avere un'ombreggiatura dietro per farla risaltare. Deve anche rimandare a un'altra pagina del sito. Lascia l'URL vuoto, così posso compilarlo.

Generazione di dati formattati

  • Sistema: sei un assistente per chi cucina in casa. Ricevi un elenco di ingredienti e rispondi con un elenco di ricette che li utilizzano. Le ricette che non richiedono ingredienti aggiuntivi devono essere sempre elencate prima di quelle che li richiedono.

    La risposta deve essere un oggetto JSON contenente 3 ricette. Un oggetto ricetta ha il seguente schema:

    • name: Il nome della ricetta
    • usedIngredients: Ingredienti della ricetta forniti nell'elenco
    • otherIngredients: Ingredienti della ricetta non forniti nell'elenco (omessi se non sono presenti altri ingredienti)
    • description: Una breve descrizione della ricetta, scritta in modo positivo come se dovesse essere venduta
  • Utente:

    • 1 confezione da 450 g di broccoli surgelati
    • 500 ml di panna
    • 450 g di formaggio a fette

Chatbot musicale

  • Sistema:risponderai come uno 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 ho le competenze per rispondere a questa domanda".
  • Utente: Se una persona è nata negli anni '60, qual era il genere musicale più popolare all'epoca? Elenca cinque brani in formato elenco puntato.

Altre opzioni per controllare la generazione di contenuti

  • Scopri di più sulla progettazione dei prompt per influenzare il modello e generare output specifici per le tue esigenze.
  • Configura i parametri del modello per controllare il modo in cui il modello genera una risposta. Per i modelli Gemini, questi parametri includono il numero massimo di token di output, la temperatura, Top-K e Top-P. Per i modelli Imagen, sono inclusi proporzioni, generazione di persone, filigrana e così via.
  • Utilizza le impostazioni di sicurezza per regolare la probabilità di ricevere risposte che potrebbero essere considerate dannose, inclusi incitamento all'odio e contenuti sessualmente espliciti.
  • Passa uno schema di risposta insieme al prompt per specificare uno schema di output specifico. Questa funzionalità viene utilizzata più comunemente quando si genera un output JSON, ma può essere utilizzata anche per attività di classificazione (ad esempio quando vuoi che il modello utilizzi etichette o tag specifici).