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_py_files.py
|
||||
pack_react_files.py
|
||||
ocr-service/python_project_dump.py
|
||||
project_dump.py
|
||||
temp
|
||||
|
||||
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",
|
||||
"ftp_cache",
|
||||
"ocr-service",
|
||||
"rmser-view"
|
||||
"rmser-view",
|
||||
"temp"
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user