mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-04 19:02:33 -06:00
перед deep
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -4,6 +4,8 @@
|
|||||||
pack_go_files.py
|
pack_go_files.py
|
||||||
pack_py_files.py
|
pack_py_files.py
|
||||||
pack_react_files.py
|
pack_react_files.py
|
||||||
|
ocr-service/python_project_dump.py
|
||||||
project_dump.py
|
project_dump.py
|
||||||
|
temp
|
||||||
|
|
||||||
node_modules
|
node_modules
|
||||||
@@ -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": "..."
|
|
||||||
}
|
|
||||||
@@ -24,7 +24,8 @@ IGNORE_LIST = [
|
|||||||
"node_modules",
|
"node_modules",
|
||||||
"ftp_cache",
|
"ftp_cache",
|
||||||
"ocr-service",
|
"ocr-service",
|
||||||
"rmser-view"
|
"rmser-view",
|
||||||
|
"temp"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user