feat: Add .env.example configuration file and integrate Redis service into Docker Compose for improved task management. Update desktop application to support document indexing and extraction workflows, enhancing user experience with a new extraction wizard and stepper components. Revise README and documentation for clarity on setup and usage.

This commit is contained in:
erik
2026-07-05 22:39:07 -05:00
parent 9aca926988
commit d95f8f6ad8
70 changed files with 9807 additions and 499 deletions
@@ -0,0 +1,49 @@
"""Genera baseline Python desde services-count para comparar con el servicio Go."""
from __future__ import annotations
import json
import os
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
SC_ROOT = Path(os.environ.get("SERVICES_COUNT_ROOT", ROOT.parent / "services-count"))
sys.path.insert(0, str(SC_ROOT / "src"))
from services_count.config import load_config
from services_count.inference import predict_pdf
def python_result(pdf_path: Path) -> dict:
config = load_config(SC_ROOT / "config" / "default.yaml")
features_df, total = predict_pdf(pdf_path, config)
services = []
for row in features_df.itertuples():
if row.prediction == 1:
services.append({
"text": row.texto_fila,
"probability": round(float(row.probability), 4),
})
return {
"filename": pdf_path.name,
"service_count": total,
"status": "ok",
"services": services,
}
def main() -> None:
config = load_config(SC_ROOT / "config" / "default.yaml")
pdfs = sorted(config.pdfs_dir.glob("*.pdf"))
if not pdfs:
raise SystemExit(f"No hay PDFs en {config.pdfs_dir}")
out = ROOT / "data" / "parity_baseline.json"
out.parent.mkdir(parents=True, exist_ok=True)
results = [python_result(p) for p in pdfs]
out.write_text(json.dumps(results, indent=2, ensure_ascii=False), encoding="utf-8")
print(f"Baseline guardado: {out} ({len(results)} PDFs)")
if __name__ == "__main__":
main()