Die CostEstimator Klasse bietet eine bequeme Möglichkeit, die Kosten für die Verwendung von OpenAI-Modellen von OpenAIs GPT-3,5 und GPT-4 abzuschätzen. Es soll in einer Schleife mit tqdm verwendet werden, um die Kostenschätzung in Echtzeit zu verfolgen und anzuzeigen.
tqdm -Antriebsschleifen und zeigt die Kosten für jeden API -Aufruf und die akkumulierten Gesamtkosten an.Die ostestimatorische Klasse wurde so konzipiert, dass sie in Jupyter -Notizbüchern verwendet werden soll. Siehe Beispielbuch für eine Demonstration.
Dekorieren Sie Ihre API -Anruffunktion :
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 )Rufen Sie die API in einer Schleife an :
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 costGesamtkosten zurücksetzen :
CostEstimator . reset ()Gesamtkosten lesen :
CostEstimator . get_total_cost ()** Neue Preisüberschreibung **
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 : Wird verwendet, um die Anzahl der Token in einer Zeichenfolge zu bestimmen, ohne einen API -Anruf zu tätigen.openai : Offizieller Openai Python -Kunde.tqdm : Bietet die Echtzeit-Fortschrittsleiste, in der die Kostendetails angezeigt werden. Wesentlich für benutzerfreundliche Kostenverfolgung.lorem_text : Erzeugt Schein -API -Antworten. Über PIP einbauen
pip install gpt-cost-estimatorManuelle Installation
pip install tiktoken openai tqdm lorem_text Klonen Sie dieses Repository und importieren Sie den CostEstimator in Ihrem Skript.
Die von tqdm betriebene Fortschrittsleiste bietet sofortiges Feedback für jeden API -Aufruf. Unabhängig davon, ob Sie den Anruf verspotten oder sich mit der realen API verbinden, werden Sie die Kosten der aktuellen Anfrage und die bisherigen Gesamtausgaben sehen. Es bietet eine visuelle und benutzerfreundliche Methode zur Überwachung der Kosten.
Die MIT-Lizenz ist eine freizügige Open-Source-Lizenz. Es ermöglicht die Wiederverwendung von Code mit minimalen Einschränkungen, während nur die Zuordnung und Einbeziehung der ursprünglichen Lizenz erforderlich ist. ?