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


Cette page décrit certaines bonnes pratiques et considérations concernant les modèles de prompt côté serveur, y compris les fonctionnalités qui ne sont pas encore prises en charge. Notez que la plupart de ces fonctionnalités seront disponibles à mesure que les modèles de prompts côté serveur évolueront. Consultez les notes de version pour en savoir plus.

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é minutieusement les modifications.

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

    • Le verrouillage d'un modèle permet de le protéger contre les modifications involontaires, mais ne bloque pas complètement la modification. 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 le code, en particulier le code de production.

Protéger l'utilisation de Gemini API

  • Écrivez une validation d'entrée solide pour vos variables d'entrée, ce qui peut vous aider dans les cas suivants :

    • Peut aider à se protéger contre l'injection de prompt.
    • Cela peut vous aider à vous assurer que les requêtes aboutissent et que les réponses sont celles attendues.
  • Appliquez le mode modèle uniquement à votre projet Firebase afin que toutes les requêtes Gemini API via Firebase AI Logic doivent utiliser un modèle de prompt côté serveur.

Fonctionnalités non encore compatibles avec les modèles de prompts côté serveur

De nombreuses fonctionnalités seront disponibles à mesure que les modèles de prompts côté serveur évolueront. Consultez les notes de version pour en savoir plus.

Fonctionnalités de Firebase AI Logic non encore compatibles avec 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'énums

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

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

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

  • Utilisez 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 demandes de modèles non serveur. Nous n'acceptons actuellement que la spécification de schéma OpenAPI.
  • Déclaration d'une définition de champ générique à l'aide de *.

  • Utilisation de @key ou itération générale sur les champs d'une entrée d'objet (cas où @key est pertinent).

  • Utilisez @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 :

  • en utilisant 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 la localisation, 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'interface utilisateur guidée de la console Firebase), vous pouvez utiliser l'API REST. Notez que les modèles de prompt serveur n'acceptent pas 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).