A classe CostEstimator oferece uma maneira conveniente de estimar o custo do uso dos modelos GPT-3.5 e GPT-4 do OpenAI. Ele deve ser usado em um loop com tqdm para rastrear e exibir a estimativa de custo em tempo real.
tqdm e exibe o custo de cada chamada da API e o custo total acumulado.A classe Costestimator foi projetada para ser usada em notebooks Jupyter, consulte o Notebook Exemplo para uma demonstração.
Decore sua função de chamada da 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 )Ligue para a API de dentro de um loop :
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 costRedefina o custo total :
CostEstimator . reset ()Leia o custo total :
CostEstimator . get_total_cost ()** Novo substituto de preço **
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 : usado para determinar o número de tokens em uma string sem fazer uma chamada de API.openai : cliente oficial do Openai Python.tqdm : fornece a barra de progresso em tempo real que exibe os detalhes do custo. Essencial para o rastreamento de custos fácil de usar.lorem_text : gera respostas da API simulada. Instale via Pip
pip install gpt-cost-estimatorInstalação manual
pip install tiktoken openai tqdm lorem_text Clone este repositório e importe o CostEstimator em seu script.
A barra de progresso alimentada pelo tqdm fornece feedback instantâneo para cada chamada de API. Esteja você zombando da chamada ou se conecta à API real, verá o custo da solicitação atual e o gasto total até agora. Oferece uma maneira visual e fácil de usar os custos.
A licença do MIT é uma licença permissiva de código aberto. Ele permite a reutilização do código com restrições mínimas, exigindo apenas atribuição e inclusão da licença original. ?