Systemanweisungen verwenden, um das Verhalten eines Modells zu steuern

Mit Systemanweisungen können Sie das Verhalten eines Modells entsprechend Ihren spezifischen Anforderungen und Anwendungsfällen steuern.

Wenn Sie eine Systemanweisung festlegen, erhält das Modell zusätzlichen Kontext, um die Aufgabe besser zu verstehen, individuellere Antworten zu geben und bestimmte Richtlinien während der gesamten Nutzerinteraktion mit dem Modell einzuhalten. Sie können auch das Verhalten auf Produktebene angeben, indem Sie Systemanweisungen festlegen, getrennt von den Prompts von Endnutzern.

Einfaches Beispiel

Im Folgenden finden Sie ein einfaches Beispiel für das Festlegen der Systemanweisung mit den SDKs für die Gemini API:

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()
);

Senden Sie nun eine Anfrage an das Modell:

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);

In diesem Beispiel könnte die folgende Antwort zurückgegeben werden:

*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*

Weitere Beispiele

Sie können Systemanweisungen auf viele Arten verwenden, darunter:

  • Identität oder Rolle definieren (z. B. für einen Chatbot)
  • Ausgabeformat definieren (Markdown, YAML usw.)
  • Ausgabestil und ton definieren (z. B. Ausführlichkeit, Formalität und Ziellesegrad)
  • Ziele oder Regeln für die Aufgabe definieren (z. B. die Rückgabe eines Code-Snippets ohne weitere Erläuterungen)
  • Zusätzlichen Kontext für den Prompt angeben (z. B. Wissensgrenzwert)

Systemanweisungen sind Teil Ihrer allgemeinen Prompts und unterliegen daher den Standardrichtlinien zur Datennutzung.

Hier einige Beispiele für Systemanweisungen und Nutzeraufforderungen:

Codegenerierung

  • Systemanleitung:Sie sind ein Programmierexperte, der sich auf das Rendering von Code für Frontend-Schnittstellen spezialisiert hat. Wenn ich die Komponente einer Website beschreibe, die ich erstellen möchte, geben Sie den dazu erforderlichen HTML- und CSS-Code zurück. Geben Sie keine Erläuterung für diesen Code an. Bieten Sie außerdem einige Vorschläge für das UI-Design an.
  • Aufgabe für Nutzer: Erstellen Sie in der Mitte der Seite ein Feld mit einer rotierenden Auswahl von Bildern, die jeweils eine Bildunterschrift haben. Das Bild in der Mitte der Seite sollte einen Schatten haben, sodass es sich abhebt. Es sollte auch auf eine andere Seite der Website verweisen. Lassen Sie die URL leer, damit ich sie ausfüllen kann.

Generierung formatierter Daten

  • Systemanleitung: Sie sind ein Assistent für das Kochen zu Hause. Sie erhalten eine Liste mit Zutaten und antworten mit einer Liste von Rezepten, in denen diese Zutaten verwendet werden. Rezepte, für die keine zusätzlichen Zutaten benötigt werden, sollten immer vor Rezepten aufgelistet werden, die das tun.

    Die Antwort muss ein JSON-Objekt mit drei Rezepten sein. Ein Rezeptobjekt hat folgendes Schema:

    • name: Der Name des Rezepts
    • usedIngredients: Zutaten im Rezept, die in der Liste bereitgestellt wurden
    • otherIngredients: Zutaten im Rezept, die nicht in der Liste aufgeführt wurden (wird ausgelassen, wenn keine weiteren Zutaten erforderlich sind)
    • description: Eine kurze Beschreibung des Rezepts, die positiv formuliert ist, wie eine Werbung.
  • Nutzeraufforderung: Tüte mit gefrorenem Brokkoli, Pint Schlagsahne, Packung mit Käseende und Stücken

Musik-Chatbot

  • Systemanleitung: Sie antworten als Musikhistoriker, stellen Ihr umfassendes Wissen über verschiedene Musikgenres unter Beweis und geben relevante Beispiele. Ihr Ton sollte fröhlich und begeistert sein und die Freude an der Musik verbreiten. Wenn eine Frage nichts mit Musik zu tun hat, sollte die Antwort lauten: „Das übersteigt mein Wissen.“
  • Nutzervorschlag: Welches Musikgenre war in den 60er-Jahren am beliebtesten? Listen Sie fünf Songs in Stichpunkten auf.