Как высчитать макимальную длину строки слов в токенах для обучения модели OpenAI?
При обучении модели на основе своего файла с диалогами на модели text-davinci-002 возникает ошибка:
openai.error.InvalidRequestError: This model's maximum context length is 4097 tokens, however you requested 26087 tokens (21991 in your prompt; 4096 for the completion). Please reduce your prompt; or completion length.
Файл с диалогом оформлен в формате:
User: привет, как дела?
Ai: привет, хорошо
Длина каждой строки не превышает 1500 символов. Если верить гайду openai, то подсчет такой:
Если 100 токенов равны 75 словам, то 1 токен равен 0,75 словам (75 слов / 100 токенов). Тогда, чтобы посчитать количество лимитированных слов в 4096 токенах, нужно умножить количество токенов на соотношение слов к токенам:
4096 токенов * 0,75 слова/токен = 3072 слова
Таким образом, в 4096 токенах может быть использовано до 3072 слов.
Верно ли я считаю? Почему он пишет что я запрашиваю ему 26087 токенов?
Тебя пишет что в запросе 21991 токенов, ты перед отправкой запроса выведи, что именно ты там в prompt вставил. Ну про 0,75 я не видел в гайдах, видел только пример "For example, the string "ChatGPT is great!" is encoded into six tokens: ["Chat", "G", "PT", " is", " great", "!"]."