La classe CostEstimator offre un moyen pratique d'estimer le coût de l'utilisation des modèles GPT-3.5 et GPT-4 d'OpenAI. Il est destiné à être utilisé dans une boucle avec tqdm pour suivre et afficher l'estimation des coûts en temps réel.
tqdm et affiche le coût de chaque appel d'API et le coût total accumulé.La classe Costestimator a été conçue pour être utilisée dans les cahiers Jupyter, voir l'exemple de carnet pour une démonstration.
Décorez votre fonction d'appel API :
import openai
from gpt_cost_estimator import CostEstimator
@ CostEstimator ()
def query_openai ( model , messages , ** kwargs ):
args_to_remove = [ 'mock' , 'completion_tokens' ]
for arg in args_to_remove :
if arg in kwargs :
del kwargs [ arg ]
return openai . ChatCompletion . create (
model = model ,
messages = messages ,
** kwargs )Appelez l'API à l'intérieur d'une boucle :
for message in tqdm ( messages ):
response = query_openai ( model = "gpt-3.5-turbo-0613" , messages = [ message ], mock = False )
# Or if you're mocking the API call:
response = query_openai ( model = "gpt-3.5-turbo-0613" , messages = [ message ], mock = True )
print () # We need to print a newline to show the total costRéinitialisez le coût total :
CostEstimator . reset ()Lire le coût total :
CostEstimator . get_total_cost ()** NOUVEAU PRIX OBTRIDE **
from cost_estimator import CostEstimator
# Define custom prices for models
custom_prices = {
"gpt-4o-mini" : { "input" : 0.0002 , "output" : 0.0007 },
}
# Instantiate the CostEstimator with custom prices
estimator = CostEstimator ( price_overrides = custom_prices )
# Use the estimator as usual
@ estimator
def query_openai ( model , messages , ** kwargs ):
args_to_remove = [ 'mock' , 'completion_tokens' ]
for arg in args_to_remove :
if arg in kwargs :
del kwargs [ arg ]
return openai . ChatCompletion . create (
model = model ,
messages = messages ,
** kwargs )tiktoken : utilisé pour déterminer le nombre de jetons dans une chaîne sans passer un appel API.openai : Client officiel d'Openai Python.tqdm : fournit la barre de progression en temps réel qui affiche les détails des coûts. Essentiel pour le suivi des coûts convivial.lorem_text : génère des réponses API simulées. Installer via PIP
pip install gpt-cost-estimatorInstallation manuelle
pip install tiktoken openai tqdm lorem_text Clone ce référentiel et importez le CostEstimator dans votre script.
La barre de progression alimentée par tqdm fournit des commentaires instantanés pour chaque appel API. Que vous vous moquiez de l'appel ou que vous vous connectez à l'API réelle, vous verrez le coût de la demande actuelle et des dépenses totales jusqu'à présent. Il offre une façon visuelle et conviviale de surveiller les coûts.
La licence MIT est une licence d'ouverture ouverte permissive. Il permet de réutiliser le code avec des restrictions minimales, tout en ne nécessitant que l'attribution et l'inclusion de la licence d'origine. ?