Расчет цены токенов в вызовах OPENAIPython

Программы на Python
Anonymous
Расчет цены токенов в вызовах OPENAI

Сообщение Anonymous »

Я пытаюсь оценить токены, используемые при вызове OPENAI. У меня есть текстовый файл с обычным текстом, который был загружен в Qdrant. Когда я задаю следующий вопрос:
Кто такой Майкл Джордан?
и использую функцию get_openai_callback для отслеживания количества токенов и цены операции один из ключей информации в выводе не имеет для меня смысла.

Код: Выделить всё

Tokens Used: 85
Prompt Tokens: 68
Completion Tokens: 17
Successful Requests: 1
Total Cost (USD): $0.00013600000000000003
Почему значение Prompt Tokens отличается от входного значения? Количество токенов во входном тексте (это то, что я понимаю как токен подсказки):

Код: Выделить всё

query = 'Who is Michael Jordan'

encoding = tiktoken.encoding_for_model('gpt-3.5-turbo-instruct')
print(f"Tokens: {len(encoding.encode(query))}")

4
, но результат ответа равен 68. Я рассматривал идею о том, что токены подсказки представляют собой сумму базовых токенов (текстовый файл), добавленных к токенам вопроса, но математические вычисления не не подходит.
Количество токенов в текстовом файле: 17
Arquivo txt: 'Майкл Джеффри Джордан — американский бизнесмен и бывший баскетболист, игравший на позиции атакующего защитника'
query + file_token
: 21 (4+17)< /p>
Может ли кто-нибудь помочь мне понять расчет цен?
Я пытался поискать в документации OPENAI, на GitHub и других форумах, но не думаю, что это поможет. легко найти информацию или она открыта для публики. Я хочу понять, не упускаю ли я что-то или это расчет, к которому у пользователей нет доступа.
ОБНОВЛЕНИЕ
На будущее вопросы других пользователей:

Код: Выделить всё

import langchain
langchain.debug = True
Запустите функцию get_openai_callback() и увидите, что весь журнал отображается на экране. Значение ключа "prompts" представляет собой список, содержащий строку, которая является инструкцией о том, как следует давать ответ. Количество токенов для этого приглашения — это значение, которое отображается в «Токены приглашения».

Подробнее здесь: https://stackoverflow.com/questions/788 ... enai-calls

Вернуться в «Python»