Partager via


Mise en cache de requête

La mise en cache des invites vous permet de réduire la latence globale des requêtes et des coûts pour les invites plus longues qui ont du contenu identique au début de l’invite. « Invite » dans ce contexte fait référence à l’entrée que vous envoyez au modèle dans le cadre de votre demande de saisie semi-automatique de conversation. Au lieu de retraiter les mêmes jetons d’entrée, le modèle est en mesure de conserver un cache temporaire des données d’entrée traitées afin d’améliorer les performances globales. La mise en cache des invites n’a aucun impact sur le contenu de sortie retourné dans la réponse du modèle au-delà d’une réduction de la latence et du coût. Pour les modèles pris en charge, les jetons mis en cache sont facturés avec une remise de 50 % sur le prix des jetons d’entrée.

Modèles pris en charge

Actuellement, seuls les modèles suivants prennent en charge la mise en cache d’invite avec Azure OpenAI :

  • o1-preview-2024-09-12
  • o1-mini-2024-09-12
  • gpt-4o-2024-05-13
  • gpt-4o-2024-08-06
  • gpt-4o-mini-2024-07-18

Prise en charge des API

La prise en charge officielle de la mise en cache des invites a été ajoutée pour la première fois dans la version de l’API 2024-10-01-preview. À ce stade, seuls les modèles o1-preview-2024-09-12 et o1-mini-2024-09-12 prennent en charge le paramètre de réponse de l’API cached_tokens.

Mise en route

Pour qu’une demande tire parti de la mise en cache d’invite, la demande doit être à la fois :

  • Un minimum de 1 024 jetons de longueur.
  • Les 1 024 premiers jetons de l’invite doivent être identiques.

Lorsqu’une correspondance est trouvée entre une invite et le contenu actuel du cache d’invite, il est appelé « accès au cache ». Les accès au cache s’affichent sous cached_tokens sous prompt_token_details dans la réponse de saisie semi-automatique de conversation.

{
  "created": 1729227448,
  "model": "o1-preview-2024-09-12",
  "object": "chat.completion",
  "service_tier": null,
  "system_fingerprint": "fp_50cdd5dc04",
  "usage": {
    "completion_tokens": 1518,
    "prompt_tokens": 1566,
    "total_tokens": 3084,
    "completion_tokens_details": {
      "audio_tokens": null,
      "reasoning_tokens": 576
    },
    "prompt_tokens_details": {
      "audio_tokens": null,
      "cached_tokens": 1408
    }
  }
}

Une fois que les 1 024 premiers jetons de cache se produisent pour chaque 128 jetons identiques supplémentaires.

Une différence de caractère unique dans les 1 024 premiers jetons entraîne une absence de cache qui est caractérisée par une valeur de cached_tokens de 0. La mise en cache des invites est activée par défaut sans configuration supplémentaire nécessaire pour les modèles pris en charge.

Qu’est-ce qui est mis en cache ?

Les modèles de série o1 sont du texte uniquement et ne prennent pas en charge les messages système, les images, l’utilisation de l’outil/appel de fonction ou les sorties structurées. Cela limite l’efficacité de la mise en cache d’invite pour ces modèles aux parties utilisateur/assistant du tableau de messages qui sont moins susceptibles d’avoir un préfixe de jeton 1024 identique.

Pour les modèles gpt-4o et gpt-4o-mini, la mise en cache des invites est prise en charge pour :

Mise en cache prise en charge Description
Messages Tableau de messages complet : contenu système, utilisateur et assistant
Images Images incluses dans les messages utilisateur, à la fois sous forme de liens ou de données encodées en base64. Le paramètre de détail doit être défini de la même façon sur les requêtes.
Outil utilise Tableau de messages et définitions d’outils
Sorties structurées Le schéma de sortie structurée est ajouté en tant que préfixe au message système

Pour améliorer la probabilité que des accès au cache se produisent, vous devez structurer vos demandes afin que le contenu répétitif se produise au début du tableau de messages.

Puis-je désactiver la mise en cache des invites ?

La mise en cache des invites est activée par défaut. Il n’existe aucune option de refus.

Comment la mise en cache des invites fonctionne-t-elle pour les déploiements approvisionnés ?

Pour les modèles pris en charge sur les déploiements approvisionnés, nous accordons une remise qui peut aller jusqu’à 100 % des jetons d’entrée mis en cache. Pour plus d’informations, consultez notre documentation sur les débits approvisionnés.