En esta página, se describen algunas prácticas recomendadas y consideraciones para las plantillas de instrucciones del servidor, incluidas las funciones que aún no son compatibles. Ten en cuenta que muchas de estas funciones estarán disponibles a medida que evolucionen las plantillas de instrucciones del servidor, así que consulta las notas de la versión para obtener actualizaciones.
Prácticas recomendadas
Muchas de estas prácticas recomendadas también se detallan en Administra tus plantillas.
Crea una versión de tus plantillas
Crea IDs de plantillas con una versión que use el control de versiones semántico (semver).
Usa Firebase Remote Config para que puedas cambiar fácilmente la plantilla y otros valores en tu solicitud.
Protege tu plantilla
Evita editar las plantillas que se usan en producción, a menos que hayas probado el cambio por completo.
Bloquea tu plantilla antes de pasar a producción.
El bloqueo de una plantilla actúa como protección contra la edición involuntaria, pero el bloqueo no impide por completo la edición. Un miembro del proyecto con los permisos adecuados siempre puede desbloquear una plantilla para editarla.
Te recomendamos que bloquees las plantillas que el código usa de forma activa, en especial el código de producción.
Protege el uso de la Gemini API
-
- Puede ayudar a proteger contra la inyección de instrucciones.
- Puede ayudar a garantizar que las solicitudes se realicen correctamente y que las respuestas sean las esperadas.
Aplica el modo solo de plantilla para tu proyecto de Firebase, de modo que todas las solicitudes de la API de Gemini a través de Firebase AI Logicdeban usar una plantilla de instrucciones del servidor.Gemini API
Funciones que aún no admiten las plantillas de instrucciones del servidor
Muchas de estas funciones estarán disponibles a medida que evolucionen las plantillas de instrucciones del servidor, así que consulta las notas de la versión para obtener actualizaciones.
Capacidades de Firebase AI Logic que aún no admiten las plantillas
Las siguientes capacidades estándar de Firebase AI Logic aún no se admiten a través de las plantillas de instrucciones del servidor:
- Transmisión bidireccional (Gemini Live API)
- Inferencia híbrida o integrada en el dispositivo
- Restringir el resultado a una lista de enumeraciones
Además, ten en cuenta que, si usas la supervisión de la IA en la Firebase consola, el ID de la plantilla aún no se propagó en ningún registro.
Elementos comunes de Dotprompt que aún no admiten las plantillas
Es probable que pronto las plantillas de instrucciones del servidor admitan los siguientes elementos comunes de Dotprompt:
Usa la especificación del esquema JSON para los esquemas de entrada y salida en tu frontmatter.
- Ten en cuenta que esta especificación tampoco se admite en las solicitudes de plantillas que no son del servidor. Actualmente, solo admitimos la especificación del esquema de OpenAPI.
Declara una definición de campo comodín con
*.Usa
@keyo itera de forma general sobre los campos de una entrada de objeto (que es el caso en el que@keyes relevante).Usa
@root, que te permite hacer referencia al contexto de la variable raíz, independientemente delthisactual.
Es probable que no las plantillas de instrucciones del servidor admitan los siguientes elementos comunes de Dotprompt:
- Usa parciales, que son fragmentos de plantillas reutilizables que se pueden incluir en otras plantillas.
Otras consideraciones
De forma predeterminada, cuando usas la IU guiada en la consola Firebase, aprovisionamos la plantilla en todas las regiones disponibles para Firebase AI Logic. Si usas la Vertex AI Gemini API y tu caso de uso requiere restricciones basadas en la ubicación, puedes especificar la ubicación de tu plantilla con la API de REST.
Si quieres proporcionar una plantilla de instrucciones del servidor como un archivo (en lugar de usar la IU guiada de la consola Firebase), puedes usar la API de REST. Ten en cuenta que las plantillas de instrucciones del servidor no admiten el esquema definido en el código de la app y que se pasa a la plantilla.
Aunque la plantilla está en el servidor, no puede interactuar directamente con los otros recursos del servidor de tu proyecto de Firebase (como una base de datos) excepto con las URLs Cloud Storage for Firebase (que se pueden proporcionar como variables de entrada ).