Оценить размер в токенах

Нейросети работают с текстами, представляя слова и предложения в виде токенов.

AI Studio использует свой токенизатор для обработки текстов. Чтобы рассчитать размер текста или запроса к модели YandexGPT в токенах, используйте методы Tokenize API генерации текста или Yandex AI Studio SDK.

Число токенов в одном и том же тексте может различаться для каждой модели.

Перед началом работы

Чтобы воспользоваться примерами:

  1. Создайте сервисный аккаунт и назначьте ему роль ai.languageModels.user.
  2. Получите и сохраните API-ключ сервисного аккаунта, указав для него область действия yc.ai.foundationModels.execute.

    В примерах используется аутентификация с помощью API-ключа. Yandex AI Studio SDK также поддерживает аутентификацию с помощью IAM-токена и OAuth-токена. Подробнее см. в разделе Аутентификация в Yandex AI Studio SDK.

    Примечание

    Если вы используете ОС Windows, рекомендуем предварительно установить оболочку WSL и выполнять дальнейшие действия в этой оболочке.

  3. Установите Python версии 3.10 или выше.

  4. (Опционально) Установите библиотеку Python venv для создания изолированных виртуальных окружений в Python.

  5. (Опционально) Создайте и войдите в новое виртуальное окружение Python:

    python3 -m venv new-env
            source new-env/bin/activate
            
  6. С помощью менеджера пакетов pip установите библиотеку AI SDK:

    pip install yandex-ai-studio-sdk
            

Получите данные для аутентификации в API, как описано в разделе Аутентификация в API Yandex AI Studio.

Чтобы воспользоваться примерами, установите cURL.

Рассчитать размер запроса

В приведенном примере оценивается размер запроса к модели YandexGPT.

  1. Создайте файл token.py и добавьте в него следующий код:

    #!/usr/bin/env python3
            
            from __future__ import annotations
            from yandex_ai_studio_sdk import AIStudio
            
            messages = "Управление генеративными моделями осуществляется с помощью промптов. Эффективный промпт должен содержать контекст запроса (инструкцию) для модели и непосредственно задание, которое модель должна выполнить, учитывая переданный контекст. Чем конкретнее составлен промпт, тем более точными будут результаты работы модели."
            
            
            def main():
                sdk = AIStudio(
                    folder_id="<идентификатор_каталога>",
                    auth="<API-ключ>",
                )
            
                model = sdk.models.completions("yandexgpt")
            
                result = model.tokenize(messages)
            
                for token in result:
                    print(token)
            
            
            if __name__ == "__main__":
                main()
            

    Где:

    Примечание

    В качестве входных данных для запроса Yandex AI Studio SDK может принимать строку, словарь, объект класса TextMessage или массив, содержащий любое сочетание указанных типов данных. Подробнее см. в разделе Использование Yandex AI Studio SDK.

    • messages — текстовое содержимое сообщения.
    • model — URI модели. Подробнее см. в разделе Chat domain.
  2. Выполните созданный файл:

    python3 token.py
            

    Результат выполнения запроса содержит список всех полученных токенов.

    Результат
    {
              "tokens": [
                {
                  "id": "1",
                  "text": "<s>",
                  "special": true
                },
                {
                  "id": "19078",
                  "text": "▁Управление",
                  "special": false
                },
                {
                  "id": "10810",
                  "text": "▁генера",
                  "special": false
                },
                {
                  "id": "26991",
                  "text": "тивными",
                  "special": false
                },
                {
                  "id": "77514",
                  "text": "▁моделями",
                  "special": false
                },
                {
                  "id": "10578",
                  "text": "▁осуществляется",
                  "special": false
                },
                {
                  "id": "277",
                  "text": "▁с",
                  "special": false
                },
                {
                  "id": "4390",
                  "text": "▁помощью",
                  "special": false
                },
                {
                  "id": "398",
                  "text": "▁про",
                  "special": false
                },
                {
                  "id": "59313",
                  "text": "мп",
                  "special": false
                },
                {
                  "id": "769",
                  "text": "тов",
                  "special": false
                },
                {
                  "id": "125820",
                  "text": ".",
                  "special": false
                },
                {
                  "id": "43429",
                  "text": "▁Эффек",
                  "special": false
                },
                {
                  "id": "7146",
                  "text": "тивный",
                  "special": false
                },
                {
                  "id": "68740",
                  "text": "▁пром",
                  "special": false
                },
                {
                  "id": "7359",
                  "text": "пт",
                  "special": false
                },
                {
                  "id": "4923",
                  "text": "▁должен",
                  "special": false
                },
                {
                  "id": "29443",
                  "text": "▁содержать",
                  "special": false
                },
                {
                  "id": "24719",
                  "text": "▁контек",
                  "special": false
                },
                {
                  "id": "269",
                  "text": "ст",
                  "special": false
                },
                {
                  "id": "43640",
                  "text": "▁запроса",
                  "special": false
                },
                {
                  "id": "355",
                  "text": "▁(",
                  "special": false
                },
                {
                  "id": "98434",
                  "text": "инструк",
                  "special": false
                },
                {
                  "id": "1511",
                  "text": "цию",
                  "special": false
                },
                {
                  "id": "125855",
                  "text": ")",
                  "special": false
                },
                {
                  "id": "571",
                  "text": "▁для",
                  "special": false
                },
                {
                  "id": "6234",
                  "text": "▁модели",
                  "special": false
                },
                {
                  "id": "286",
                  "text": "▁и",
                  "special": false
                },
                {
                  "id": "15616",
                  "text": "▁непосредственно",
                  "special": false
                },
                {
                  "id": "19633",
                  "text": "▁задание",
                  "special": false
                },
                {
                  "id": "125827",
                  "text": ",",
                  "special": false
                },
                {
                  "id": "6050",
                  "text": "▁которое",
                  "special": false
                },
                {
                  "id": "7549",
                  "text": "▁модель",
                  "special": false
                },
                {
                  "id": "7160",
                  "text": "▁должна",
                  "special": false
                },
                {
                  "id": "18879",
                  "text": "▁выполнить",
                  "special": false
                },
                {
                  "id": "125827",
                  "text": ",",
                  "special": false
                },
                {
                  "id": "31323",
                  "text": "▁учитывая",
                  "special": false
                },
                {
                  "id": "818",
                  "text": "▁пере",
                  "special": false
                },
                {
                  "id": "56857",
                  "text": "данный",
                  "special": false
                },
                {
                  "id": "24719",
                  "text": "▁контек",
                  "special": false
                },
                {
                  "id": "269",
                  "text": "ст",
                  "special": false
                },
                {
                  "id": "125820",
                  "text": ".",
                  "special": false
                },
                {
                  "id": "10500",
                  "text": "▁Чем",
                  "special": false
                },
                {
                  "id": "8504",
                  "text": "▁конкре",
                  "special": false
                },
                {
                  "id": "93886",
                  "text": "тнее",
                  "special": false
                },
                {
                  "id": "73199",
                  "text": "▁составлен",
                  "special": false
                },
                {
                  "id": "68740",
                  "text": "▁пром",
                  "special": false
                },
                {
                  "id": "7359",
                  "text": "пт",
                  "special": false
                },
                {
                  "id": "125827",
                  "text": ",",
                  "special": false
                },
                {
                  "id": "1819",
                  "text": "▁тем",
                  "special": false
                },
                {
                  "id": "1800",
                  "text": "▁более",
                  "special": false
                },
                {
                  "id": "470",
                  "text": "▁то",
                  "special": false
                },
                {
                  "id": "10969",
                  "text": "чными",
                  "special": false
                },
                {
                  "id": "3315",
                  "text": "▁будут",
                  "special": false
                },
                {
                  "id": "11306",
                  "text": "▁результаты",
                  "special": false
                },
                {
                  "id": "1630",
                  "text": "▁работы",
                  "special": false
                },
                {
                  "id": "6234",
                  "text": "▁модели",
                  "special": false
                },
                {
                  "id": "125820",
                  "text": ".",
                  "special": false
                },
                {
                  "id": "3",
                  "text": "[NL]",
                  "special": true
                },
                {
                  "id": "8816",
                  "text": "▁Кроме",
                  "special": false
                },
                {
                  "id": "68740",
                  "text": "▁пром",
                  "special": false
                },
                {
                  "id": "35211",
                  "text": "пта",
                  "special": false
                },
                {
                  "id": "324",
                  "text": "▁на",
                  "special": false
                },
                {
                  "id": "11306",
                  "text": "▁результаты",
                  "special": false
                },
                {
                  "id": "103637",
                  "text": "▁генерации",
                  "special": false
                },
                {
                  "id": "16028",
                  "text": "▁моделей",
                  "special": false
                },
                {
                  "id": "3315",
                  "text": "▁будут",
                  "special": false
                },
                {
                  "id": "54120",
                  "text": "▁влиять",
                  "special": false
                },
                {
                  "id": "286",
                  "text": "▁и",
                  "special": false
                },
                {
                  "id": "3669",
                  "text": "▁другие",
                  "special": false
                },
                {
                  "id": "16564",
                  "text": "▁параметры",
                  "special": false
                },
                {
                  "id": "43640",
                  "text": "▁запроса",
                  "special": false
                },
                {
                  "id": "125820",
                  "text": ".",
                  "special": false
                },
                {
                  "id": "38756",
                  "text": "▁Используйте",
                  "special": false
                },
                {
                  "id": "15418",
                  "text": "▁AI",
                  "special": false
                },
                {
                  "id": "118637",
                  "text": "▁Playground",
                  "special": false
                },
                {
                  "id": "125827",
                  "text": ",",
                  "special": false
                },
                {
                  "id": "58115",
                  "text": "▁доступный",
                  "special": false
                },
                {
                  "id": "273",
                  "text": "▁в",
                  "special": false
                },
                {
                  "id": "43319",
                  "text": "▁консоли",
                  "special": false
                },
                {
                  "id": "5320",
                  "text": "▁управления",
                  "special": false
                },
                {
                  "id": "125827",
                  "text": ",",
                  "special": false
                },
                {
                  "id": "1387",
                  "text": "▁чтобы",
                  "special": false
                },
                {
                  "id": "114781",
                  "text": "▁протестировать",
                  "special": false
                },
                {
                  "id": "8523",
                  "text": "▁ваши",
                  "special": false
                },
                {
                  "id": "39192",
                  "text": "▁запросы",
                  "special": false
                },
                {
                  "id": "125820",
                  "text": ".",
                  "special": false
                }
              ],
              "modelVersion": "09.02.2025"
            }
            
  1. Создайте файл tbody.json, содержащий параметры запроса:

    {
              "modelUri": "gpt://<идентификатор_каталога>/yandexgpt",
              "text": "Управление генеративными моделями осуществляется с помощью промптов. Эффективный промпт должен содержать контекст запроса (инструкцию) для модели и непосредственно задание, которое модель должна выполнить, учитывая переданный контекст. Чем конкретнее составлен промпт, тем более точными будут результаты работы модели."
            }
            

    Где <идентификатор_каталога>идентификатор каталога Yandex Cloud, на который у вашего аккаунта есть роль ai.languageModels.user или выше.

  2. Отправьте запрос к модели:

    export IAM_TOKEN=<IAM-токен>
            curl --request POST \
              --header "Authorization: Bearer ${IAM_TOKEN}" \
              --data "@tbody.json" \
              "https://ai.api.cloud.yandex.net/foundationModels/v1/tokenize"
            

    Где:

    • <IAM-токен> — значение IAM-токена, полученного для вашего аккаунта.
    • tbody.json — файл в формате JSON, содержащий параметры запроса.

    Результат выполнения запроса содержит список всех полученных токенов.

    Результат
    {
              "tokens": [
                {
                  "id": "1",
                  "text": "<s>",
                  "special": true
                },
                {
                  "id": "19078",
                  "text": "▁Управление",
                  "special": false
                },
                {
                  "id": "10810",
                  "text": "▁генера",
                  "special": false
                },
                {
                  "id": "26991",
                  "text": "тивными",
                  "special": false
                },
                {
                  "id": "77514",
                  "text": "▁моделями",
                  "special": false
                },
                {
                  "id": "10578",
                  "text": "▁осуществляется",
                  "special": false
                },
                {
                  "id": "277",
                  "text": "▁с",
                  "special": false
                },
                {
                  "id": "4390",
                  "text": "▁помощью",
                  "special": false
                },
                {
                  "id": "398",
                  "text": "▁про",
                  "special": false
                },
                {
                  "id": "59313",
                  "text": "мп",
                  "special": false
                },
                {
                  "id": "769",
                  "text": "тов",
                  "special": false
                },
                {
                  "id": "125820",
                  "text": ".",
                  "special": false
                },
                {
                  "id": "43429",
                  "text": "▁Эффек",
                  "special": false
                },
                {
                  "id": "7146",
                  "text": "тивный",
                  "special": false
                },
                {
                  "id": "68740",
                  "text": "▁пром",
                  "special": false
                },
                {
                  "id": "7359",
                  "text": "пт",
                  "special": false
                },
                {
                  "id": "4923",
                  "text": "▁должен",
                  "special": false
                },
                {
                  "id": "29443",
                  "text": "▁содержать",
                  "special": false
                },
                {
                  "id": "24719",
                  "text": "▁контек",
                  "special": false
                },
                {
                  "id": "269",
                  "text": "ст",
                  "special": false
                },
                {
                  "id": "43640",
                  "text": "▁запроса",
                  "special": false
                },
                {
                  "id": "355",
                  "text": "▁(",
                  "special": false
                },
                {
                  "id": "98434",
                  "text": "инструк",
                  "special": false
                },
                {
                  "id": "1511",
                  "text": "цию",
                  "special": false
                },
                {
                  "id": "125855",
                  "text": ")",
                  "special": false
                },
                {
                  "id": "571",
                  "text": "▁для",
                  "special": false
                },
                {
                  "id": "6234",
                  "text": "▁модели",
                  "special": false
                },
                {
                  "id": "286",
                  "text": "▁и",
                  "special": false
                },
                {
                  "id": "15616",
                  "text": "▁непосредственно",
                  "special": false
                },
                {
                  "id": "19633",
                  "text": "▁задание",
                  "special": false
                },
                {
                  "id": "125827",
                  "text": ",",
                  "special": false
                },
                {
                  "id": "6050",
                  "text": "▁которое",
                  "special": false
                },
                {
                  "id": "7549",
                  "text": "▁модель",
                  "special": false
                },
                {
                  "id": "7160",
                  "text": "▁должна",
                  "special": false
                },
                {
                  "id": "18879",
                  "text": "▁выполнить",
                  "special": false
                },
                {
                  "id": "125827",
                  "text": ",",
                  "special": false
                },
                {
                  "id": "31323",
                  "text": "▁учитывая",
                  "special": false
                },
                {
                  "id": "818",
                  "text": "▁пере",
                  "special": false
                },
                {
                  "id": "56857",
                  "text": "данный",
                  "special": false
                },
                {
                  "id": "24719",
                  "text": "▁контек",
                  "special": false
                },
                {
                  "id": "269",
                  "text": "ст",
                  "special": false
                },
                {
                  "id": "125820",
                  "text": ".",
                  "special": false
                },
                {
                  "id": "10500",
                  "text": "▁Чем",
                  "special": false
                },
                {
                  "id": "8504",
                  "text": "▁конкре",
                  "special": false
                },
                {
                  "id": "93886",
                  "text": "тнее",
                  "special": false
                },
                {
                  "id": "73199",
                  "text": "▁составлен",
                  "special": false
                },
                {
                  "id": "68740",
                  "text": "▁пром",
                  "special": false
                },
                {
                  "id": "7359",
                  "text": "пт",
                  "special": false
                },
                {
                  "id": "125827",
                  "text": ",",
                  "special": false
                },
                {
                  "id": "1819",
                  "text": "▁тем",
                  "special": false
                },
                {
                  "id": "1800",
                  "text": "▁более",
                  "special": false
                },
                {
                  "id": "470",
                  "text": "▁то",
                  "special": false
                },
                {
                  "id": "10969",
                  "text": "чными",
                  "special": false
                },
                {
                  "id": "3315",
                  "text": "▁будут",
                  "special": false
                },
                {
                  "id": "11306",
                  "text": "▁результаты",
                  "special": false
                },
                {
                  "id": "1630",
                  "text": "▁работы",
                  "special": false
                },
                {
                  "id": "6234",
                  "text": "▁модели",
                  "special": false
                },
                {
                  "id": "125820",
                  "text": ".",
                  "special": false
                },
                {
                  "id": "3",
                  "text": "[NL]",
                  "special": true
                },
                {
                  "id": "8816",
                  "text": "▁Кроме",
                  "special": false
                },
                {
                  "id": "68740",
                  "text": "▁пром",
                  "special": false
                },
                {
                  "id": "35211",
                  "text": "пта",
                  "special": false
                },
                {
                  "id": "324",
                  "text": "▁на",
                  "special": false
                },
                {
                  "id": "11306",
                  "text": "▁результаты",
                  "special": false
                },
                {
                  "id": "103637",
                  "text": "▁генерации",
                  "special": false
                },
                {
                  "id": "16028",
                  "text": "▁моделей",
                  "special": false
                },
                {
                  "id": "3315",
                  "text": "▁будут",
                  "special": false
                },
                {
                  "id": "54120",
                  "text": "▁влиять",
                  "special": false
                },
                {
                  "id": "286",
                  "text": "▁и",
                  "special": false
                },
                {
                  "id": "3669",
                  "text": "▁другие",
                  "special": false
                },
                {
                  "id": "16564",
                  "text": "▁параметры",
                  "special": false
                },
                {
                  "id": "43640",
                  "text": "▁запроса",
                  "special": false
                },
                {
                  "id": "125820",
                  "text": ".",
                  "special": false
                },
                {
                  "id": "38756",
                  "text": "▁Используйте",
                  "special": false
                },
                {
                  "id": "15418",
                  "text": "▁AI",
                  "special": false
                },
                {
                  "id": "118637",
                  "text": "▁Playground",
                  "special": false
                },
                {
                  "id": "125827",
                  "text": ",",
                  "special": false
                },
                {
                  "id": "58115",
                  "text": "▁доступный",
                  "special": false
                },
                {
                  "id": "273",
                  "text": "▁в",
                  "special": false
                },
                {
                  "id": "43319",
                  "text": "▁консоли",
                  "special": false
                },
                {
                  "id": "5320",
                  "text": "▁управления",
                  "special": false
                },
                {
                  "id": "125827",
                  "text": ",",
                  "special": false
                },
                {
                  "id": "1387",
                  "text": "▁чтобы",
                  "special": false
                },
                {
                  "id": "114781",
                  "text": "▁протестировать",
                  "special": false
                },
                {
                  "id": "8523",
                  "text": "▁ваши",
                  "special": false
                },
                {
                  "id": "39192",
                  "text": "▁запросы",
                  "special": false
                },
                {
                  "id": "125820",
                  "text": ".",
                  "special": false
                }
              ],
              "modelVersion": "09.02.2025"
            }
            

См. также