Класс CostEstimator предлагает удобный способ оценить стоимость использования моделей OpenAI GPT-3.5 и GPT-4. Он предназначен для использования в цикле с tqdm для отслеживания и отображения оценки затрат в режиме реального времени.
tqdm и отображает стоимость каждого вызова API и накопленную общую стоимость.Класс AntailStimator был разработан для использования в ноутбуках Jupyter, см. Пример ноутбука для демонстрации.
Украсьте функцию вызова 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 )Позвоните в API из петли :
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 costСбросить общую стоимость :
CostEstimator . reset ()Прочтите общую стоимость :
CostEstimator . get_total_cost ()** Новый переопределение цен **
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 : используется для определения количества токенов в строке, не делая вызов API.openai : официальный клиент Python Openai.tqdm : предоставляет строку прогресса в реальном времени, которая отображает данные стоимости. Основное для удобного отслеживания затрат.lorem_text : генерирует фиктивные ответы API. Установите через PIP
pip install gpt-cost-estimatorРучная установка
pip install tiktoken openai tqdm lorem_text Клонировать этот репозиторий и импортировать CostEstimator в свой сценарий.
Прогресс, работающий на tqdm , обеспечивает мгновенную обратную связь для каждого вызова API. Независимо от того, издеваетесь ли вы на звонок или подключитесь к реальному API, вы увидите стоимость текущего запроса и общих расходов до сих пор. Он предлагает визуальный и удобный способ мониторинга затрат.
Лицензия MIT является разрешающей лицензией с открытым исходным кодом. Это позволяет повторно использовать код с минимальными ограничениями, при этом требуется только атрибуция и включение исходной лицензии. ?