Prácticas recomendadas y consideraciones para las plantillas


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 se admiten. 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 versiones de tus plantillas

Protege tu plantilla

  • Evita editar las plantillas que se usan en producción, a menos que hayas probado el cambio a fondo.

  • Bloquea tu plantilla antes de pasar a producción.

    • Bloquear una plantilla actúa como protección contra la edición no intencional, pero no bloquea por completo la edición. Un miembro del proyecto con los permisos adecuados siempre puede desbloquear una plantilla para editarla.

    • Recomendamos bloquear las plantillas que el código usa de forma activa, en especial el código de producción.

Protege el uso de Gemini API

  • Escribe una validación de entrada sólida para tus variables de entrada, lo que puede ayudarte con lo siguiente:

    • 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 para plantillas en tu proyecto de Firebase para que todas las solicitudes de Gemini API a través de Firebase AI Logic deban usar una plantilla de instrucciones del servidor.

Funciones que aún no son compatibles con 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 son compatibles con las plantillas de instrucciones del servidor:

  • Transmisión bidireccional (Gemini Live API)
  • Inferencia híbrida o integrada en el dispositivo
  • Cómo restringir el resultado a una lista de enumeraciones

Ten en cuenta también que, si usas la supervisión de la IA en la consola de Firebase, el ID de 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.

  • Declaración de una definición de campo comodín con *.

  • Usar @key o, en general, iterar sobre los campos de una entrada de objeto (que es el caso en el que @key es relevante).

  • Usar @root, que te permite hacer referencia al contexto de la variable raíz independientemente del this actual

Es probable que no se admitan los siguientes elementos comunes de Dotprompt en las plantillas de instrucciones del servidor:

  • Usar 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 de Firebase, aprovisionamos la plantilla en todas las regiones disponibles para Firebase AI Logic. Si usas 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 deseas proporcionar una plantilla de instrucciones del servidor como un archivo (en lugar de usar la IU guiada de la consola de 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 se encuentra en el servidor, no puede interactuar directamente con los demás recursos del servidor de tu proyecto de Firebase (como una base de datos) excepto con las URLs de Cloud Storage for Firebase (que se pueden proporcionar como variables de entrada).