Распознавание текста (OCR) =========================== Функция распознавания текста (OCR) позволяет автоматически извлекать текст из файлов и бинарного содержимого документов в рамках бизнес-процесса на платформе Synergy. Функция реализована на уровне маршрута реестра и выполняется как отдельный этап маршрута. Назначение функции ------------------ Распознавание текста используется в случаях, когда в процессе обработки документа требуется: * извлечь текст из загруженного файла (сканированного документа, изображения); * автоматически заполнить текстовое поле формы на основе содержимого файла; * исключить ручной ввод данных, уже присутствующих в документе. Функция работает без участия пользователя: после запуска маршрута система самостоятельно обрабатывает файл и помещает распознанный текст в указанное поле. Техническая реализация ---------------------- Для обработки файлов используется self-hosted модель, работающая на CPU. Ключевые характеристики: * модель размещена в Docker-контейнере на отдельном хосте; * при наличии GPU модель автоматически использует его для ускорения обработки; * время обработки зависит от размера файла и объёма бинарного содержимого; * использование мощных LLM не требуется. В качестве альтернативы возможно подключение сторонних решений, включая модели OpenAI. Настройка модели ИИ ------------------- Перед использованием функции необходимо выполнить настройку в разделе администрирования системы. Для этого: 1. Перейдите в раздел **Администрирование**. 2. Откройте **Настройки системы**. 3. Перейдите в подраздел **Настройки ИИ**. 4. Нажмите **«Добавить функцию ИИ»** 5. Укажите **Тип функции** и **Адрес хоста**. 6. Опционально укажите **Модель ИИ** и **API ключ** 7. Сохраните настройки. .. figure:: ../images/ai_settings.png Настройка ИИ функций .. note:: В разделе **Настройки ИИ** можно настроить несколько различных моделей. Это позволяет использовать разные модели для разных задач. Подготовка формы ---------------- Для работы функции OCR форма реестра должна содержать хотя бы два поля: * **Поле файла** - поле, в которое пользователь загружает документ для распознавания; * **Поле текста** - поле, в которое система запишет распознанный текст. Настройка этапа маршрута ------------------------ Функция OCR подключается на уровне этапа маршрута реестра. Для настройки этапа: 1. Откройте маршрут реестра в Synergy IDE. 2. Добавьте новый этап или выберите существующий. 3. В настройках этапа в разделе **Тип действия** выберите **«Функция искусственного интеллекта»**. 4. В поле **«Тип функции ИИ»** выберите **«Распознавание текста»**. 5. В **«Поле-источник данных»** укажите **поле файла** - источник содержимого для распознавания. 6. В **«Поле-приемник данных»** укажите **поле текста** - поле, в которое будет записан результат. 7. Сохраните настройки этапа. .. figure:: ../images/ai_ocr_stage.png Настройка этапа распознавания текста в маршруте Использование функции --------------------- После настройки маршрута и этапа OCR работа с функцией выполняется в следующем порядке: 1. Откройте запись в реестре. 2. Загрузите файл в поле файла формы. 3. Запустите маршрут. 4. Дождитесь завершения этапа распознавания текста. 5. Откройте запись - распознанный текст будет отображён в текстовом поле формы. .. note:: Время ожидания на этапе распознавания зависит от размера файла. Для больших документов обработка может занять больше времени. Поведение системы ----------------- При выполнении этапа распознавания текста: * система автоматически извлекает текст из указанного файла; * распознанный текст записывается в поле текста документа; * пользователю не требуется выполнять дополнительных действий; * после завершения этапа маршрут продолжается в соответствии с настроенной логикой.