Добавить в корзинуПозвонить
Найти в Дзене
Павлин Шарит

Подсчет потраченных токенов в приложениях с LLM или одна строчка исправлений за 4 часа дебага

Подсчет потраченных токенов в приложениях с LLM или одна строчка исправлений за 4 часа дебага На этой неделе помимо продолжающегося переезда CRM, про который частично писал вот тут пришлось позаниматься нашим продуктом поверх llm У нас для мониторинга работы llm подключен arize-phoenix (затрагивал эту тему в этом видео) в нем в том числе есть подсчет токенов и затрат, соотвественно (скрин 1). Но если вы реально на него посмотрели, то можете заметить, что далеко не везде они были подсчитаны Такой вариант работы меня не устраивал, поэтому пришлось копаться в чем проблема, посмотрел всю библиотеку, как эти события (вернее сказать спаны) формируются, как отправляются и сериализуются, видимых ошибок не было. Гугл тоже особо не подсказывал, схожие проблемы решались обновлением самой библиотеки, ответ смог найти только среди закрытых в гитхабе issues Должно быть очевидно, что если вы запрашиваете в api openai streaming response (когда вам апи отвечает в виде ssr, кусочками текста из будущ

Подсчет потраченных токенов в приложениях с LLM или одна строчка исправлений за 4 часа дебага

На этой неделе помимо продолжающегося переезда CRM, про который частично писал вот тут пришлось позаниматься нашим продуктом поверх llm

У нас для мониторинга работы llm подключен arize-phoenix (затрагивал эту тему в этом видео) в нем в том числе есть подсчет токенов и затрат, соотвественно (скрин 1). Но если вы реально на него посмотрели, то можете заметить, что далеко не везде они были подсчитаны

Такой вариант работы меня не устраивал, поэтому пришлось копаться в чем проблема, посмотрел всю библиотеку, как эти события (вернее сказать спаны) формируются, как отправляются и сериализуются, видимых ошибок не было. Гугл тоже особо не подсказывал, схожие проблемы решались обновлением самой библиотеки, ответ смог найти только среди закрытых в гитхабе issues

Должно быть очевидно, что если вы запрашиваете в api openai streaming response (когда вам апи отвечает в виде ssr, кусочками текста из будущего ответа), то тогда общий подсчет токенов у них не ведется, а включается это вот так (разве не очевидно?!)

additional_kwargs={"stream_options": {"include_usage": True}}

Зато теперь вот такая красота - скрин 2

Поддержать на Boosty

Посмотреть на Youtube