Bonnes pratiques et points à prendre en compte pour les modèles


Cette page décrit quelques bonnes pratiques et considérations concernant les modèles de prompt de serveur, y compris les fonctionnalités non encore compatibles. Notez que bon nombre de ces fonctionnalités seront disponibles à mesure que les modèles de prompts côté serveur évolueront. Consultez les notes de version pour vous tenir au courant des nouveautés.

Bonnes pratiques

Bon nombre de ces bonnes pratiques sont également détaillées dans Gérer vos modèles.

Gérer les versions de vos modèles

Protéger votre modèle

  • Évitez de modifier les modèles utilisés en production, sauf si vous avez testé la modification de manière approfondie.

  • Verrouillez votre modèle avant de passer en production.

    • Le verrouillage d'un modèle permet d'éviter les modifications involontaires, mais il ne bloque pas complètement les modifications. Un membre du projet disposant des autorisations appropriées peut toujours déverrouiller un modèle pour le modifier.

    • Nous vous recommandons de verrouiller les modèles qui sont activement utilisés par du code, en particulier du code de production.

Protéger l'utilisation de Gemini API

  • Rédigez une validation des entrées efficace pour vos variables d'entrée, ce qui peut vous aider à :

    • Peut aider à se protéger contre l'injection de prompt.
    • Peut aider à s'assurer que les requêtes aboutissent et que les réponses sont conformes aux attentes.
  • Appliquez le mode modèle uniquement à votre projet Firebase afin que toutes les requêtes Gemini API via Firebase AI Logic utilisent un modèle de prompt côté serveur.

Fonctionnalités pas encore compatibles avec les modèles de prompt du serveur

Bon nombre de ces fonctionnalités seront disponibles à mesure que les modèles de prompts côté serveur évolueront. Consultez les notes de version pour vous tenir informé.

Fonctionnalités de Firebase AI Logic pas encore prises en charge par les modèles

Les fonctionnalités standards suivantes de Firebase AI Logic ne sont pas encore compatibles avec les modèles de prompts côté serveur :

  • Streaming bidirectionnel (Gemini Live API)
  • Inférence hybride ou sur l'appareil
  • Limiter la sortie à une liste d'énumérations

Notez également que si vous utilisez AI Monitoring dans la console Firebase, l'ID du modèle n'est encore renseigné dans aucun enregistrement.

Éléments courants de Dotprompt non encore compatibles avec les modèles

Les modèles de prompts côté serveur seront probablement bientôt compatibles avec les éléments courants suivants de Dotprompt :

  • Utiliser la spécification de schéma JSON pour les schémas d'entrée et de sortie dans votre frontmatter.

    • Notez que cette spécification n'est pas non plus acceptée dans les requêtes de modèles non serveur. Nous n'acceptons actuellement que la spécification de schéma OpenAPI.
  • Déclarer une définition de champ générique à l'aide de *.

  • Utiliser @key ou effectuer une itération sur les champs d'une entrée d'objet (ce qui est le cas lorsque @key est pertinent).

  • Utiliser @root, qui vous permet de référencer le contexte de la variable racine, quel que soit le this actuel.

Les modèles de prompts côté serveur ne seront probablement pas compatibles avec les éléments courants suivants de Dotprompt :

  • Utiliser des partiels, qui sont des extraits de modèles réutilisables pouvant être inclus dans d'autres modèles.

Autres points à noter

  • Par défaut, lorsque vous utilisez l'interface utilisateur guidée dans la console Firebase, nous provisionnons le modèle dans toutes les régions prises en charge pour Firebase AI Logic. Si vous utilisez Agent Platform Gemini API (formerly Vertex AI) et que votre cas d'utilisation nécessite des restrictions basées sur l'emplacement, vous pouvez spécifier l'emplacement de votre modèle à l'aide de l'API REST.

  • Si vous souhaitez fournir un modèle de prompt de serveur sous forme de fichier (au lieu d'utiliser l'UI guidée de la console Firebase), vous pouvez utiliser l'API REST. Notez que les modèles de prompt de serveur ne sont pas compatibles avec les schémas définis dans le code de l'application et transmis au modèle.

  • Même si le modèle se trouve sur le serveur, il ne peut pas interagir directement avec les autres ressources côté serveur de votre projet Firebase (comme une base de données), à l'exception des URL Cloud Storage for Firebase (qui peuvent être fournies en tant que variables d'entrée).