-
released this
2026-08-29 03:12:23 +00:00 | 0 commits to main since this release얇은 검출 박스 하나가 그 이미지의 OCR 결과를 통째로 날리던 문제(#239)를 고쳤다. 사용자 표면(명령·플래그·config 키·wire 스키마)에는 변화가 없다.
무엇이 문제였나. paddle-onnx 는 검출한 글자 영역을 하나씩 인식 네트워크에 넣는데, 아주 얇은 영역(표 선 조각, 글자 사이 틈, 사진의 가는 무늬)이 하나라도 섞이면 ONNX 런타임이 세션 실행 전체를 실패시켰고, 그 오류가 위로 전파되면서 같은 이미지에서 그때까지 인식해 둔 결과까지 전부 버려졌다. 색인은 "성공"으로 끝나므로 그 문서를 검색해 0 건이 나올 때까지 아무 신호가 없었다.
원인은 폭 하한이 없다는 것이었다. 인식 출력의 타임스텝 수가
ceil((폭 - 4) / 8)이라 폭 4 이하에서 0 이 되고 거기서 Conv 가 터진다. 이제 폭 5 미만은 네트워크에 넣지 않고 그 박스만 버린다.실측 (도그푸딩 말뭉치 이미지 240 개 파일, 같은 모델·같은 설정):
수정 전 수정 후 OCR 성공 204 / 240 240 / 240 OCR 실패 36 (15.0%) 0 되살아난 본문 합계 11,747 자.
charts/Clickpath_Analysis.png은 박스를 119 개 검출하는데 수정 전에는 3 개를 인식한 시점에 세션이 죽어 본문이 0 자였고, 수정 후 87 개 영역 1,116 자가 나온다. 원래 성공하던 204 장은 인식 글자 수가 한 장도 변하지 않았다.업그레이드 전에 읽을 것.
parser_version이 올라가(image-meta-v1→v2,pdf-text-v2→v3) 다음kebab ingest가 기존 이미지·PDF 를 자동 재처리한다.--force-reingest는 필요 없지만 비용이 든다 — 모든 이미지·PDF 문서의doc_id가 바뀌고 store 가 다시 쓰이며, paddle-onnx 를 쓰지 않는 지식 베이스도 같은 비용을 낸다. 그리고 피해 규모를 세려면 색인하기 전에 세야 한다(bump 가 문서 행을 다시 쓰므로 색인 후에는 0 이 나온다).절차·질의·주의사항 전문은 docs/release-notes/v0.33.1-draft.md 에 있다. 실측 evidence 는 tasks/HOTFIXES.md 의 2026-08-28 항목.
영향 범위. paddle-onnx 를 이미지 OCR 엔진으로 고를 수 있게 된 v0.28.0 이후 모든 릴리스가 이 결함을 갖고 있었다.
검증. 워크스페이스 1301 passed / 0 failed / 64 ignored,
cargo clippy --workspace --all-targets -- -D warnings무경고. PR #240 은 5 회차 리뷰를 거쳐 지적��� 19 → 16 → 3 → 1 → 0 으로 수렴했다.Downloads