Best Practices und Überlegungen für Vorlagen


Auf dieser Seite werden einige Best Practices und Überlegungen für Server-Promptvorlagen beschrieben, einschließlich noch nicht unterstützter Funktionen. Viele dieser Funktionen werden erst mit der Weiterentwicklung von Server-Promptvorlagen verfügbar. Versionshinweise enthalten aktuelle Informationen.

Best Practices

Viele dieser Best Practices werden auch im Hilfeartikel Vorlagen verwalten beschrieben.

Vorlagen versionieren

Vorlage schützen

  • Bearbeiten Sie keine Vorlagen, die in der Produktion verwendet werden, es sei denn, Sie haben die Änderung gründlich getestet.

  • Sperren Sie Ihre Vorlage, bevor Sie mit der Produktion beginnen.

    • Das Sperren einer Vorlage dient als Schutz vor unbeabsichtigten Änderungen, blockiert die Bearbeitung aber nicht vollständig. Ein Projektmitglied mit den entsprechenden Berechtigungen kann eine Vorlage jederzeit entsperren, um sie zu bearbeiten.

    • Wir empfehlen, Vorlagen zu sperren, die aktiv von Code verwendet werden, insbesondere von Produktionscode.

Nutzung von Gemini API schützen

  • Schreiben Sie eine starke Eingabevalidierung für Ihre Eingabevariablen. Das kann Ihnen bei Folgendem helfen:

    • Kann vor Prompt-Injection-Angriffen schützen.
    • Kann dazu beitragen, dass Anfragen erfolgreich sind und Antworten wie erwartet ausfallen.
  • Nur-Vorlagen-Modus für Ihr Firebase-Projekt erzwingen, damit für alle Gemini API-Anfragen über Firebase AI Logic eine Server-Promptvorlage verwendet werden muss.

Von Server-Promptvorlagen noch nicht unterstützte Funktionen

Viele dieser Funktionen werden verfügbar sein, sobald sich Server-Promptvorlagen weiterentwickeln. Aktuelle Informationen finden Sie in den Versionshinweisen.

Funktionen von Firebase AI Logic, die noch nicht von Vorlagen unterstützt werden

Die folgenden Standardfunktionen von Firebase AI Logic werden noch nicht über Server-Prompt-Vorlagen unterstützt:

  • Bidirektionales Streaming (Gemini Live API)
  • Hybrid- oder On-Device-Inferenz
  • Ausgabe auf eine Liste von Enums beschränken

Beachten Sie auch, dass die Vorlagen-ID in keinem Datensatz ausgefüllt wird, wenn Sie die KI-Überwachung in der Firebase-Konsole verwenden.

Häufige Elemente von Dotprompt, die noch nicht von Vorlagen unterstützt werden

Server-Prompt-Vorlagen werden demnächst die folgenden gängigen Elemente von Dotprompt unterstützen:

  • Verwenden Sie die JSON-Schemaspezifikation für Ein- und Ausgabeschemas in Ihrem Frontmatter.

    • Diese Spezifikation wird auch in Anfragen für Vorlagen ohne Server nicht unterstützt. Derzeit wird nur die OpenAPI-Schemaspezifikation unterstützt.
  • Deklarieren einer Platzhalterfelddefinition mit *.

  • @key verwenden oder allgemein die Felder einer Objekteingabe durchlaufen (was der Fall ist, in dem @key relevant ist).

  • Mit @root können Sie unabhängig vom aktuellen this auf den Kontext der Stammvariablen verweisen.

Server-Prompt-Vorlagen unterstützen wahrscheinlich nicht die folgenden gängigen Elemente von Dotprompt:

  • Partials verwenden. Das sind wiederverwendbare Vorlagen-Snippets, die in andere Vorlagen eingefügt werden können.

Weitere Hinweise

  • Wenn Sie die geführte Benutzeroberfläche in der Firebase-Konsole verwenden, stellen wir die Vorlage standardmäßig in allen verfügbaren Regionen für Firebase AI Logic bereit. Wenn Sie Vertex AI Gemini API verwenden und für Ihren Anwendungsfall standortbasierte Einschränkungen erforderlich sind, können Sie den Standort für Ihre Vorlage über die REST API angeben.

  • Wenn Sie eine Server-Promptvorlage als Datei bereitstellen möchten (anstatt die geführte Benutzeroberfläche der Firebase-Konsole zu verwenden), können Sie die REST API nutzen. Beachten Sie, dass Server-Prompt-Vorlagen kein Schema unterstützen, das im App-Code definiert und an die Vorlage übergeben wird.

  • Obwohl sich die Vorlage auf dem Server befindet, kann sie nicht direkt mit anderen serverseitigen Ressourcen Ihres Firebase-Projekts (z. B. einer Datenbank) interagieren, mit Ausnahme von Cloud Storage for Firebase-URLs, die als Eingabevariablen angegeben werden können.