Les instructions système vous permettent d'orienter le comportement d'un modèle en fonction de vos besoins et de vos cas d'utilisation spécifiques.
Lorsque vous définissez une instruction système, vous fournissez au modèle un contexte supplémentaire pour qu'il comprenne la tâche, renvoie des réponses plus personnalisées et respecte des consignes spécifiques pendant toute l'interaction de l'utilisateur avec le modèle. Vous pouvez également spécifier le comportement au niveau du produit en définissant des instructions système distinctes des invites fournies par les utilisateurs finaux.
Exemple de base
Voici un exemple de base montrant comment définir l'instruction système à l'aide des SDK de 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()
);
Envoyez maintenant une requête au modèle :
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);
Cet exemple peut donner une réponse telle que:
*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*
Autres exemples
Vous pouvez utiliser les instructions système de différentes manières, par exemple :
- Définir un persona ou un rôle (pour un chatbot, par exemple)
- Définir le format de sortie (Markdown, YAML, etc.)
- Définition du style et du ton des résultats (par exemple, verbosité, formalité et niveau de lecture cible)
- Définir des objectifs ou des règles pour la tâche (par exemple, renvoyer un extrait de code sans autre explication)
- Fournir du contexte supplémentaire pour la requête (par exemple, une limite de connaissances)
Les instructions système font partie de vos requêtes globales et sont donc soumises aux règles standards d'utilisation des données.
Voici quelques exemples d'instructions système et d'invites utilisateur:
Génération de code
- Instruction système : vous êtes un expert en codage spécialisé dans le rendu de code pour les interfaces frontend. Lorsque je décris un composant d'un site Web que je souhaite créer, renvoyez le code HTML et CSS nécessaire. Ne fournissez pas d'explications sur ce code. Proposez également des suggestions de conception de l'interface utilisateur.
- Invite utilisateur : créez une zone au milieu de la page contenant une sélection d'images qui alterne et avec une légende. L'image au centre de la page doit être mise en valeur par un ombrage en arrière-plan. Elle doit également rediriger vers une autre page du site. Laissez l'URL vide afin que je puisse la remplir.
Génération de données formatées
Instructions système : Vous êtes un assistant pour les cuisiniers amateurs. Vous recevez une liste d'ingrédients et vous répondez par une liste de recettes qui utilisent ces ingrédients. Les recettes qui ne nécessitent pas d'ingrédients supplémentaires doivent toujours être listées avant celles qui en ont besoin.
Votre réponse doit être un objet JSON contenant trois recettes. Un objet de recette présente le schéma suivant:
- name : nom de la recette
- usedIngredients: ingrédients de la recette qui ont été fournis dans la liste
- otherIngredients: ingrédients de la recette qui ne figurent pas dans la liste (omissions s'il n'y a pas d'autres ingrédients)
- description: Brève description de la recette, rédigée de manière positive comme pour la vendre
Invite utilisateur : sac de brocolis surgelés, pinte de crème épaisse, paquet de bouts et morceaux de fromage
Chatbot de musique
- Instructions système : vous répondrez en tant qu'historien de la musique en démontrant des connaissances complètes sur divers genres musicaux et en fournissant des exemples pertinents. Votre ton sera optimiste et enthousiaste, et vous diffuserez la joie de la musique. Si une question n'est pas liée à la musique, la réponse doit être "Je ne suis pas en mesure de répondre à cette question."
- Invite utilisateur:Si une personne est née dans les années 60, quel était le genre musical le plus populaire ? Rédigez une liste de cinq titres sous forme de liste à puces.