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 werden entsprechend aktualisiert.
Best Practices
Viele dieser Best Practices werden auch im Hilfeartikel Vorlagen verwalten beschrieben.
Vorlagen versionieren
Erstellen Sie Vorlagen-IDs, an die eine Version angehängt wird, die semantische Versionierung (semver) verwendet.
Verwenden Sie Firebase Remote Config, damit Sie die Vorlage und andere Werte in Ihrer Anfrage ganz 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 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 Injections schützen.
- So können Sie dafür sorgen, 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-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
Wenn Sie die KI-Überwachung in der Firebase-Konsole verwenden, wird die Vorlagen-ID noch nicht in Datensätzen eingetragen.
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, die nicht auf dem Server ausgeführt werden, nicht unterstützt. Derzeit wird nur die OpenAPI-Schemaspezifikation unterstützt.
Deklarieren einer Platzhalterfelddefinition mit
*.@keyverwenden oder allgemein die Felder einer Objekteingabe durchlaufen (was der Fall ist, in dem@keyrelevant ist).Mit
@rootkönnen Sie unabhängig vom aktuellenthisauf 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. Server-Promptvorlagen unterstützen kein Schema, 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 interagieren, z. B. mit einer Datenbank, mit Ausnahme von Cloud Storage for Firebase-URLs, die als Eingabevariablen bereitgestellt werden können.