Flujos de trabajo avanzados para plantillas


En el caso de Firebase AI Logic, la consola de Firebase proporciona una IU guiada para que especifiques el contenido de una plantilla. Sin embargo, existen varios casos de uso en los que es posible que necesites formas más avanzadas de configurar una plantilla, como las siguientes:

Los flujos de trabajo avanzados que se describen en esta página usan la API de REST de Firebase AI Logic.

Información importante sobre el uso de la API de REST

  • Si una plantilla está desbloqueada, puedes reemplazarla con el mismo ID de plantilla en tu llamada a la API de REST. No se puede reemplazar una plantilla bloqueada.

  • Cuando creas una plantilla de instrucciones del servidor a través de la API de REST y estableces su ubicación en global, la plantilla de instrucciones del servidor se aprovisiona automáticamente en todas las ubicaciones (incluida global) y está disponible para usarse con ambos proveedores de Gemini API. Sin embargo, si estableces cualquier otra ubicación cuando creas la plantilla a través de la API de REST, la plantilla solo estará disponible para la Agent Platform Gemini API (formerly Vertex AI). Obtén más información para establecer una ubicación específica para una plantilla más adelante en esta página.

    Ten en cuenta que, cuando usas la IU guiada en la consola de Firebase, la plantilla también se aprovisiona automáticamente en todas las ubicaciones (incluida global) y está disponible para usar con ambos proveedores de Gemini API.

  • Para acceder a una plantilla de instrucciones del servidor en una solicitud templateGenerateContent o templateStreamGenerateContent a través de la API de REST, debes usar el extremo específico de tu proveedor de Gemini API (Gemini Developer API | Agent Platform Gemini API (formerly Vertex AI)).

(solo para Agent Platform Gemini API (formerly Vertex AI)) Establece una ubicación específica para una plantilla

Esta sección se aplica a las siguientes situaciones:

  • El caso de uso de tu app tiene requisitos basados en la ubicación.

  • Las solicitudes de tu app usan el Agent Platform Gemini API (formerly Vertex AI) y especificas una ubicación para acceder a un modelo.

Como se describió anteriormente en esta página, se aprovisiona automáticamente una plantilla de instrucciones del servidor para todas las regiones admitidas para Firebase AI Logic (incluida global) si realizas alguna de las siguientes acciones:

  • Crea la plantilla con la IU guiada en la consola de Firebase.
  • Crea la plantilla a través de la API de REST y establece su ubicación en global.

Esto significa que puedes establecer la ubicación en la solicitud de tu app en cualquiera de las regiones disponibles para Firebase AI Logic, y la plantilla estará disponible. No es necesario que establezcas la ubicación en la solicitud de tu app a global.

Sin embargo, si quieres que tu plantilla solo esté disponible en una ubicación específica, debes crearla a través de la API de REST y establecer esa ubicación de forma explícita. No establezcas la ubicación como global.

  1. Llama al extremo projects.locations.templates.create para crear la plantilla. Especifica el location de la plantilla (por ejemplo, europe-west4) como parte de la creación de un PromptTemplate.

  2. En la solicitud de tu app, asegúrate de que la ubicación en la que accedes al modelo coincida con la ubicación de la plantilla (eu).

Algunas consideraciones:

  • La lista de plantillas de la consola de Firebase solo muestra las plantillas que se aprovisionan (como mínimo) en la ubicación global.

  • Si usas la API de REST para aprovisionar una plantilla en una ubicación específica (que no sea global), la ubicación en la que accedes al modelo en la solicitud de tu app debe coincidir con la ubicación establecida para la plantilla. Si las ubicaciones no coinciden, la solicitud fallará (debido a las políticas de aislamiento regional).

Proporciona la plantilla como un archivo

Puedes proporcionar el contenido de un archivo de plantilla de instrucciones del servidor llamando al extremo projects.locations.templates.create.