Довідка / Архів та інтеграції
Локальне розпізнавання тексту (OCR) та транскрипція
Розпізнавайте захоплені зображення та аудіо за допомогою локального робочого процесу; зберігайте отриманий текст із посиланням на вихідний файл.
Поточна основна версія: використовуйте репозиторій з вихідним кодом; портативна попередня версія 0.7.0 не підтримує цю функцію.
Посібник з організації робочого процесу · Вікі
Відкрийте запис журналу media.saved, виберіть «Розпізнати вкладення», а потім виберіть
«OCR» або «транскрипція» у розділі «Запитати архів». Обробка відбувається вручну та локально.
Режим хмарних носіїв та автоматичне завантаження відсутні. Оригінальні байти вкладення та файл
media_sha256 залишаються незмінними; розпізнаний текст явно позначається як результат
машинного розпізнавання та зберігається окремо разом із хешем джерела, версією двигуна/моделі,
мовою, параметрами та часом завершення. У транскрипціях зберігаються повернуті часові мітки.
Шукайте серед цих результатів за допомогою функції «Пошук розпізнаного тексту» та фільтра OCR/транскрипт. Це окремий пошук за похідними даними; він не перетворює автоматично розпізнаний текст на оригінальний текст Telegram і не додає його до підписаних подій.
Налаштування додаткового робочого процесу#
Версія 1 вимагає хоста під управлінням Linux із локальним демоном Docker. У Windows TgWitness можна запускати у віртуальній машині Linux або середовищі WSL із власним локальним демоном. Панель ніколи не декодує ненадійні вкладення самостійно.
docker build -f deploy/media-worker/Dockerfile -t tgwitness-media:local .
export TGWITNESS_MEDIA_IMAGE=tgwitness-media:local
Встановіть ці змінні в середовищі служби TgWitness і перезапустіть її.
Сокет демона за замовчуванням — /var/run/docker.sock; для розгортань без прав root можна встановити
TGWITNESS_DOCKER_SOCKET. Робочий процес явно використовує цей сокет Unix, а не
віддалений контекст Docker. Не надавайте доступ до API Docker користувачам панелі управління та не монтуйте
його сокет усередині контейнера розпізнавання.
Для транскрипції окремо встановіть модель Whisper, сумісну з CTranslate2,
а потім вкажіть TGWITNESS_WHISPER_MODEL_DIR як її каталог. Робочий процес завантажує її за допомогою
local_files_only=True; вибрана модель та вхідні дані монтуються у режимі «тільки для читання».
Дивіться документацію щодо завантаження моделей двигуна.
Надане зображення OCR містить навчальні дані англійською та російською мовами. За потреби додайте іншу
мову до свого зображення; коди мов відповідають
CLI Tesseract.
Під час обробки моделі не завантажуються. Створення/завантаження інсталяційного файлу може вимагати підключення до мережі;
у кожному контейнері розпізнавання мережеві функції вимкнені. Встановіть образ
перед увімкненням; під час виконання використовується --pull=never.
Обмеження та відновлення#
Контейнер працює як користувач без привілеїв із доступом до кореневого каталогу лише для читання, обмеженими
можливостями, no-new-privileges
, одним процесором, 2 ГіБ пам’яті, обмеженням PID та обмеженою
тимчасовою файловою системою. Монтуються лише перевірена копія вибраного файлу та опціональний
каталог моделі. База даних, сховище та сесія колектора
не монтуються. Ці обмеження забезпечуються прапорами середовища виконання
Docker
; це залишається межею контейнера, а не апаратним анклавом.
Розмір файлів обмежено до 50 МіБ, зображень — до 20 мільйонів пікселів, аудіозаписів — до 30 хвилин із відомою тривалістю, а час обробки — до п’яти хвилин. Одночасно працює лише один робочий процес, з максимум 20 завданнями в черзі/у виконанні та 100 збереженими завданнями на робочу область. Команда «Cancel» зупиняє контейнер; «Retry» створює нове завдання, пов’язане з попередньою спробою. Перервані завдання позначаються після перезапуску. Обробка може завершитися невдачею, якщо модель не відповідає налаштованим обмеженням; без ізоляції вона не працює в тихому режимі.