Questa pagina descrive alcune best practice e considerazioni per i modelli di prompt del server, incluse le funzionalità non ancora supportate. Tieni presente che molte di queste funzionalità diventeranno disponibili man mano che i modelli di prompt del server si evolveranno, quindi controlla le note di rilascio per gli aggiornamenti.
Best practice
Molte di queste best practice sono descritte anche in Gestire i modelli.
Versionare i modelli
Crea ID modello a cui è aggiunta una versione che utilizza il controllo delle versioni semantico (semver).
Utilizza Firebase Remote Config per poter modificare facilmente il modello e altri valori nella richiesta.
Proteggere il modello
Evita di modificare i modelli utilizzati in produzione, a meno che tu non abbia testato attentamente la modifica.
Blocca il modello prima di metterlo in produzione.
Il blocco di un modello 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 modello per modificarlo.
Ti consigliamo di bloccare i modelli 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:
- Proteggere dall'iniezione di prompt.
- Garantire che le richieste vadano a buon fine e che le risposte siano quelle previste.
Applica la modalità solo modello per il tuo progetto Firebase in modo che tutte le richieste Gemini API tramite Firebase AI Logic debbano utilizzare un modello di prompt del server.
Funzionalità non ancora supportate dai modelli di prompt del server
Molte di queste funzionalità diventeranno disponibili man mano che i modelli di prompt del server si evolveranno, quindi controlla le note di rilascio per gli aggiornamenti.
Funzionalità di Firebase AI Logic non ancora supportate dai modelli
Le seguenti funzionalità standard di Firebase AI Logic non sono ancora supportate tramite i modelli di prompt del server:
- Streaming bidirezionale (Gemini Live API)
- Inferenza ibrida o sul dispositivo
- Limitazione dell'output a un elenco di enum
Tieni presente inoltre che, se utilizzi il monitoraggio dell'AI nella Firebase console, l' ID modello non è ancora compilato in alcun record.
Elementi comuni di Dotprompt non ancora supportati dai modelli
I modelli di prompt del server probabilmente a breve supporteranno 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 modelli 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 dathiscorrente.
I modelli di prompt del server probabilmente non supporteranno i seguenti elementi comuni di Dotprompt:
- Utilizzo di parziali, ovvero snippet di modelli riutilizzabili che possono essere inclusi in altri modelli.
Altre considerazioni
Per impostazione predefinita, quando utilizzi la UI guidata nella console Firebase, il modello viene fornito in tutte le regioni disponibili per Firebase AI Logic. Se utilizzi Vertex AI Gemini API e il tuo caso d'uso richiede restrizioni basate sulla località, puoi specificare la località per il modello utilizzando l'API REST.
Se vuoi fornire un modello di prompt del server come file (anziché utilizzare la console Firebase guidata), puoi utilizzare l'API REST. Tieni presente che i modelli di prompt del server non supportano lo schema definito nel codice dell'app e passato al modello.
Anche se il modello si trova sul server, non può interagire direttamente con le altre risorse lato server del tuo progetto Firebase (ad esempio un database) ad eccezione degli Cloud Storage for Firebase URL (che possono essere forniti come variabili di input).