В отличие от веб-интерфейса, где вся токенизация происходит на BPE 100k, написанном на C++ (wasm-tokenizer), в API токены считает провайдер LLM (например, OpenAI для GPT, Anthropic для Claude и т.д.).
Если вы хотите предварительно посчитать токены перед отправкой, вам необходимо использовать библиотеки для подсчета, такие как tiktoken и другие, в зависимости от модели, которую вы будете использовать.
При отправке запроса в наш API в ответ вы получите полный отчет об использовании токенов.
Например, при отправке запроса в Assistant API в ответе будет объект usage, где можно увидеть, сколько токенов было потрачено и на какие цели:
{"id":"66c6dcf2e2826d0001f48d37","chatId":"a11e52c2-5ecc-4d86-a9fa-0cac92414a72","assistantId":"637eedd95a56c03462f9c231","assistantCode":"test_gpt4o_assistant","message":"Hello! How can I assist you today?","model":"gpt-4o","usage": {"context_messages":2,"prompt_tokens":111,"completion_tokens":10,"embedding_tokens":0,"total_tokens":121,"prompt_cost":0.14985,"completion_cost":0.027,"embedding_cost":0,"total_cost":0.17685 }}
Для прямых запросов в OpenAI ответ будет немного отличаться, но тут мы также можем видеть объект usage со статистикой использования токенов: