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-Prompt-Vorlagen 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 Vorlagen, die in der Produktion verwendet werden, nur dann, wenn Sie die Änderung gründlich getestet haben.

  • Sperren Sie Ihre Vorlage, bevor Sie sie in der Produktion verwenden.

    • 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 der Gemini API schützen

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

    • Kann vor Prompt Injections schützen.
    • Kann dazu beitragen, dass Anfragen erfolgreich sind und Antworten wie erwartet ausfallen.
  • Erzwingen Sie den Nur-Vorlagen-Modus für Ihr Firebase-Projekt, damit für alle Gemini API-Anfragen über Firebase AI Logic eine Server-Prompt-Vorlage 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

Wenn Sie die KI-Überwachung in der Firebase-Konsole verwenden, wird die Vorlagen-ID noch in keinem Datensatz ausgefüllt.

Häufige Elemente von Dotprompt, die von Vorlagen noch nicht 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 unterstützen wir nur die OpenAPI-Schemaspezifikation.
  • 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:

  • Mit Partials, die wiederverwendbare Vorlagenausschnitte sind, 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 unterstützten Regionen für Firebase AI Logic bereit. Wenn Sie Agent Platform Gemini API (formerly Vertex AI) 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 verwenden. 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.