La clase CostEstimator ofrece una forma conveniente de estimar el costo de usar los modelos GPT-3.5 y GPT-4 de OpenAI. Está destinado a usarse en un bucle con tqdm para rastrear y mostrar la estimación de costos en tiempo real.
tqdm y muestra el costo de cada llamada de API y el costo total acumulado.La clase Costestimator fue diseñada para usarse en cuadernos Jupyter, consulte el cuaderno de ejemplo para una demostración.
Decora tu función de llamada 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 )Llame a la API desde dentro de un bucle :
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 costRestablecer el costo total :
CostEstimator . reset ()Leer Costo total :
CostEstimator . get_total_cost ()** Nuevo anulación de precios **
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 : se usa para determinar el número de tokens en una cadena sin hacer una llamada API.openai : cliente oficial de Openai Python.tqdm : proporciona la barra de progreso en tiempo real que muestra los detalles de los costos. Esencial para el seguimiento de costos fácil de usar.lorem_text : genera respuestas simuladas de API. Instalar a través de PIP
pip install gpt-cost-estimatorInstalación manual
pip install tiktoken openai tqdm lorem_text Clone este repositorio e importe el CostEstimator en su script.
La barra de progreso impulsada por tqdm proporciona comentarios instantáneos para cada llamada de API. Ya sea que se esté burlando de la llamada o conecte a la API real, verá el costo de la solicitud actual y el gasto total hasta ahora. Ofrece una forma visual y fácil de usar para monitorear los costos.
La licencia MIT es una licencia de código abierto permisivo. Permite la reutilización del código con restricciones mínimas, al tiempo que requiere solo la atribución y la inclusión de la licencia original. ?