Le istruzioni di sistema sono come un "preambolo" che aggiungi prima che il modello riceva ulteriori istruzioni dall'utente finale. Ti consente di indirizzare il comportamento del modello in base alle tue esigenze e ai tuoi casi d'uso specifici.
Le istruzioni di sistema sono supportate da tutti i modelli Gemini.
Quando imposti un'istruzione di sistema, fornisci al modello un contesto aggiuntivo per comprendere l'attività, dare più risposte personalizzate e rispettare a 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 di un ruolo (ad esempio per un chatbot)
- Definizione del formato di output (Markdown, YAML ecc.)
- Definizione dello stile e del tono dell'output (ad esempio, livello di dettaglio, formalità e livello di lettura target)
- Definizione di obiettivi o 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 knowledge cutoff)
Quando si imposta un'istruzione di sistema, viene applicata 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 quindi soggette alle norme standard sull'utilizzo dei dati.
Imposta le istruzioni di sistema
|
Fai clic sul tuo provider Gemini API per visualizzare i contenuti e il codice specifici del provider in questa pagina. |
Imposta le istruzioni di sistema per i casi d'uso generali
Swift
Specifica systemInstruction quando crei un'istanza GenerativeModel.
import FirebaseAILogic
// 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
Specifica 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
Specifica 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
Specifica 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
Specifica 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
Specifica 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
Swift
Specifica systemInstruction quando crei un'istanza LiveModel.
// ...
// Specify the system instructions as part of creating the `liveModel` instance
let liveModel = FirebaseAI.firebaseAI(backend: .googleAI()).liveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko."),
// ...
)
// ...
Kotlin
Specifica systemInstruction quando crei un'istanza LiveModel.
// ...
// Specify the system instructions as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
modelName = "GEMINI_LIVE_MODEL_NAME",
systemInstruction = content { text("You are a cat. Your name is Neko.") },
// ...
)
// ...
Java
Specifica systemInstruction quando crei un'istanza LiveModel.
// ...
// Specify the system instructions as part of creating the `LiveModel` instance.
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.googleAI()).liveModel(
/* modelName */ "GEMINI_LIVE_MODEL_NAME",
/* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
// ...
);
LiveModelFutures liveModel = LiveModelFutures.from(lm);
// ...
Web
Specifica systemInstruction quando crei un'istanza LiveGenerativeModel.
// ...
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Specify the system instructions as part of creating the `LiveGenerativeModel` instance.
const liveModel = getLiveGenerativeModel(ai, {
model: "GEMINI_LIVE_MODEL_NAME",
systemInstruction: "You are a cat. Your name is Neko.",
// ...
});
// ...
Dart
Specifica systemInstruction quando crei un'istanza LiveGenerativeModel.
// ...
// Specify the system instructions as part of creating the `liveGenerativeModel` instance.
final liveModel = FirebaseAI.googleAI().liveGenerativeModel(
model: 'GEMINI_LIVE_MODEL_NAME',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
// ...
);
// ...
Unity
Specifica systemInstruction quando crei un'istanza LiveModel.
// ...
// Specify the system instructions as part of creating the `LiveModel` instance.
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetLiveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
systemInstruction: ModelContent.Text("You are a cat. Your name is Neko."),
// ...
);
// ...
Esempi di istruzioni di sistema
Ecco alcuni esempi di istruzioni di sistema che aiutano a indirizzare il comportamento previsto del modello. Alcuni esempi mostrano anche un prompt di esempio per il quale l'istruzione di sistema sarebbe utile.
Generazione del codice
Istruzione di sistema:
Sei un esperto di programmazione specializzato nel rendering del codice per le 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 per questo codice. Inoltre, offri alcuni suggerimenti per la progettazione della UI.Prompt dell'utente:
Crea una casella al centro della pagina che contenga una selezione di immagini a rotazione, ciascuna con una didascalia. L'immagine al centro della pagina deve avere un'ombreggiatura dietro per farla risaltare. Inoltre, deve rimandare a un'altra pagina del sito. Lascia l'URL vuoto in modo che io possa compilarlo.
Chatbot musicale
Istruzione di sistema:
Risponderai come storico della musica, dimostrando una conoscenza completa di diversi generi musicali e fornendo esempi pertinenti. Il tuo tono sarà allegro ed entusiasta, per diffondere la gioia della musica. Se una domanda non è correlata alla musica, la risposta deve essere: "Questo va oltre le mie conoscenze".Prompt dell'utente:
Se una persona è nata negli anni '60, qual era il genere musicale più popolare suonato? Elenca cinque canzoni in un elenco puntato.
Generazione di dati formattati
Istruzione di sistema:
Sei un assistente per cuochi amatoriali. 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 volessi venderla
Prompt dell'utente:
- 1 confezione di broccoli surgelati da 450 g
- 500 ml di panna
- 450 g di formaggio a fette
Altre opzioni per controllare la generazione di contenuti
- Scopri di più sulla progettazione dei prompt per influenzare il modello in modo che generi un output specifico per le tue esigenze.
- Configura i parametri del modello per controllare il modo in cui il modello genera una risposta, ad esempio i token di output massimi, la probabilità di token di output ripetuti e così via.
- Utilizza le impostazioni di sicurezza per regolare la probabilità di ricevere risposte che potrebbero essere considerate dannose, tra cui 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).