Questa pagina descrive alcune best practice e considerazioni per i template di prompt del server, incluse funzionalità non ancora supportate. Tieni presente che molte di queste funzionalità diventeranno disponibili man mano che i template di prompt del server si evolveranno, quindi consulta le note di rilascio per gli aggiornamenti.
Best practice
Molte di queste best practice sono descritte anche in Gestire i template.
Versionare i template
Crea ID template a cui è aggiunta una versione che utilizza il controllo delle versioni semantico (semver).
Utilizza Firebase Remote Config per poter modificare facilmente il template e altri valori nella richiesta.
Proteggere il template
Evita di modificare i template utilizzati in produzione, a meno che tu non abbia testato attentamente la modifica.
Blocca il template prima di metterlo in produzione.
Il blocco di un template funge da protezione contro le modifiche involontarie, ma il blocco non impedisce completamente la modifica. Un membro del progetto con le autorizzazioni appropriate può sempre sbloccare un template per modificarlo.
Ti consigliamo di bloccare i template utilizzati attivamente dal codice, in particolare dal codice di produzione.
Proteggere l'utilizzo del Gemini API
Scrivi una convalida dell'input efficace per le variabili di input, che può aiutarti a:
- Proteggerti dall'iniezione di prompt.
- Assicurarti che le richieste vadano a buon fine e che le risposte siano quelle previste.
Applica la modalità solo template per il tuo progetto Firebase in modo che tutte le richieste Gemini API tramite Firebase AI Logic debbano utilizzare un template di prompt del server.
Funzionalità non ancora supportate dai template di prompt del server
Molte di queste funzionalità diventeranno disponibili man mano che i template di prompt del server si evolveranno, quindi consulta le note di rilascio per gli aggiornamenti.
Funzionalità di Firebase AI Logic non ancora supportate dai template
Le seguenti funzionalità standard di Firebase AI Logic non sono ancora supportate tramite i template di prompt del server:
- Streaming bidirezionale (Gemini Live API)
- Inferenza ibrida o sul dispositivo
- Limitazione dell'output a un elenco di enum
Tieni inoltre presente che, se utilizzi il monitoraggio dell'AI nella console Firebase, l' ID template non viene ancora inserito in alcun record.
Elementi comuni di Dotprompt non ancora supportati dai template
I template di prompt del server probabilmente supporteranno a breve i seguenti elementi comuni di Dotprompt:
Utilizzo della specifica dello schema JSON per gli schemi di input e output nel frontmatter.
- Tieni presente che questa specifica non è supportata nemmeno nelle richieste di template non server. Al momento supportiamo solo la specifica dello schema OpenAPI.
Dichiarazione di una definizione di campo con carattere jolly utilizzando
*.Utilizzo di
@keyo, in generale, iterazione sui campi di un input oggetto (nel caso in cui@keysia pertinente).Utilizzo di
@root, che consente di fare riferimento al contesto della variabile radice indipendentemente dalthiscorrente.
I template di prompt del server probabilmente non supporteranno i seguenti elementi comuni di Dotprompt:
- Utilizzo di parziali, ovvero snippet di template riutilizzabili che possono essere inclusi in altri template.
Altre considerazioni
Per impostazione predefinita, quando utilizzi la UI guidata nella console Firebase, il template viene fornito in tutte le regioni disponibili per Firebase AI Logic. Se utilizzi Agent Platform Gemini API (formerly Vertex AI) e il tuo caso d'uso richiede limitazioni basate sulla località, puoi specificare la località per il template utilizzando l'API REST.
Se vuoi fornire un template di prompt del server come file (anziché utilizzare la UI guidata della console Firebase), puoi utilizzare l'API REST. Tieni presente che i template di prompt del server non supportano gli schemi definiti nel codice dell'app e passati al template.
Anche se il template si trova sul server, non può direttamente interagire con le altre risorse lato server del tuo progetto Firebase (ad esempio un database) ad eccezione degli URL (che possono essere forniti come variabili di input ).Cloud Storage for Firebase