1.4 KiB
1.4 KiB
MVP Auto-classification — план реализации
Итоговый план (Опус + мои правки)
Фаза 1: БД + данные
- ALTER documents — 7 колонок (doc_type, own_number, parent_number, doc_date TEXT, counterparty, classify_status, batch_id)
- db/documents.py — set_classification(), list_pending(batch), list_by_batch(batch)
- db/prompts.py — seed classify prompt
Фаза 2: Классификация
- llm_prompt.py — build_classify_prompt (строгий JSON)
- services/classify.py — умная выжимка + LLM + ThreadPoolExecutor(4)
Фаза 3: Группировка
- services/grouping.py — normalize_number + group_documents + apply_groups
Фаза 4: Эндпоинты
- convert_server.py — POST /classify-batch, GET /api/groups, POST /apply-groups
Фаза 5: UI
- app.js — batch_id, classify button, polling progress, group cards, per-group compare
- index.cfm — version bump only (HTML не меняем)
Мои корректировки к плану Опуса
- batch_id генерируется на клиенте (crypto.randomUUID()), передаётся в upload
- ZIP — фаза 2, сначала multi-upload (уже работает)
- doc_date TEXT (не DATE) — LLM нормализует в ISO, при провале null
- parent_number отдельно от own_number