Skip to content

About

Локальное распознавание текста на изображениях с помощью моделей GLM-OCR и PaddleOCR-VL-1.6.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ocr-local

Локальное распознавание текста на изображениях с помощью моделей GLM-OCR и PaddleOCR-VL-1.6. Приложение работает через командную строку и веб-интерфейс, использует заранее загруженные модели и сохраняет результат в текстовый файл.

Структура проекта

.
├── ocr_local/             # Распознавание текста и пользовательские интерфейсы
│   ├── cli.py             # Работа через командную строку
│   ├── service.py         # Общий сервис распознавания
│   ├── model_profiles.py  # Профили моделей и параметры распознавания
│   ├── utils/             # Работа с файлами, моделями и кешем
│   └── web/               # Локальный веб-интерфейс
│       └── static/        # Страница, стили и сценарии браузера
├── scripts/               # Проверки моделей и измерение производительности
├── tests/                 # Автоматические проверки
├── openspec/              # Требования и документация проекта
│   ├── context/           # Начало работы, архитектура, словарь и решения
│   ├── specs/             # Спецификации распознавания, интерфейса и правил работы
│   └── changes/           # Изменения проекта
├── resources/             # Изображения, результаты и кеш
├── logs/                  # Журналы приложения
├── run_web.ps1            # Запуск веб-интерфейса
├── pyproject.toml         # Метаданные пакета и настройки проверок
└── requirements.txt       # Зависимости Python

Начало работы

Начните с контекста проекта: он направляет к описанию возможностей, архитектуре и правилам работы.

Задача Документация
Разобраться в устройстве приложения Архитектура
Подготовить среду и выбрать параметры запуска Среда, команды и настройки
Узнать возможности приложения Распознавание текста и веб-интерфейс
Изменить и проверить код Инженерные правила и локальные проверки
Найти задачи проекта Изменения

Веб-интерфейс на этом компьютере

После подготовки среды и локальных моделей выполните из корня проекта в Windows PowerShell 5.1:

.\run_web.ps1

Откройте http://127.0.0.1:7861 непосредственно в браузере. Разрешены только адреса loopback — 127.0.0.1 и ::1, возвращающие запрос на этот же компьютер. Имя localhost, сетевые адреса и режим -Reload не поддерживаются. Другой порт и IPv6 выбираются параметрами запуска; в браузере нужно использовать ровно выбранный адрес и порт. Доступ из локальной сети и через обратный прокси не предусмотрен.

Главная страница устанавливает закрытый cookie сеанса; браузер передаёт его для API, изображений и потока серверных событий (SSE). После перезапуска приложения обновите главную страницу, чтобы получить новый сеанс. Приложение отклоняет запросы с посторонних сайтов; ограничения доступа описаны в WEB-001.

Разрыв SSE не отменяет распознавание и не запускает его повторно. Интерфейс ждёт результат либо ошибку текущей задачи. В том же процессе итог доступен для повторной доставки в течение 30 минут после завершения; время выполняющегося OCR в этот срок не входит. После истечения срока или перезапуска состояние задачи недоступно: следуйте сообщению интерфейса об обновлении страницы. Полная история сообщений SSE не гарантируется. Правила восстановления определены в WEB-004.

Отказы и сохранность данных

Ответ Действие пользователя
403 — доступ запрещён Откройте главную страницу по выбранному локальному адресу и порту; после перезапуска обновите сеанс.
413 — превышен размер Уменьшите изображение или промпт согласно сообщению.
429 — ресурс временно занят Дождитесь завершения загрузки, закройте лишние потоки или повторите запуск через указанное время; сохранённые итоги не вытесняются ради новой задачи.
507 — недостаточно квоты или места для записи Освободите место вручную, сохранив нужные файлы, и повторите операцию.

Приложение не удаляет автоматически постоянные изображения, TXT и общий кеш ради квоты или по возрасту. Очистка истёкшего состояния задачи также не удаляет сохранённый текст. Пределы приёма, хранения и результатов перечислены в WEB-007. Ошибка уже принятого OCR приходит в потоке событий и не превращается в успешный усечённый результат. Если результат слишком велик, выберите меньший фрагмент изображения для распознавания.

Сообщение об ошибке содержит безопасную причину и идентификатор диагностики. Подробности по этому идентификатору остаются в локальном журнале logs/ocr_local.log; браузер не получает серверные пути или внутренний стек ошибки. Настройка каталогов моделей описана в подготовке среды.

About

Локальное распознавание текста на изображениях с помощью моделей GLM-OCR и PaddleOCR-VL-1.6.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages