Auparavant le JSON de sortie étiquetait systématiquement `ocr_model: "zai-org/GLM-OCR"` et `pipeline_version: "v1"` alors que le pipeline avait été basculé sur Qwen2.5-VL-3B en V2. `_meta` lit désormais `MODEL_PATH` depuis `pipeline.ocr_qwen` pour garantir la cohérence entre le modèle effectivement utilisé et la trace dans le fichier. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
21 lines
706 B
Python
21 lines
706 B
Python
"""Sauvegarde JSON + journal d'exécution."""
|
|
import json
|
|
from datetime import datetime, timezone
|
|
from pathlib import Path
|
|
|
|
DEFAULT_OUT = Path("output/v2")
|
|
|
|
|
|
def save_result(result: dict, out_dir: Path | str = DEFAULT_OUT) -> Path:
|
|
out_dir = Path(out_dir)
|
|
out_dir.mkdir(parents=True, exist_ok=True)
|
|
from .ocr_qwen import MODEL_PATH as OCR_MODEL_ID
|
|
result["_meta"] = {
|
|
"pipeline_version": "v2",
|
|
"ocr_model": OCR_MODEL_ID,
|
|
"generated_at": datetime.now(timezone.utc).isoformat(timespec="seconds"),
|
|
}
|
|
out_path = out_dir / f"{result['fichier']}.json"
|
|
out_path.write_text(json.dumps(result, ensure_ascii=False, indent=2), encoding="utf-8")
|
|
return out_path
|