[Документация Yandex Cloud](../../../../index.md) > [Yandex Serverless Integrations](../../../index.md) > [Пошаговые инструкции](../../index.md) > Workflows > [Конструктор шагов рабочего процесса](index.md) > Интеграционные шаги > OCR

# Распознавание текста на изображении

{% note tip %}

В интерфейсе Yandex AI Studio некоторые поля отмечены значком ![image](../../../../_assets/console-icons/curly-brackets.svg). В таких полях можно указывать [шаблоны](../../../concepts/workflows/templating.md) и динамически получать данные из предыдущих шагов рабочего процесса. Чтобы не писать шаблон вручную, нажмите ![image](../../../../_assets/console-icons/curly-brackets.svg) или введите в поле `{{`.

{% endnote %}

{% list tabs %}

- Консоль управления {#console}

  1. В процессе [создания](../workflow/create-constructor.md) нового рабочего процесса или [изменения](../workflow/update.md) существующего в консоли управления в блоке **Создание рабочего процесса** / **Изменение рабочего процесса** выберите `Конструктор`. 
  1. Из секции **AI Studio** в левой части экрана перетащите элемент **OCR** в нужное место рабочего процесса в окне конструктора.

      Перетаскивать шаги можно в обозначенные пунктирной линией блоки на графической схеме рабочего процесса, такие как **Добавить шаг** и т.п.
  1. В окне со схемой рабочего процесса нажмите на добавленный блок **OCR**, чтобы выбрать его.
  1. В правой части окна на вкладке **Настройки**:

      1. В поле **Имя шага** задайте имя шага рабочего процесса.
      1. В поле **Формат файла** выберите формат файла с изображением, на котором хотите распознавать текст.
      1. В поле **Языки** выберите языки для распознавания текста.
      1. В поле **Модель** выберите модель распознавания.
      1. В блоке **Источник** выберите:

          * `URL`, чтобы указать публичный URL, по которому доступен файл с изображением.
          * `Object Storage`, чтобы указать [бакет](../../../../storage/concepts/bucket.md) Object Storage, в котором находится файл с изображением, и имя объекта с файлом, например `prefix/subprefix/data.png`.
          * `Яндекс Диск`, чтобы указать путь к файлу с изображением на Яндекс Диске и (опционально) [метку](https://yandex.ru/dev/disk-api/doc/ru/reference/content_shd#query) общего диска.

              Для аутентификации на Яндекс Диске в секции **OAuth-токен** укажите [OAuth-токен приложения](https://yandex.ru/dev/disk-api/doc/ru/concepts/quickstart#oauth) или [секрет](../../../../lockbox/concepts/secret.md) Yandex Lockbox, в котором сохранен этот токен. Выберите:

              * `Lockbox`, чтобы хранить OAuth-токен в секрете, и в блоке **Секрет** выберите секрет, его [версию](../../../../lockbox/concepts/secret.md#version) и ключ, в которых сохранен OAuth-токен.

                  Если у вас еще нет секрета Yandex Lockbox, нажмите кнопку **Создать**, чтобы создать его.
                
              * `Текст`, чтобы хранить OAuth-токен в спецификации в виде текста, и в поле **Значение** введите OAuth-токен.

                  {% note warning %}

                  Хранить OAuth-токен в открытом виде в тексте спецификации небезопасно.

                  {% endnote %}

          * `Base64`, чтобы указать изображение в кодировке Base64.

      1. (Опционально) В поле **Таймаут, мс** задайте максимальное время выполнения текущего шага.
      1. (Опционально) Чтобы задать для шага собственную политику повторных попыток, разверните блок **Политика повторных попыток** и нажмите кнопку ![plus](../../../../_assets/console-icons/plus.svg) **Политика повторных попыток**. В появившейся форме:
         
         1. (Опционально) В поле **Начальная задержка, мс** задайте начальное значение задержки между повторными попытками выполнения шага.
         1. (Опционально) В поле **Скорость изменения задержки** задайте коэффициент, на который будет умножаться время задержки перед каждой повторной попыткой выполнения шага.
         1. (Опционально) В поле **Максимальная задержка, мс** задайте значение максимальной задержки между повторными попытками выполнения шага.
         1. В поле **Ошибки** выберите ошибки, для которых будут (или, наоборот, не будут) сделаны повторные попытки выполнения шага.
         
             Подробная информация о возможных ошибках приведена в разделе [Возможные коды ошибок](../../../concepts/workflows/execution.md#errors).
         1. (Опционально) В поле **Количество повторных попыток** задайте максимальное количество повторных попыток выполнения шага.
         1. В поле **Режим выбора ошибок** выберите:
         
             * `INCLUDE` — чтобы делать для шага повторные попытки выполнения при возникновении ошибок, указанных в поле **Ошибки**.
             * `EXCLUDE` — чтобы делать для шага повторные попытки выполнения при возникновении любых ошибок, за исключением ошибок, указанных в поле **Ошибки**.
         
         Если вы хотите удалить политику повторных попыток, ранее созданную для шага, в строке **Политика повторных попыток** нажмите ![ellipsis](../../../../_assets/console-icons/ellipsis.svg) и выберите **Удалить**.
         
         Если для шага не настроена собственная политика повторных попыток, к нему будет применяться политика повторных попыток, [заданная для всего рабочего процесса](setup-restart-policy.md).
  1. (Опционально) Перейдите на вкладку **Вход** и задайте [jq-шаблон](../../../concepts/workflows/templating.md) для фильтрации [состояния рабочего процесса](../../../concepts/workflows/workflow.md#state), которое передается в шаг.
  1. (Опционально) Перейдите на вкладку **Выход** и задайте [jq-шаблон](../../../concepts/workflows/templating.md) для фильтрации выходных данных шага, которые добавляются в [состояние рабочего процесса](../../../concepts/workflows/workflow.md#state).
  1. (Опционально) [Добавьте](setup-catch-rule.md) для создаваемого шага [правило перехода по ошибкам](../../../concepts/workflows/yawl/index.md#catchrule), которые могут возникать во время выполнения этого шага.

{% endlist %}

## Полезные ссылки {#see-also}

* [Спецификация YaWL](../../../concepts/workflows/yawl/integration/ocr.md)
* [Создать рабочий процесс с помощью конструктора](../workflow/create-constructor.md)
* [Изменить рабочий процесс](../workflow/update.md)