Intégration du Token Estimator | Botpress Hub

# Intégration du Tiktoken Estimator

Estimation du nombre de jetons pour un texte en utilisant la bibliothèque tiktoken, permettant un comptage précis des jetons pour les modèles OpenAI .

Caractéristiques

  • Comptage précis des jetons** : Utilise la bibliothèque officielle tiktoken pour fournir des estimations précises du nombre de jetons.
  • Prise en charge de plusieurs modèles** : Prise en charge de plusieurs modèles OpenAI (gpt-3.5-turbo, gpt-4, etc.)
  • Limites de sécurité** : Limites de sécurité** : vérification optionnelle des limites de sécurité pour éviter les dépassements de jetons.
  • Configuration zéro** : Aucune configuration n'est nécessaire - fonctionne dès la sortie de la boîte
  • Gestion des erreurs** : Gestion gracieuse des erreurs avec messages descriptifs

Usage

Estimation des jetons Action

L'intégration fournit une seule action : estimateTokens

Paramètres d'entrée:

  • text (obligatoire) : Le texte pour lequel les jetons doivent être estimés
  • model (optionnel) : Le modèle OpenAI à utiliser pour la tokenisation (par défaut "gpt-3.5-turbo")
  • safetyLimit (optionnel) : Limite de sécurité pour l'estimation du nombre de jetons. Si elle est laissée vide, aucune limite ne sera appliquée

Sortie:

  • tokenCount : Le nombre estimé de tokens dans le texte
  • tokenizerName : Le nom du tokenizer utilisé
  • model : Le modèle sur lequel la tokenisation est basée
  • limitExceeded : Indique si le nombre estimé de jetons a dépassé la limite de sécurité (présent uniquement lorsque safetyLimit est fourni).

Exemple d'utilisation

Utilisation de base:

Texte : "Hello, world !"
Modèle : "gpt-3.5-turbo"

Résultat :
- tokenCount : 4
- tokenizerName : "tiktoken"
- model : "gpt-3.5-turbo"

Avec limite de sécurité:

Texte : "Il s'agit d'un texte plus long qui pourrait dépasser notre limite de sécurité..."
Modèle : "gpt-3.5-turbo"
Limite de sécurité : 10

Résultat :
- tokenCount : 15
- tokenizerName : "tiktoken"
- model : "gpt-3.5-turbo"
- limitExceeded : true

Modèles supportés

  • gpt-3.5-turbo
  • gpt-4
  • gpt-4-turbo
  • texte-davinci-003
  • texte-davinci-002
  • code-davinci-002
  • Et d'autres modèles OpenAI supportés par tiktoken

Limites de sécurité recommandées

Lorsque vous définissez les limites de sécurité, tenez compte du fait que vos appels API réels incluront des jetons supplémentaires pour les invites du système, l'historique des conversations et la génération de réponses. Voici des recommandations prudentes :

GPT.5-Turbo (limite de 4 096 jetons)

  • Conservateur : 2 500 jetons (~1 600 pour les invites du système + la réponse)
  • Modéré : 3 000 jetons (~1 100 pour les invites du système + la réponse)
  • Agressif : 3 500 jetons (~600 pour les invites du système + la réponse)

GPT(limite de 8 192 jetons)

  • Conservateur : 5 000 jetons (~3 200 pour les invites du système + la réponse)
  • Modéré : 6 000 jetons (~2 200 pour les invites du système + réponse)
  • Agressif : 7 000 jetons (~1 200 pour les invites du système + réponse)

GPT Turbo (limite de 128 000 jetons)

  • Conservateur : 100 000 jetons (~28 000 pour les invites du système + réponse)
  • Modéré : 110 000 jetons (~18 000 pour les invites du système + réponse)
  • Agressif : 120 000 jetons (~8 000 pour les invites du système + la réponse)

Remarque : Ces recommandations supposent des tailles d'invite système typiques (200-800 jetons) et des longueurs de réponse souhaitées (500-2 000 jetons). Ajustez-les en fonction de votre cas d'utilisation spécifique.

Gestion des erreurs

L'intégration gère différents scénarios d'erreur :

  • Entrée invalide : renvoie des messages d'erreur clairs en cas de texte manquant ou invalide.
  • Texte vide** : renvoie 0 tokens pour les chaînes vides
  • Modèle non supporté** : Retourne une erreur pour les modèles non supportés par tiktoken
  • Erreurs de tokenisation** : Gère les erreurs de la bibliothèque tiktoken de manière élégante.
  • Avertissements de limite de sécurité** : Enregistre des avertissements lorsque le nombre de jetons dépasse les limites de sécurité.

Avantages

  • Optimisation des coûts** : Estimez les coûts des jetons avant d'effectuer des appels d'API
  • Limitation du taux d'utilisation** : Gestion des budgets de jetons et prévention des dépassements avec des limites de sécurité
  • Logique de flux de travail** : Activez une logique conditionnelle basée sur le nombre de jetons et les seuils de sécurité.
  • Transparence** : Transparence** : Fournir une visibilité sur les modèles d'utilisation des jetons
  • Surveillance proactive** : Définir des limites de sécurité pour détecter rapidement les dépassements potentiels de jetons