Auf dieser Seite werden einige Best Practices und Überlegungen für Server-Prompt-Vorlagen beschrieben, einschließlich noch nicht unterstützter Funktionen. Viele dieser Funktionen werden im Zuge der Weiterentwicklung von Server-Prompt-Vorlagen verfügbar. Sehen Sie sich daher die Versionshinweise an, um über Updates auf dem Laufenden zu bleiben.
Best Practices
Viele dieser Best Practices werden auch unter Vorlagen verwalten beschrieben.
Vorlagen versionieren
Erstellen Sie Vorlagen-IDs, die mit einer Version mit semantischer Versionsverwaltung (semver) versehen sind.
Verwenden Sie Firebase Remote Config, damit Sie die Vorlage und andere Werte in Ihrer Anfrage einfach ändern können.
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 sie in der Produktion verwenden.
Das Sperren einer Vorlage dient als Schutz vor unbeabsichtigter Bearbeitung. Das Sperren verhindert die Bearbeitung jedoch 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, die Folgendes ermöglicht:
- Kann zum Schutz vor Prompt Injections beitragen.
- Kann dazu beitragen, dass Anfragen erfolgreich sind und Antworten wie erwartet ausfallen.
Erzwingen Sie den Modus „Nur Vorlagen“ für Ihr Firebase-Projekt, damit alle Gemini API-Anfragen über Firebase AI Logic eine Server-Prompt-Vorlage verwenden müssen.
Funktionen, die von Server-Prompt-Vorlagen noch nicht unterstützt werden
Viele dieser Funktionen werden im Zuge der Weiterentwicklung von Server-Prompt-Vorlagen verfügbar. In den Versionshinweisen finden Sie entsprechende Informationen.
Funktionen von Firebase AI Logic werden von Vorlagen noch nicht unterstützt
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 KI-Monitoring in der Firebase-Konsole verwenden, wird die Vorlagen-ID noch nicht in Datensätzen eingetragen.
Allgemeine Elemente von Dotprompt, die noch nicht von Vorlagen unterstützt werden
Server-Prompt-Vorlagen werden wahrscheinlich bald die folgenden gängigen Elemente von Dotprompt unterstützen:
Verwenden Sie die JSON-Schemaspezifikation für Eingabe- und Ausgabeschemas in Ihrem Frontmatter.
- Diese Spezifikation wird auch in Anfragen für nicht serverbasierte Vorlagen nicht unterstützt. Derzeit wird nur die OpenAPI-Schemaspezifikation unterstützt.
Deklarieren einer Platzhalterfelddefinition mit
*.Verwendung von
@keyoder allgemeine Iteration über die Felder einer Objekteingabe (was der Fall ist, wenn@keyrelevant ist).Mit
@root, mit dem Sie unabhängig vom aktuellenthisauf den Stammvariablenkontext verweisen können.
Server-Prompt-Vorlagen werden die folgenden gängigen Elemente von Dotprompt wahrscheinlich nicht unterstützen:
- Verwendung von Partials, d. h. wiederverwendbaren 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, wird die Vorlage standardmäßig in allen unterstützten Regionen für Firebase AI Logic bereitgestellt. Wenn Sie Agent Platform Gemini API (formerly Vertex AI) verwenden und Ihr Anwendungsfall standortbasierte Einschränkungen erfordert, können Sie den Standort für Ihre Vorlage mithilfe der REST API angeben.
Wenn Sie eine Server-Prompt-Vorlage 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 keine Schemas unterstützen, die im App-Code definiert und an die Vorlage übergeben werden.
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 bereitgestellt werden können).