From 37f4e3e9ee41805df1e95497441c5a9a93070103 Mon Sep 17 00:00:00 2001 From: SERTY Date: Mon, 19 Jan 2026 02:58:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=20deep?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ ocr-service/system-prompt.md | 48 ------------------------------------ pack_go_files.py | 3 ++- 3 files changed, 4 insertions(+), 49 deletions(-) delete mode 100644 ocr-service/system-prompt.md diff --git a/.gitignore b/.gitignore index df54f37..97efebf 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ pack_go_files.py pack_py_files.py pack_react_files.py +ocr-service/python_project_dump.py project_dump.py +temp node_modules \ No newline at end of file diff --git a/ocr-service/system-prompt.md b/ocr-service/system-prompt.md deleted file mode 100644 index 6745b89..0000000 --- a/ocr-service/system-prompt.md +++ /dev/null @@ -1,48 +0,0 @@ -# System Definition: RMSER OCR Service (v2.0) - -## 1. Роль и Назначение -**RMSER OCR Service** — микросервис для интеллектуального извлечения товарных позиций из финансовых документов (чеки, счета, накладные). -Использует гибридный подход: QR-коды, Computer Vision и LLM (Large Language Models). - -## 2. Логика Обработки (Pipeline) - -### Этап А: Поиск QR-кода (Gold Standard) -1. Поиск QR-кода (`pyzbar`). -2. Валидация фискальных признаков (`t=`, `s=`, `fn=`). -3. Запрос к API ФНС (`proverkacheka.com`). -4. **Результат:** `source: "qr_api"`. 100% точность. - -### Этап Б: Yandex Cloud AI (Silver Standard) -*Запускается, если QR не найден.* -1. **OCR:** Отправка изображения в Yandex Vision OCR. Получение сырого текста. -2. **Primary Parsing:** Попытка извлечь данные регулярными выражениями. -3. **Semantic Parsing (LLM):** Если Regex не нашел позиций, текст отправляется в **YandexGPT**. - * Модель структурирует разрозненный текст в JSON. - * Исправляет опечатки, связывает количество и цену, разбросанные по документу. -4. **Результат:** `source: "yandex_vision"`. Высокая точность для любой верстки. - -### Этап В: Локальный OCR (Bronze Fallback) -*Запускается при недоступности облака.* -1. Препроцессинг (OpenCV: Binarization, Deskew). -2. OCR (Tesseract). -3. Парсинг (Regex). -4. **Результат:** `source: "tesseract_ocr"`. Базовая точность. - -## 3. Контракт API - -**POST /recognize** (`multipart/form-data`) - -**Response (JSON):** -```json -{ - "source": "yandex_vision", - "items": [ - { - "raw_name": "Маракуйя - пюре, 250 гр", - "amount": 5.0, - "price": 282.00, - "sum": 1410.00 - } - ], - "raw_text": "..." -} \ No newline at end of file diff --git a/pack_go_files.py b/pack_go_files.py index 2968e32..e61dad7 100644 --- a/pack_go_files.py +++ b/pack_go_files.py @@ -24,7 +24,8 @@ IGNORE_LIST = [ "node_modules", "ftp_cache", "ocr-service", - "rmser-view" + "rmser-view", + "temp" ]