feat(извлечение): надёжное распознавание колонки названий + добор трудных PDF через Vision
- grid: колонки «Код …» и «№» исключены из кандидатов на колонку названий (ключ «услуг» ловил «Код услуги») — клиника с 5181 строкой больше не даёт 0. - vision: авто-добор PDF при пустом или подозрительно низком выходе строк/страницу, замена недобора полным распознаванием, ретраи на лимиты, лимит размера документа. - презентация статуса проекта на /day2; маршрут /day2 в Caddy. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -127,6 +127,14 @@ def pdf_grids(path: str) -> tuple[list[Grid], str]:
|
||||
return [grid], "\n".join(texts)
|
||||
|
||||
|
||||
def pdf_page_count(path: str) -> int:
|
||||
"""Число страниц PDF — нужно для оценки выхода строк и стоимости Vision."""
|
||||
import pdfplumber
|
||||
|
||||
with pdfplumber.open(path) as pdf:
|
||||
return len(pdf.pages)
|
||||
|
||||
|
||||
def is_garbled(text: str, min_letters: int = 200) -> bool:
|
||||
"""Битый текстовый слой: мало кириллицы или много латиницы-мусора.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user