update source code and pipeline
560
filter/analyze_labels.py
Normal file
@@ -0,0 +1,560 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Analyze 'label' fields in a JSON dataset and produce summaries.
|
||||
|
||||
- Handles entries where 'label' is either an object or a list of objects.
|
||||
- Computes distributions (is_bill, profession, currency, IDs presence, handwriting/rotation).
|
||||
- Computes numeric stats (total_billed, amount_paid, remaining_payment, coverages).
|
||||
- Parses dates and shows temporal distribution.
|
||||
- Analyzes items: count, sum of amounts and coverages, and mismatches vs total_billed.
|
||||
- Emits a concise stdout summary and writes CSVs and a Markdown report.
|
||||
|
||||
Usage:
|
||||
python analyze_labels.py --input 008_label_data_sample_seed_1997.json --out-dir .
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import csv
|
||||
import json
|
||||
import math
|
||||
import re
|
||||
from collections import Counter
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
from statistics import mean, median
|
||||
from typing import Any, Dict, Iterable, List, Optional, Tuple
|
||||
|
||||
|
||||
NUMERIC_FIELDS = [
|
||||
"total_billed",
|
||||
"amount_paid",
|
||||
"remaining_payment",
|
||||
"client_part",
|
||||
"mandatory_coverage",
|
||||
"complementary_coverage",
|
||||
]
|
||||
|
||||
|
||||
def parse_args() -> argparse.Namespace:
|
||||
p = argparse.ArgumentParser(description="Analyze 'label' fields in JSON dataset")
|
||||
p.add_argument("--input", required=True, help="Path to JSON file (list of records)")
|
||||
p.add_argument(
|
||||
"--out-dir", default=None, help="Output directory for reports (default: alongside input)"
|
||||
)
|
||||
p.add_argument(
|
||||
"--max-professions", type=int, default=50, help="Max professions to list in report"
|
||||
)
|
||||
p.add_argument(
|
||||
"--no-plots",
|
||||
action="store_true",
|
||||
help="Disable generating plots (PNG) and embedding into report",
|
||||
)
|
||||
p.add_argument(
|
||||
"--plot-top-k",
|
||||
type=int,
|
||||
default=20,
|
||||
help="Top-K categories to visualize for profession/currency",
|
||||
)
|
||||
p.add_argument(
|
||||
"--plot-format",
|
||||
type=str,
|
||||
default="png",
|
||||
choices=["png", "jpg", "jpeg"],
|
||||
help="Image format for plots",
|
||||
)
|
||||
return p.parse_args()
|
||||
|
||||
|
||||
def load_json(path: Path) -> List[Dict[str, Any]]:
|
||||
with path.open("r", encoding="utf-8") as f:
|
||||
data = json.load(f)
|
||||
if not isinstance(data, list):
|
||||
raise ValueError("Top-level JSON must be a list of records")
|
||||
return data
|
||||
|
||||
|
||||
def to_bool(value: Any) -> Optional[bool]:
|
||||
if value is None:
|
||||
return None
|
||||
if isinstance(value, bool):
|
||||
return value
|
||||
if isinstance(value, (int, float)):
|
||||
return bool(value)
|
||||
if isinstance(value, str):
|
||||
v = value.strip().lower()
|
||||
if v in {"true", "t", "1", "yes", "y"}:
|
||||
return True
|
||||
if v in {"false", "f", "0", "no", "n"}:
|
||||
return False
|
||||
return None
|
||||
|
||||
|
||||
def to_float(value: Any) -> Optional[float]:
|
||||
if value is None or value == "":
|
||||
return None
|
||||
try:
|
||||
return float(value)
|
||||
except (TypeError, ValueError):
|
||||
return None
|
||||
|
||||
|
||||
def parse_date(value: Any) -> Optional[datetime]:
|
||||
if not value or not isinstance(value, str):
|
||||
return None
|
||||
s = value.strip()
|
||||
if not s:
|
||||
return None
|
||||
# Common patterns (day-first)
|
||||
fmts = [
|
||||
"%d-%m-%Y",
|
||||
"%d/%m/%Y",
|
||||
"%Y-%m-%d",
|
||||
"%d-%m-%y",
|
||||
"%d/%m/%y",
|
||||
]
|
||||
for fmt in fmts:
|
||||
try:
|
||||
return datetime.strptime(s, fmt)
|
||||
except ValueError:
|
||||
pass
|
||||
# Try to extract a date-like token using regex (e.g., 2025-02-07 or 07-02-2025)
|
||||
m = re.search(r"(\d{2}[/-]\d{2}[/-]\d{4}|\d{4}-\d{2}-\d{2})", s)
|
||||
if m:
|
||||
token = m.group(1)
|
||||
for fmt in fmts:
|
||||
try:
|
||||
return datetime.strptime(token, fmt)
|
||||
except ValueError:
|
||||
continue
|
||||
return None
|
||||
|
||||
|
||||
def safe_get(d: Dict[str, Any], key: str, default=None):
|
||||
return d.get(key, default)
|
||||
|
||||
|
||||
def flatten_labels(records: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
|
||||
out: List[Dict[str, Any]] = []
|
||||
for rec in records:
|
||||
src_image = rec.get("image") or ",".join(rec.get("image_files", []) or [])
|
||||
label = rec.get("label")
|
||||
if label is None:
|
||||
continue
|
||||
if isinstance(label, list):
|
||||
for idx, lab in enumerate(label):
|
||||
if not isinstance(lab, dict):
|
||||
continue
|
||||
o = dict(lab)
|
||||
o["__source_image__"] = src_image
|
||||
o["__multi_index__"] = idx
|
||||
out.append(o)
|
||||
elif isinstance(label, dict):
|
||||
o = dict(label)
|
||||
o["__source_image__"] = src_image
|
||||
out.append(o)
|
||||
return out
|
||||
|
||||
|
||||
def presence_counts(labels: List[Dict[str, Any]], fields: Iterable[str]) -> Dict[str, int]:
|
||||
counts: Dict[str, int] = {}
|
||||
for field in fields:
|
||||
present = 0
|
||||
for lbl in labels:
|
||||
if safe_get(lbl, field) not in (None, ""):
|
||||
present += 1
|
||||
counts[field] = present
|
||||
return counts
|
||||
|
||||
|
||||
def numeric_summary(values: List[Optional[float]]) -> Dict[str, Any]:
|
||||
clean = [v for v in values if isinstance(v, (int, float)) and not math.isnan(v)]
|
||||
if not clean:
|
||||
return {"count": 0}
|
||||
return {
|
||||
"count": len(clean),
|
||||
"min": min(clean),
|
||||
"p25": percentile(clean, 25),
|
||||
"median": median(clean),
|
||||
"p75": percentile(clean, 75),
|
||||
"max": max(clean),
|
||||
"mean": mean(clean),
|
||||
"sum": sum(clean),
|
||||
"missing": len(values) - len(clean),
|
||||
}
|
||||
|
||||
|
||||
def percentile(arr: List[float], p: float) -> float:
|
||||
if not arr:
|
||||
return float("nan")
|
||||
a = sorted(arr)
|
||||
k = (len(a) - 1) * (p / 100.0)
|
||||
f = math.floor(k)
|
||||
c = math.ceil(k)
|
||||
if f == c:
|
||||
return a[int(k)]
|
||||
d0 = a[f] * (c - k)
|
||||
d1 = a[c] * (k - f)
|
||||
return d0 + d1
|
||||
|
||||
|
||||
def write_csv(path: Path, headers: List[str], rows: Iterable[Iterable[Any]]) -> None:
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
with path.open("w", encoding="utf-8", newline="") as f:
|
||||
w = csv.writer(f)
|
||||
w.writerow(headers)
|
||||
for row in rows:
|
||||
w.writerow(row)
|
||||
|
||||
|
||||
def try_import_matplotlib():
|
||||
try:
|
||||
import matplotlib # type: ignore[import-not-found]
|
||||
matplotlib.use("Agg") # headless backend
|
||||
import matplotlib.pyplot as plt # type: ignore[import-not-found]
|
||||
return plt
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
|
||||
def save_bar_plot(plt, x_labels: List[str], values: List[float], title: str, out_path: Path, rotation: int = 0):
|
||||
out_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
fig, ax = plt.subplots(figsize=(max(6, min(14, 0.4 * len(x_labels) + 3)), 4))
|
||||
ax.bar(range(len(values)), values, color="#4C78A8")
|
||||
ax.set_title(title)
|
||||
ax.set_ylabel("count")
|
||||
ax.set_xticks(range(len(x_labels)))
|
||||
ax.set_xticklabels(x_labels, rotation=rotation, ha="right" if rotation else "center")
|
||||
fig.tight_layout()
|
||||
fig.savefig(out_path, dpi=150)
|
||||
plt.close(fig)
|
||||
|
||||
|
||||
def save_hist_plot(plt, values: List[float], title: str, out_path: Path, bins: int = 30):
|
||||
out_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
fig, ax = plt.subplots(figsize=(7, 4))
|
||||
ax.hist(values, bins=bins, color="#72B7B2", edgecolor="white")
|
||||
ax.set_title(title)
|
||||
ax.set_ylabel("count")
|
||||
ax.set_xlabel("value")
|
||||
fig.tight_layout()
|
||||
fig.savefig(out_path, dpi=150)
|
||||
plt.close(fig)
|
||||
|
||||
|
||||
def produce_plots(
|
||||
out_dir: Path,
|
||||
args: argparse.Namespace,
|
||||
is_bill_counter: Counter,
|
||||
bill_paid_counter: Counter,
|
||||
handwriting_counter: Counter,
|
||||
rotation_counter: Counter,
|
||||
profession_counter: Counter,
|
||||
currency_counter: Counter,
|
||||
year_month_counter: Counter,
|
||||
numeric_data: Dict[str, List[Optional[float]]],
|
||||
items_per_label: List[int],
|
||||
) -> List[Path]:
|
||||
"""Generate plots and return list of created file paths."""
|
||||
if args.no_plots:
|
||||
return []
|
||||
plt = try_import_matplotlib()
|
||||
if plt is None:
|
||||
# matplotlib not available; skip plotting gracefully
|
||||
return []
|
||||
|
||||
created: List[Path] = []
|
||||
plots_dir = out_dir / "plots"
|
||||
ext = args.plot_format
|
||||
|
||||
# is_bill
|
||||
if is_bill_counter:
|
||||
labels = [str(k) for k, _ in is_bill_counter.items()]
|
||||
vals = [v for _, v in is_bill_counter.items()]
|
||||
p = plots_dir / f"is_bill.{ext}"
|
||||
save_bar_plot(plt, labels, vals, "is_bill distribution", p)
|
||||
created.append(p)
|
||||
|
||||
# bill_paid
|
||||
if bill_paid_counter:
|
||||
labels = [str(k) for k, _ in bill_paid_counter.items()]
|
||||
vals = [v for _, v in bill_paid_counter.items()]
|
||||
p = plots_dir / f"bill_paid.{ext}"
|
||||
save_bar_plot(plt, labels, vals, "bill_paid distribution", p)
|
||||
created.append(p)
|
||||
|
||||
# Flags
|
||||
if handwriting_counter:
|
||||
labels = [str(k) for k, _ in handwriting_counter.items()]
|
||||
vals = [v for _, v in handwriting_counter.items()]
|
||||
p = plots_dir / f"is_handwriting.{ext}"
|
||||
save_bar_plot(plt, labels, vals, "is_handwriting", p)
|
||||
created.append(p)
|
||||
if rotation_counter:
|
||||
labels = [str(k) for k, _ in rotation_counter.items()]
|
||||
vals = [v for _, v in rotation_counter.items()]
|
||||
p = plots_dir / f"is_rotated.{ext}"
|
||||
save_bar_plot(plt, labels, vals, "is_rotated", p)
|
||||
created.append(p)
|
||||
|
||||
# Professions (top-K)
|
||||
if profession_counter:
|
||||
top = profession_counter.most_common(max(1, min(args.plot_top_k, len(profession_counter))))
|
||||
labels = [k if len(str(k)) <= 20 else str(k)[:17] + "…" for k, _ in top]
|
||||
vals = [v for _, v in top]
|
||||
p = plots_dir / f"professions_top{len(labels)}.{ext}"
|
||||
save_bar_plot(plt, labels, vals, f"Top {len(labels)} professions", p, rotation=45)
|
||||
created.append(p)
|
||||
|
||||
# Currency
|
||||
if currency_counter:
|
||||
top = currency_counter.most_common(max(1, min(args.plot_top_k, len(currency_counter))))
|
||||
labels = [str(k) for k, _ in top]
|
||||
vals = [v for _, v in top]
|
||||
p = plots_dir / f"currency.{ext}"
|
||||
save_bar_plot(plt, labels, vals, "Currency distribution", p)
|
||||
created.append(p)
|
||||
|
||||
# Year-month
|
||||
if year_month_counter:
|
||||
items = sorted(year_month_counter.items(), key=lambda x: (x[0][0], x[0][1]))
|
||||
labels = [f"{y:04d}-{m:02d}" for (y, m), _ in items]
|
||||
vals = [v for _, v in items]
|
||||
p = plots_dir / f"invoice_year_month.{ext}"
|
||||
save_bar_plot(plt, labels, vals, "Invoices by year-month", p, rotation=45)
|
||||
created.append(p)
|
||||
|
||||
# Items per label
|
||||
if items_per_label:
|
||||
p = plots_dir / f"items_per_label.{ext}"
|
||||
save_hist_plot(plt, items_per_label, "Items per label (histogram)", p, bins=min(30, max(5, int(len(items_per_label) ** 0.5))))
|
||||
created.append(p)
|
||||
|
||||
# Numeric fields histograms
|
||||
for k, vals_all in numeric_data.items():
|
||||
vals = [float(v) for v in vals_all if isinstance(v, (int, float)) and not math.isnan(v)]
|
||||
if not vals:
|
||||
continue
|
||||
p = plots_dir / f"hist_{k}.{ext}"
|
||||
save_hist_plot(plt, vals, f"{k} (histogram)", p)
|
||||
created.append(p)
|
||||
|
||||
return created
|
||||
|
||||
|
||||
def main() -> None:
|
||||
args = parse_args()
|
||||
in_path = Path(args.input).resolve()
|
||||
out_dir = Path(args.out_dir).resolve() if args.out_dir else in_path.parent
|
||||
out_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
records = load_json(in_path)
|
||||
labels = flatten_labels(records)
|
||||
n_total_rec = len(records)
|
||||
n_labels = len(labels)
|
||||
|
||||
# Normalize some fields
|
||||
for lbl in labels:
|
||||
lbl["is_bill"] = to_bool(lbl.get("is_bill"))
|
||||
lbl["bill_paid"] = to_bool(lbl.get("bill_paid"))
|
||||
# Normalize numeric fields in-place for ease of stats
|
||||
for k in NUMERIC_FIELDS:
|
||||
lbl[k] = to_float(lbl.get(k))
|
||||
|
||||
# Basic distributions
|
||||
is_bill_counter = Counter(lbl.get("is_bill") for lbl in labels)
|
||||
bill_paid_counter = Counter(lbl.get("bill_paid") for lbl in labels)
|
||||
currency_counter = Counter(lbl.get("currency") for lbl in labels if lbl.get("currency"))
|
||||
profession_counter = Counter((lbl.get("profession") or "").strip() or "(missing)" for lbl in labels)
|
||||
|
||||
# Presence of identifiers and key fields
|
||||
id_presence = presence_counts(labels, [
|
||||
"adeli_number",
|
||||
"rpps_number",
|
||||
"finess_number",
|
||||
"prescripteur_finess_number",
|
||||
"doctor_name",
|
||||
"invoice_issuer",
|
||||
"insured_name",
|
||||
"beneficiary_name",
|
||||
"security_number",
|
||||
"currency",
|
||||
])
|
||||
|
||||
# Handwriting/rotation flags
|
||||
handwriting_counter = Counter(to_bool(lbl.get("is_handwriting")) for lbl in labels)
|
||||
rotation_counter = Counter(to_bool(lbl.get("is_rotated")) for lbl in labels)
|
||||
|
||||
# Numeric stats
|
||||
numeric_stats: Dict[str, Dict[str, Any]] = {}
|
||||
for k in NUMERIC_FIELDS:
|
||||
numeric_stats[k] = numeric_summary([lbl.get(k) for lbl in labels])
|
||||
# Keep raw numeric data for histograms
|
||||
numeric_raw: Dict[str, List[Optional[float]]] = {k: [lbl.get(k) for lbl in labels] for k in NUMERIC_FIELDS}
|
||||
|
||||
# Dates
|
||||
invoice_dates = [parse_date(lbl.get("invoice_date")) for lbl in labels]
|
||||
invoice_dates_clean = [d for d in invoice_dates if d is not None]
|
||||
year_month_counter = Counter((d.year, d.month) for d in invoice_dates_clean)
|
||||
|
||||
# Items analysis
|
||||
items_per_label: List[int] = []
|
||||
sum_item_amount: List[Optional[float]] = []
|
||||
sum_item_mandatory: List[Optional[float]] = []
|
||||
mismatch_records: List[Tuple[str, Optional[float], Optional[float], Optional[float]]] = []
|
||||
|
||||
for lbl in labels:
|
||||
items = lbl.get("items") or []
|
||||
if not isinstance(items, list):
|
||||
items = []
|
||||
items_per_label.append(len(items))
|
||||
s_amount = None
|
||||
s_mand = None
|
||||
for it in items:
|
||||
if not isinstance(it, dict):
|
||||
continue
|
||||
a = to_float(it.get("amount"))
|
||||
m = to_float(it.get("mandatory_coverage"))
|
||||
s_amount = (s_amount or 0.0) + (a or 0.0)
|
||||
s_mand = (s_mand or 0.0) + (m or 0.0)
|
||||
sum_item_amount.append(s_amount)
|
||||
sum_item_mandatory.append(s_mand)
|
||||
total_billed = to_float(lbl.get("total_billed"))
|
||||
if total_billed is not None and s_amount is not None:
|
||||
diff = total_billed - s_amount
|
||||
if abs(diff) > 1e-6:
|
||||
mismatch_records.append((
|
||||
str(lbl.get("__source_image__")), total_billed, s_amount, diff
|
||||
))
|
||||
|
||||
# Data quality issues
|
||||
issues: List[Dict[str, Any]] = []
|
||||
for lbl in labels:
|
||||
src = str(lbl.get("__source_image__"))
|
||||
# is_bill must be True/False or None (unknown); flag strings that could not be parsed
|
||||
if "is_bill" in lbl and not isinstance(lbl.get("is_bill"), (bool, type(None))):
|
||||
issues.append({"source": src, "issue": "is_bill not boolean"})
|
||||
# bill_paid True but amount_paid missing
|
||||
if lbl.get("bill_paid") is True and to_float(lbl.get("amount_paid")) is None:
|
||||
issues.append({"source": src, "issue": "bill_paid True but amount_paid missing"})
|
||||
# remaining_payment > 0 but bill_paid True
|
||||
rp = to_float(lbl.get("remaining_payment"))
|
||||
if lbl.get("bill_paid") is True and (rp or 0) > 0:
|
||||
issues.append({"source": src, "issue": "bill_paid True but remaining_payment > 0"})
|
||||
# Negative or zero amounts on items
|
||||
items = lbl.get("items") or []
|
||||
if isinstance(items, list):
|
||||
for idx, it in enumerate(items):
|
||||
if not isinstance(it, dict):
|
||||
continue
|
||||
a = to_float(it.get("amount"))
|
||||
if a is not None and a < 0:
|
||||
issues.append({"source": src, "issue": f"item[{idx}].amount negative: {a}"})
|
||||
q = to_float(it.get("quantity"))
|
||||
if q is None:
|
||||
# Not strictly an issue, but mark for completeness
|
||||
issues.append({"source": src, "issue": f"item[{idx}].quantity missing"})
|
||||
# Missing currency on bill
|
||||
if lbl.get("is_bill") is True and not lbl.get("currency"):
|
||||
issues.append({"source": src, "issue": "currency missing for bill"})
|
||||
|
||||
# Outputs
|
||||
# 1) CSVs
|
||||
write_csv(out_dir / "professions_counts.csv", ["profession", "count"], profession_counter.most_common())
|
||||
write_csv(out_dir / "currency_counts.csv", ["currency", "count"], currency_counter.most_common())
|
||||
write_csv(out_dir / "is_bill_counts.csv", ["is_bill", "count"], is_bill_counter.items())
|
||||
write_csv(out_dir / "bill_paid_counts.csv", ["bill_paid", "count"], bill_paid_counter.items())
|
||||
write_csv(out_dir / "id_presence.csv", ["field", "present_count"], id_presence.items())
|
||||
write_csv(out_dir / "item_total_billed_mismatches.csv", ["source_image", "total_billed", "sum_item_amount", "diff"], mismatch_records)
|
||||
write_csv(out_dir / "issues.csv", ["source", "issue"], ((i["source"], i["issue"]) for i in issues))
|
||||
|
||||
# 2) Markdown report
|
||||
md = []
|
||||
md.append("# Label Analysis Report\n")
|
||||
md.append(f"Input: `{in_path.name}`\n")
|
||||
md.append("")
|
||||
md.append("## Overview\n")
|
||||
md.append(f"- Total records: {n_total_rec}")
|
||||
md.append(f"- Total labels (flattened): {n_labels}")
|
||||
md.append(f"- is_bill distribution: {dict(is_bill_counter)}")
|
||||
md.append(f"- bill_paid distribution: {dict(bill_paid_counter)}")
|
||||
if invoice_dates_clean:
|
||||
md.append(
|
||||
f"- Invoice dates span: {min(invoice_dates_clean).date()} .. {max(invoice_dates_clean).date()}"
|
||||
)
|
||||
md.append(f"- Unique year-month pairs: {len(year_month_counter)}")
|
||||
else:
|
||||
md.append("- Invoice dates: none parseable")
|
||||
|
||||
md.append("\n## Professions (top)\n")
|
||||
for prof, cnt in profession_counter.most_common(args.max_professions):
|
||||
md.append(f"- {prof}: {cnt}")
|
||||
|
||||
md.append("\n## Currency distribution\n")
|
||||
for cur, cnt in currency_counter.most_common():
|
||||
md.append(f"- {cur}: {cnt}")
|
||||
|
||||
md.append("\n## Identifier and key field presence\n")
|
||||
for k, v in id_presence.items():
|
||||
md.append(f"- {k}: {v} present")
|
||||
|
||||
md.append("\n## Flags\n")
|
||||
md.append(f"- is_handwriting: {dict(handwriting_counter)}")
|
||||
md.append(f"- is_rotated: {dict(rotation_counter)}")
|
||||
|
||||
md.append("\n## Numeric summaries\n")
|
||||
for k, stats in numeric_stats.items():
|
||||
md.append(f"- {k}: {stats}")
|
||||
|
||||
if items_per_label:
|
||||
md.append("\n## Items analysis\n")
|
||||
md.append(f"- Items per label: count={len(items_per_label)}, min={min(items_per_label)}, max={max(items_per_label)}, mean={mean(items_per_label):.2f}")
|
||||
n_mismatch = len(mismatch_records)
|
||||
md.append(f"- total_billed vs sum(items.amount) mismatches: {n_mismatch}")
|
||||
|
||||
if issues:
|
||||
md.append("\n## Data quality issues (sample)\n")
|
||||
for row in issues[:50]:
|
||||
md.append(f"- {row['source']}: {row['issue']}")
|
||||
|
||||
# 3) Plots (if enabled)
|
||||
created_plots = produce_plots(
|
||||
out_dir=out_dir,
|
||||
args=args,
|
||||
is_bill_counter=is_bill_counter,
|
||||
bill_paid_counter=bill_paid_counter,
|
||||
handwriting_counter=handwriting_counter,
|
||||
rotation_counter=rotation_counter,
|
||||
profession_counter=profession_counter,
|
||||
currency_counter=currency_counter,
|
||||
year_month_counter=year_month_counter,
|
||||
numeric_data=numeric_raw,
|
||||
items_per_label=items_per_label,
|
||||
)
|
||||
if created_plots:
|
||||
md.append("\n## Plots\n")
|
||||
for p in created_plots:
|
||||
rel = p.relative_to(out_dir)
|
||||
md.append(f"- {p.stem}")
|
||||
md.append(f"})\n")
|
||||
elif not args.no_plots:
|
||||
md.append("\n## Plots\n")
|
||||
md.append("- matplotlib not available or no data to plot.")
|
||||
|
||||
report_path = out_dir / "label_analysis_report.md"
|
||||
report_path.write_text("\n".join(md), encoding="utf-8")
|
||||
|
||||
# Console summary
|
||||
print("Label analysis complete.")
|
||||
print(f"- Records: {n_total_rec}, Labels: {n_labels}")
|
||||
print(f"- is_bill: {dict(is_bill_counter)} | bill_paid: {dict(bill_paid_counter)}")
|
||||
print(f"- Professions (top 10): {profession_counter.most_common(10)}")
|
||||
print(f"- Currency: {dict(currency_counter)}")
|
||||
print(f"Report written to: {report_path}")
|
||||
if created_plots:
|
||||
print(f"- Plots saved under: {(out_dir / 'plots').as_posix()} ({len(created_plots)} files)")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
4
filter/check_008/bill_paid_counts.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
bill_paid,count
|
||||
False,68
|
||||
True,1015
|
||||
,180
|
|
3
filter/check_008/currency_counts.csv
Normal file
@@ -0,0 +1,3 @@
|
||||
currency,count
|
||||
EUR,1135
|
||||
F,2
|
|
11
filter/check_008/id_presence.csv
Normal file
@@ -0,0 +1,11 @@
|
||||
field,present_count
|
||||
adeli_number,898
|
||||
rpps_number,182
|
||||
finess_number,139
|
||||
prescripteur_finess_number,41
|
||||
doctor_name,1040
|
||||
invoice_issuer,1120
|
||||
insured_name,208
|
||||
beneficiary_name,1093
|
||||
security_number,492
|
||||
currency,1137
|
|
3
filter/check_008/is_bill_counts.csv
Normal file
@@ -0,0 +1,3 @@
|
||||
is_bill,count
|
||||
True,1124
|
||||
False,139
|
|
279
filter/check_008/issues.csv
Normal file
@@ -0,0 +1,279 @@
|
||||
source,issue
|
||||
Facture médecine douce-27776417,item[0].quantity missing
|
||||
551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024,item[0].quantity missing
|
||||
551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024,item[1].quantity missing
|
||||
551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024,item[2].quantity missing
|
||||
551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024,item[3].quantity missing
|
||||
551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024,item[4].quantity missing
|
||||
551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024,item[5].quantity missing
|
||||
Facture médecine douce-27640153,item[0].quantity missing
|
||||
Facture médecine douce-27640153,item[1].quantity missing
|
||||
1724397366229Facture_RIVALLANDChrystelle_20240413ICQO,bill_paid True but amount_paid missing
|
||||
Facture ostéopathe-25417095,bill_paid True but remaining_payment > 0
|
||||
Facture ostéopathe-GED N-R-2323015,item[0].quantity missing
|
||||
74441931-f8d0-4cb0-8eb5-df4147a72bbe_mgp,item[0].quantity missing
|
||||
74441931-f8d0-4cb0-8eb5-df4147a72bbe_mgp,currency missing for bill
|
||||
74441931-f8d0-4cb0-8eb5-df4147a72bbe_mgp,currency missing for bill
|
||||
1724658126141JACOB_Francois_2024-111,item[0].quantity missing
|
||||
Facture des lentilles de contact-27559701,item[5].amount negative: -6.67
|
||||
91c41171-ac88-4ce4-8f15-48c4ad2c5aa2_Devis_lunette,item[0].quantity missing
|
||||
0252b5fb-bc84-4fca-bfa7-483ac611885a_Scan_0115,item[0].quantity missing
|
||||
0252b5fb-bc84-4fca-bfa7-483ac611885a_Scan_0115,item[1].quantity missing
|
||||
7f084bf4-357d-452d-bb4c-76bff332ea0c_IMG_7791,item[0].quantity missing
|
||||
7f084bf4-357d-452d-bb4c-76bff332ea0c_IMG_7791,item[1].quantity missing
|
||||
70c3e7f5-405b-49d8-a73c-dae83beafb59_Facture_ophtalmo,item[0].quantity missing
|
||||
70c3e7f5-405b-49d8-a73c-dae83beafb59_Facture_ophtalmo,item[1].quantity missing
|
||||
70c3e7f5-405b-49d8-a73c-dae83beafb59_Facture_ophtalmo,item[2].quantity missing
|
||||
Facture médecine douce-27776613,item[0].quantity missing
|
||||
6eeacb70-27be-40dd-9511-522025b459a3_20241226_080214,item[0].quantity missing
|
||||
6eeacb70-27be-40dd-9511-522025b459a3_20241226_080214,item[1].quantity missing
|
||||
1724399050339FACTURE_132120424_MME_RONDIN_MAHEVA,item[0].quantity missing
|
||||
ec117b21-9348-4a76-9a22-2bae87639392_facture_du_14.02_Tony,item[0].quantity missing
|
||||
ec117b21-9348-4a76-9a22-2bae87639392_facture_du_14.02_Tony,item[1].quantity missing
|
||||
Facture ostéopathe-25979892,item[0].quantity missing
|
||||
bf09a877-0705-4c79-b908-6e8da44e44c7_17490641879424403676372514736136,item[0].quantity missing
|
||||
bf09a877-0705-4c79-b908-6e8da44e44c7_17490641879424403676372514736136,item[1].quantity missing
|
||||
d4f310c8-3bcf-4bb5-bf53-27ad74d66c1e_FACTURE_OPTICIEN_OPHTALMO,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26740934,item[0].quantity missing
|
||||
45ccffcd-5fe8-418b-80c2-894086de9087_facture_ophtalmo_Fred_,item[0].quantity missing
|
||||
45ccffcd-5fe8-418b-80c2-894086de9087_facture_ophtalmo_Fred_,item[1].quantity missing
|
||||
Facture ostéopathe-26626551,item[0].quantity missing
|
||||
27ddc814-9239-4944-951a-fdd8a48c5926_IMG_20240922_0001,item[0].quantity missing
|
||||
27ddc814-9239-4944-951a-fdd8a48c5926_IMG_20240922_0001,item[1].quantity missing
|
||||
27ddc814-9239-4944-951a-fdd8a48c5926_IMG_20240922_0001,item[2].quantity missing
|
||||
27ddc814-9239-4944-951a-fdd8a48c5926_IMG_20240922_0001,item[3].quantity missing
|
||||
8eceb56a-b571-4ab6-a64e-668db6bf4ad5_chiropracteur_fevrier_25,item[0].quantity missing
|
||||
Facture des lentilles de contact-27576495,item[2].quantity missing
|
||||
32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337,item[0].quantity missing
|
||||
32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337,item[1].quantity missing
|
||||
32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337,item[2].quantity missing
|
||||
a5bd8b97-a2a8-49ae-900d-0673d2f96637_quittance_optique_,item[0].quantity missing
|
||||
e997eddb-05a4-49f9-a7fd-82b48c2694b3_IMG_OPHTALMOLOGIE_20250117_0001,item[0].quantity missing
|
||||
Facture ostéopathe-26300731,item[0].quantity missing
|
||||
Facture ostéopathe-26300731,item[1].quantity missing
|
||||
Facture ostéopathe-26300731,item[2].quantity missing
|
||||
64fa4c19-efa4-48f1-acf8-8c2e8f573b8b_Facture_osteopathe_,item[0].quantity missing
|
||||
c7704de1-820a-44bf-aef9-f7b185f94a26_facture_ophtalmo,item[0].quantity missing
|
||||
c7704de1-820a-44bf-aef9-f7b185f94a26_facture_ophtalmo,item[1].quantity missing
|
||||
c7704de1-820a-44bf-aef9-f7b185f94a26_facture_ophtalmo,item[0].quantity missing
|
||||
1724658376419facture_ostheo_avril_24,item[0].quantity missing
|
||||
66de7232-78a6-46a0-8392-47ec4630ad31_image,item[0].quantity missing
|
||||
66de7232-78a6-46a0-8392-47ec4630ad31_image,item[1].quantity missing
|
||||
66de7232-78a6-46a0-8392-47ec4630ad31_image,item[2].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26772554,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26772554,item[1].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26705902,item[3].amount negative: -3.0
|
||||
c2009b55-58d4-411f-a25a-3dc1e32e4a89_facture_lentille,item[3].amount negative: -3.0
|
||||
Facture ostéopathe-26112640,item[0].quantity missing
|
||||
915b97eb-e7d5-415f-ae89-823f08ae3bc0_ACfacture_opthalmo,item[0].quantity missing
|
||||
915b97eb-e7d5-415f-ae89-823f08ae3bc0_ACfacture_opthalmo,item[1].quantity missing
|
||||
fa25423e-b79c-48f9-89ae-32ffd95e3101_Facture_Ophtalmologie,item[0].quantity missing
|
||||
Facture ostéopathe-25073562,item[0].quantity missing
|
||||
14a6fe3e-c49c-4544-b960-43def15eaf83_doc00563220250401124926,item[0].quantity missing
|
||||
1724399050374facture_podologue,item[0].quantity missing
|
||||
Facture des lentilles de contact-27680116,item[0].quantity missing
|
||||
Facture des lentilles de contact-27680116,item[1].quantity missing
|
||||
Facture des lentilles de contact-27551187,item[0].quantity missing
|
||||
46ddeec5-97bf-4175-b214-b7bd74c4fa24_Renouvin_Ferlicot_Andre,item[0].quantity missing
|
||||
46ddeec5-97bf-4175-b214-b7bd74c4fa24_Renouvin_Ferlicot_Andre,item[1].quantity missing
|
||||
cbc7ddff-2ed1-441b-85cb-5c1079588a52_Mes_des_factures,item[0].quantity missing
|
||||
cbc7ddff-2ed1-441b-85cb-5c1079588a52_Mes_des_factures,item[1].quantity missing
|
||||
1724658298461facture_podologue_alicia,item[0].quantity missing
|
||||
1724397366268IMG_20240417_143900,item[0].quantity missing
|
||||
b410345a-31de-4397-a896-bc11d97e524c_FACTURE_OPHTALMOLOGISTE,item[0].quantity missing
|
||||
Facture ostéopathe-26972680,item[0].quantity missing
|
||||
Facture ostéopathe-25936311,item[0].quantity missing
|
||||
b96f6ca3-3175-4cd8-a827-e886b5799867_Facture_ophtalmologue_24022025,item[0].quantity missing
|
||||
9494858a-65e3-425d-a452-17d4300f0115_demande_de_remboursement_mgp_mutuelle_001,bill_paid True but amount_paid missing
|
||||
895777f3-4478-4e8d-a616-d498850d1523_factures-lunettes_Tess,bill_paid True but remaining_payment > 0
|
||||
Facture ostéopathe-25152747,bill_paid True but amount_paid missing
|
||||
Facture ostéopathe-25332784,item[0].quantity missing
|
||||
Facture ostéopathe-1216961,bill_paid True but amount_paid missing
|
||||
Facture ostéopathe-1216961,item[0].quantity missing
|
||||
6f544990-74c6-4c7e-8a25-08eb3f9138c8_RemboursementSoins01082024_1,item[0].quantity missing
|
||||
6f544990-74c6-4c7e-8a25-08eb3f9138c8_RemboursementSoins01082024_1,item[1].quantity missing
|
||||
9901adc0-96d4-4cfd-a028-8286fd1f7841_Fre_Ophtalmo,item[0].quantity missing
|
||||
9901adc0-96d4-4cfd-a028-8286fd1f7841_Fre_Ophtalmo,item[1].quantity missing
|
||||
141f7ccc-37ab-4da5-9788-80a27e819b8b_Feuilles_de_soins_Psychologue_x2,bill_paid True but remaining_payment > 0
|
||||
598221c3-d0b3-403a-a261-c68cbe56b453_facture_ophtalmo,item[0].quantity missing
|
||||
598221c3-d0b3-403a-a261-c68cbe56b453_facture_ophtalmo,item[1].quantity missing
|
||||
70e53730-c41c-402b-a227-2262cdd9fa7b_osteo_Laurette,item[0].quantity missing
|
||||
39384a4b-4117-4f56-8cca-55fd51e5b062_image,item[0].quantity missing
|
||||
39384a4b-4117-4f56-8cca-55fd51e5b062_image,item[1].quantity missing
|
||||
39384a4b-4117-4f56-8cca-55fd51e5b062_image,item[2].quantity missing
|
||||
d9e1cb2a-b44b-4cc8-b07a-030ddf3acd28_Ordonnance_lentilles_Mary,bill_paid True but amount_paid missing
|
||||
Facture ostéopathe-25417096,item[0].quantity missing
|
||||
Facture ostéopathe-26585743,item[0].quantity missing
|
||||
05c2ef83-54cb-419e-949f-74f898b459bd_osteo_13112024,item[0].quantity missing
|
||||
Facture ostéopathe-26077624,item[0].quantity missing
|
||||
e405dba0-fd0b-48a0-9e3f-576398fa3318_Scan2025-02-28_143544_1,item[0].quantity missing
|
||||
Facture ostéopathe-25847017,bill_paid True but remaining_payment > 0
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,item[0].quantity missing
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,item[1].quantity missing
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,item[2].quantity missing
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,item[3].quantity missing
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,item[4].quantity missing
|
||||
47399c82-030f-4904-b8f4-2c3dc7c46723_image,item[0].quantity missing
|
||||
47399c82-030f-4904-b8f4-2c3dc7c46723_image,item[1].quantity missing
|
||||
Facture des lentilles de contact-27708923,item[0].quantity missing
|
||||
Facture-quittance toutes spécialités-27235184,item[0].quantity missing
|
||||
Facture-quittance toutes spécialités-27235184,item[1].quantity missing
|
||||
Facture-quittance toutes spécialités-27235184,item[2].quantity missing
|
||||
Facture-quittance toutes spécialités-27235184,item[3].quantity missing
|
||||
1724399050377psy_rachel_4,item[0].quantity missing
|
||||
e0f0eab0-f98c-4b74-95f2-bfc61ad76d28_Ophtalmo_Isa_01-24,item[0].quantity missing
|
||||
e0f0eab0-f98c-4b74-95f2-bfc61ad76d28_Ophtalmo_Isa_01-24,item[1].quantity missing
|
||||
172439712563420240417_105010,item[0].quantity missing
|
||||
172439712563420240417_105010,item[1].quantity missing
|
||||
Facture ostéopathe-26750142,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26723200,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26736761,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26736761,item[1].quantity missing
|
||||
28f8623a-8962-4ad1-88bb-4914109e1d42_20241118103848034,item[3].amount negative: -4.08
|
||||
28f8623a-8962-4ad1-88bb-4914109e1d42_20241118103848034,item[0].quantity missing
|
||||
28f8623a-8962-4ad1-88bb-4914109e1d42_20241118103848034,item[1].quantity missing
|
||||
0a26adda-beef-4977-966c-12efc73f1d15_20250129_190625,item[0].quantity missing
|
||||
0a26adda-beef-4977-966c-12efc73f1d15_20250129_190625,item[1].quantity missing
|
||||
b442261a-d504-4cda-98cd-e22a6875bfd0_M._ZIMMER_2401,item[0].quantity missing
|
||||
b8083bbb-9489-4706-af99-69f625bbc530_facture_OPHALMOLOGIE,item[0].quantity missing
|
||||
b8083bbb-9489-4706-af99-69f625bbc530_facture_OPHALMOLOGIE,item[1].quantity missing
|
||||
b8083bbb-9489-4706-af99-69f625bbc530_facture_OPHALMOLOGIE,item[2].quantity missing
|
||||
bedf599f-99db-4613-aa22-17d52690c34c_doc00194520240521104544,item[0].quantity missing
|
||||
bedf599f-99db-4613-aa22-17d52690c34c_doc00194520240521104544,item[1].quantity missing
|
||||
8f8adcc8-9b8f-48e0-94d5-d8cfb9d84a1f_Scanned_20250212_154615,item[0].quantity missing
|
||||
Facture des lentilles de contact-27647140,item[4].amount negative: -2.9
|
||||
Facture des lentilles de contact-27647140,item[5].amount negative: -3.0
|
||||
8de5aacb-e142-4321-aaaf-c4179f031d7a_20240810152224_001,item[0].quantity missing
|
||||
8de5aacb-e142-4321-aaaf-c4179f031d7a_20240810152224_001,item[1].quantity missing
|
||||
8de5aacb-e142-4321-aaaf-c4179f031d7a_20240810152224_001,item[2].quantity missing
|
||||
8de6df48-c40d-4e21-ad21-edc9a95e3bfb_image,item[0].quantity missing
|
||||
8de6df48-c40d-4e21-ad21-edc9a95e3bfb_image,item[1].quantity missing
|
||||
8de6df48-c40d-4e21-ad21-edc9a95e3bfb_image,item[2].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26542194,item[0].quantity missing
|
||||
Facture des lentilles de contact-27654407,bill_paid True but amount_paid missing
|
||||
fd8187e1-b9eb-4727-8041-9fc9e6f1affb_0556_001,item[0].quantity missing
|
||||
Facture des lentilles de contact-27572543,item[0].quantity missing
|
||||
c6013936-5850-4027-9f61-32c30486e6d5_optique,item[0].quantity missing
|
||||
c6013936-5850-4027-9f61-32c30486e6d5_optique,item[1].quantity missing
|
||||
2c75bd51-e61c-452e-b19b-494fa70e9cc9_Facture_lentilles_janvier_2024,item[4].amount negative: -2.9
|
||||
2c75bd51-e61c-452e-b19b-494fa70e9cc9_Facture_lentilles_janvier_2024,item[5].amount negative: -3.0
|
||||
Facture des lentilles de contact-27601451,item[0].quantity missing
|
||||
Facture des lentilles de contact-27601451,item[1].quantity missing
|
||||
Facture ostéopathe-26660518,item[0].quantity missing
|
||||
Facture ostéopathe-26660518,item[0].quantity missing
|
||||
Facture ostéopathe-26479073,item[0].quantity missing
|
||||
c4930995-bbbe-45dd-9afe-800005fb5890_Facture_lunettes_,item[0].quantity missing
|
||||
c4930995-bbbe-45dd-9afe-800005fb5890_Facture_lunettes_,item[1].quantity missing
|
||||
c4930995-bbbe-45dd-9afe-800005fb5890_Facture_lunettes_,item[2].quantity missing
|
||||
511ba153-1eae-4682-ade0-01217ff522bf_Facture_consultation_130125,item[0].quantity missing
|
||||
8019accc-33b4-4f20-95eb-3ff1e1d4db0b_nnn,item[0].quantity missing
|
||||
8019accc-33b4-4f20-95eb-3ff1e1d4db0b_nnn,item[1].quantity missing
|
||||
Facture ostéopathe-1119174,item[0].quantity missing
|
||||
17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo,item[0].quantity missing
|
||||
17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo,item[1].quantity missing
|
||||
17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo,item[0].quantity missing
|
||||
eedda33e-049b-4ab8-aee8-6f5d0c88b500_IMG_0358,item[0].quantity missing
|
||||
eedda33e-049b-4ab8-aee8-6f5d0c88b500_IMG_0358,item[1].quantity missing
|
||||
Facture des lentilles de contact-27646193,item[4].amount negative: -4.9
|
||||
Facture des lentilles de contact-27646193,item[5].amount negative: -13.8
|
||||
f339c5ad-7df8-4f3e-a5fa-9dc7616abc3e_IMG_20250327_165906,item[0].quantity missing
|
||||
f339c5ad-7df8-4f3e-a5fa-9dc7616abc3e_IMG_20250327_165906,item[1].quantity missing
|
||||
4f09f855-c993-42ea-97b1-3dd728b53e16_devis_ophtalmo,item[0].quantity missing
|
||||
Facture des lentilles de contact-27665791,bill_paid True but amount_paid missing
|
||||
Facture des lentilles de contact-27665791,item[0].quantity missing
|
||||
Facture des lentilles de contact-27665791,item[1].quantity missing
|
||||
Facture des lentilles de contact-27665791,item[2].quantity missing
|
||||
252c4ad4-8fa3-4ed1-9508-ee77f6dce6fe_img20250206_20040851,item[0].quantity missing
|
||||
Facture ostéopathe-25145711,item[0].quantity missing
|
||||
Facture ostéopathe-26626836,item[0].quantity missing
|
||||
Facture ostéopathe-26626836,item[0].quantity missing
|
||||
Facture ostéopathe-26991829,item[0].quantity missing
|
||||
Facture ostéopathe-26991829,item[1].quantity missing
|
||||
f6db258d-f400-41b5-a5ca-7878010f0fd7_doc00945920250206091811,item[0].quantity missing
|
||||
Facture médecine douce-27784833,item[0].quantity missing
|
||||
abff81b4-d895-47d5-b3d4-93da48f5c1e6_20241212_172044,item[0].quantity missing
|
||||
abff81b4-d895-47d5-b3d4-93da48f5c1e6_20241212_172044,item[1].quantity missing
|
||||
1724397366294irm,item[0].quantity missing
|
||||
Facture ostéopathe-25233929,item[0].quantity missing
|
||||
8b6539db-21b4-41dc-a27f-db2cd351fe5f_Doc_34,item[0].quantity missing
|
||||
819f6faf-d9f3-4668-9000-e414d92c7f41_ROYER_LUDIVINE_FACTURE_OPHTALMO,item[0].quantity missing
|
||||
819f6faf-d9f3-4668-9000-e414d92c7f41_ROYER_LUDIVINE_FACTURE_OPHTALMO,item[1].quantity missing
|
||||
209e4abe-4973-4fd3-83cc-64f940fb7372_facture_ophtalmologue,item[0].quantity missing
|
||||
209e4abe-4973-4fd3-83cc-64f940fb7372_facture_ophtalmologue,item[1].quantity missing
|
||||
719ba06c-91ee-44dc-b7b6-4a3132f733af_FievreVillaniCarlaLunettes,item[0].quantity missing
|
||||
719ba06c-91ee-44dc-b7b6-4a3132f733af_FievreVillaniCarlaLunettes,item[1].quantity missing
|
||||
e07571f8-3ba4-46fc-a37e-53bd6dd965c7_IMG20250123190152,item[0].quantity missing
|
||||
e07571f8-3ba4-46fc-a37e-53bd6dd965c7_IMG20250123190152,item[1].quantity missing
|
||||
e07571f8-3ba4-46fc-a37e-53bd6dd965c7_IMG20250123190152,item[2].quantity missing
|
||||
e07571f8-3ba4-46fc-a37e-53bd6dd965c7_IMG20250123190152,item[3].quantity missing
|
||||
e07571f8-3ba4-46fc-a37e-53bd6dd965c7_IMG20250123190152,item[4].quantity missing
|
||||
e07571f8-3ba4-46fc-a37e-53bd6dd965c7_IMG20250123190152,item[5].quantity missing
|
||||
e07571f8-3ba4-46fc-a37e-53bd6dd965c7_IMG20250123190152,item[6].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26772555,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26772555,item[1].quantity missing
|
||||
5ff72751-5d92-463c-a272-97fda77c34f8_2025-01-31-13187-Luc_Lisa,item[0].quantity missing
|
||||
Facture ostéopathe-26744045,item[0].quantity missing
|
||||
Facture ostéopathe-26699212,item[0].quantity missing
|
||||
Facture médecine douce-27781814,item[0].quantity missing
|
||||
Facture ostéopathe-26699279,item[0].quantity missing
|
||||
1724399050308image,item[0].quantity missing
|
||||
44e87f9e-a4e2-4851-b383-e1401b36e853_image,item[0].quantity missing
|
||||
44e87f9e-a4e2-4851-b383-e1401b36e853_image,item[1].quantity missing
|
||||
c53ffdcc-0ee6-4bf2-8c43-923c5471310f_IMG_7285,item[0].quantity missing
|
||||
c53ffdcc-0ee6-4bf2-8c43-923c5471310f_IMG_7285,item[1].quantity missing
|
||||
8605959d-bf31-4ea3-a820-bde824a1a4de_20241226_080232,item[0].quantity missing
|
||||
3ee0ac3b-4d77-4692-80fa-15004f8a3499_facture_ophta,item[0].quantity missing
|
||||
3ee0ac3b-4d77-4692-80fa-15004f8a3499_facture_ophta,item[1].quantity missing
|
||||
29d72de2-da83-483a-8702-939fbe4addfa_20250207_112449,item[0].quantity missing
|
||||
1724425079263JACOB_Francois_2024-111,item[0].quantity missing
|
||||
1724425079184Facture_Osteopathe_Brousseau_sader_17avr24,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26685394,item[0].quantity missing
|
||||
Facture ostéopathe-26447822,bill_paid True but amount_paid missing
|
||||
DDE prestation Facture des lentilles de contact-26705131,item[2].amount negative: -5.0
|
||||
3fe044b5-fd6a-4f5c-accc-ce7b987575a8_IMG_6817,item[0].quantity missing
|
||||
3fe044b5-fd6a-4f5c-accc-ce7b987575a8_IMG_6817,item[1].quantity missing
|
||||
Facture ostéopathe-25187936,item[0].quantity missing
|
||||
Facture des lentilles de contact-27545715,item[1].quantity missing
|
||||
82ac654c-54d4-401f-a006-96d9e46531fe_Facture_ostheo_JEAN,item[0].quantity missing
|
||||
Facture des lentilles de contact-27653858,item[4].amount negative: -2.9
|
||||
Facture des lentilles de contact-27653858,item[5].amount negative: -3.0
|
||||
3d4c57ed-eecc-4557-81c9-9e46e46b5a82_IMG_8797,item[0].quantity missing
|
||||
3d4c57ed-eecc-4557-81c9-9e46e46b5a82_IMG_8797,item[1].quantity missing
|
||||
3d4c57ed-eecc-4557-81c9-9e46e46b5a82_IMG_8797,item[2].quantity missing
|
||||
3d4c57ed-eecc-4557-81c9-9e46e46b5a82_IMG_8797,item[3].quantity missing
|
||||
3d4c57ed-eecc-4557-81c9-9e46e46b5a82_IMG_8797,item[4].quantity missing
|
||||
3d4c57ed-eecc-4557-81c9-9e46e46b5a82_IMG_8797,item[5].quantity missing
|
||||
Facture ostéopathe-26675471,item[0].quantity missing
|
||||
38b89b50-a6b6-4816-a495-ce2d9e71082f_Kine-28-11-2024,item[0].quantity missing
|
||||
43666807-3eb2-40b9-bdf6-94d4fe31b71e_factures,item[0].quantity missing
|
||||
43666807-3eb2-40b9-bdf6-94d4fe31b71e_factures,item[1].quantity missing
|
||||
43666807-3eb2-40b9-bdf6-94d4fe31b71e_factures,item[2].quantity missing
|
||||
9c1cc24a-5f7e-42ef-998d-c813a686a7b5_549D8459-524A-4A5C-9612-09EEA1ADDB58,item[0].quantity missing
|
||||
9c1cc24a-5f7e-42ef-998d-c813a686a7b5_549D8459-524A-4A5C-9612-09EEA1ADDB58,item[1].quantity missing
|
||||
c052b9e0-c0d4-473f-93a9-a5dc396a0d86_Facture_ophtalmologique_,item[0].quantity missing
|
||||
c052b9e0-c0d4-473f-93a9-a5dc396a0d86_Facture_ophtalmologique_,item[1].quantity missing
|
||||
ec6baa8c-a189-4850-b310-c90bab372cc2_Facture_Krys,bill_paid True but remaining_payment > 0
|
||||
Facture ostéopathe-26539711,item[0].quantity missing
|
||||
0bfb5041-2751-421d-b5d5-60d696c361c1_17391960081576654684571490136238,item[0].quantity missing
|
||||
Facture ostéopathe-26605349,item[0].quantity missing
|
||||
de6a66cd-d729-479c-a119-8b9e442702db_Screenshot_20250227_112521_Gallery,item[0].quantity missing
|
||||
de6a66cd-d729-479c-a119-8b9e442702db_Screenshot_20250227_112521_Gallery,item[1].quantity missing
|
||||
1d4346b3-1322-457d-9436-ea1d82f74cea_Facture_ophtalmo_enfants,item[0].quantity missing
|
||||
1d4346b3-1322-457d-9436-ea1d82f74cea_Facture_ophtalmo_enfants,item[0].quantity missing
|
||||
1d4346b3-1322-457d-9436-ea1d82f74cea_Facture_ophtalmo_enfants,item[1].quantity missing
|
||||
Facture ostéopathe-25358482,item[0].quantity missing
|
||||
34f7e622-ffd8-493d-b955-10a692290a75_image,item[0].quantity missing
|
||||
Facture ostéopathe-26595219,item[0].quantity missing
|
||||
Facture des lentilles de contact-27716093,item[0].quantity missing
|
||||
6d9a0fdf-c334-43b6-946b-45b1b1ab83d7_Facture_osteo_FEV_25,item[0].quantity missing
|
||||
24ca9fa1-064d-49a0-8d54-d6f0171c8187_Facture_lunette,item[0].quantity missing
|
||||
24ca9fa1-064d-49a0-8d54-d6f0171c8187_Facture_lunette,item[1].quantity missing
|
||||
24ca9fa1-064d-49a0-8d54-d6f0171c8187_Facture_lunette,item[2].quantity missing
|
||||
24ca9fa1-064d-49a0-8d54-d6f0171c8187_Facture_lunette,item[3].quantity missing
|
||||
1724399050380osteo_Lina,item[0].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[0].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[1].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[2].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[3].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[4].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[5].quantity missing
|
|
54
filter/check_008/item_total_billed_mismatches.csv
Normal file
@@ -0,0 +1,54 @@
|
||||
source_image,total_billed,sum_item_amount,diff
|
||||
74441931-f8d0-4cb0-8eb5-df4147a72bbe_mgp,71.9,0.0,71.9
|
||||
Facture des lentilles de contact-27718628,201.52,223.92,-22.399999999999977
|
||||
7f084bf4-357d-452d-bb4c-76bff332ea0c_IMG_7791,78.43,0.0,78.43
|
||||
6eeacb70-27be-40dd-9511-522025b459a3_20241226_080214,65.5,65.05000000000001,0.44999999999998863
|
||||
Facture ostéopathe-1066603,45.0,65.0,-20.0
|
||||
fa95b732-7a88-4fea-a8e7-9975dbbc69a8_Facture_0122202407740700218,238.03,218.03000000000003,19.99999999999997
|
||||
cc0c0b33-1a94-469b-bd88-ca534e257d33_Osteo,60.0,80.0,-20.0
|
||||
32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337,92.4,75.72,16.680000000000007
|
||||
e997eddb-05a4-49f9-a7fd-82b48c2694b3_IMG_OPHTALMOLOGIE_20250117_0001,119.48,0.0,119.48
|
||||
c7704de1-820a-44bf-aef9-f7b185f94a26_facture_ophtalmo,120.0,0.0,120.0
|
||||
c7704de1-820a-44bf-aef9-f7b185f94a26_facture_ophtalmo,20.8,0.0,20.8
|
||||
edb77e5c-ea68-4bad-a177-1256a3bafc9c_CF_1686176,64.48,59.88,4.600000000000001
|
||||
Facture ostéopathe-26112640,66.0,65.0,1.0
|
||||
1498c5f5-22cf-41d4-87f0-9b295ff481f4_IMG_5659,50.0,41.41,8.590000000000003
|
||||
Facture ostéopathe-25449739,70.0,60.0,10.0
|
||||
4fa21bd9-393e-41d4-9af2-bf42004f4e94_image,15.93,14.48,1.4499999999999993
|
||||
895777f3-4478-4e8d-a616-d498850d1523_factures-lunettes_Tess,41.0,79.0,-38.0
|
||||
6f544990-74c6-4c7e-8a25-08eb3f9138c8_RemboursementSoins01082024_1,24.98,41.41,-16.429999999999996
|
||||
9901adc0-96d4-4cfd-a028-8286fd1f7841_Fre_Ophtalmo,70.69,72.69,-2.0
|
||||
5c4353b0-55a4-4687-9744-d1a6da183abd_facture_lentilles_de_contact,78.98,65.82,13.16000000000001
|
||||
598221c3-d0b3-403a-a261-c68cbe56b453_facture_ophtalmo,44.0,88.0,-44.0
|
||||
803f61ed-759c-4773-90f2-d8737ef911ab_image,115.0,0.0,115.0
|
||||
8c8c6ff8-8e9c-49fc-b131-1dce75bcdfc2_Facture_FA1947_04_02_2025,70.0,58.33,11.670000000000002
|
||||
e6272522-cc2a-44b0-af14-9f54d1a76a59_Facture_lunettes_,691.62,1253.62,-561.9999999999999
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,262.0,257.0,5.0
|
||||
47399c82-030f-4904-b8f4-2c3dc7c46723_image,77.61,0.0,77.61
|
||||
e0f0eab0-f98c-4b74-95f2-bfc61ad76d28_Ophtalmo_Isa_01-24,76.0,0.0,76.0
|
||||
DDE prestation Facture des lentilles de contact-26736761,78.0,76.0,2.0
|
||||
8ed22fd8-18ae-4c54-93ae-2f5cd4ec2af6_17375530503755104210735675998866,73.43,0.0,73.43
|
||||
7b830a57-2131-479c-bf31-1673e7308903_invoice_2025_1_31,75.95,59.96,15.990000000000002
|
||||
0a26adda-beef-4977-966c-12efc73f1d15_20250129_190625,74.61,0.0,74.61
|
||||
bedf599f-99db-4613-aa22-17d52690c34c_doc00194520240521104544,95.29,0.0,95.29
|
||||
ee2bacc2-7a66-4adf-b4ff-95fc5c13a2da_20250213_112821,10.26,9.629999999999999,0.6300000000000008
|
||||
172442503141724-04-08_recu_kine_Suz,66.12,0.0,66.12
|
||||
8019accc-33b4-4f20-95eb-3ff1e1d4db0b_nnn,127.77,0.0,127.77
|
||||
Facture des lentilles de contact-27700403,41.2,41.8,-0.5999999999999943
|
||||
9c2763f2-fb0c-4fe4-be38-6f94fba64162_optical_facture_lunettes_apres_accident,551.58,620.5799999999999,-68.99999999999989
|
||||
1724397366294irm,252.72,0.0,252.72
|
||||
209e4abe-4973-4fd3-83cc-64f940fb7372_facture_ophtalmologue,72.63,0.0,72.63
|
||||
e07571f8-3ba4-46fc-a37e-53bd6dd965c7_IMG20250123190152,167.0,174.65,-7.650000000000006
|
||||
fecefa42-3451-496b-bcb5-d5ebd4cdd8da_invoice_2024_10_14,195.92,163.28,32.639999999999986
|
||||
44e87f9e-a4e2-4851-b383-e1401b36e853_image,118.14,0.0,118.14
|
||||
96be3553-7261-4698-bf20-88ca5c826889_ReleveMensuel_Mai,154.04,535.1099999999999,-381.06999999999994
|
||||
a13a6613-da2d-48b7-96ef-412ba5a88af0_Factures_Clemence_,71.34,39.0,32.34
|
||||
78ec53bb-a4c5-469f-a4d0-f42db4cf9b11_CF_1697735,64.48,59.88,4.600000000000001
|
||||
2dbb4025-f570-49f9-83d1-08aedb2b122d_lunettes_Lou-Ann,213.4,253.0,-39.599999999999994
|
||||
3fe044b5-fd6a-4f5c-accc-ce7b987575a8_IMG_6817,98.61,0.0,98.61
|
||||
82ac654c-54d4-401f-a006-96d9e46531fe_Facture_ostheo_JEAN,40.0,60.0,-20.0
|
||||
605bfa50-15ce-48a0-87ec-201c3aa0557a_lunette_auregane_daden_001,627.9,557.7,70.19999999999993
|
||||
43666807-3eb2-40b9-bdf6-94d4fe31b71e_factures,147.0,105.0,42.0
|
||||
9c1cc24a-5f7e-42ef-998d-c813a686a7b5_549D8459-524A-4A5C-9612-09EEA1ADDB58,77.61,0.0,77.61
|
||||
Facture des lentilles de contact-27693842,130.0,150.0,-20.0
|
||||
626c99a4-986b-401f-b91e-9b6c0f15cce6_Commande_n100691223,39.51,43.9,-4.390000000000001
|
|
188
filter/check_008/label_analysis_report.md
Normal file
@@ -0,0 +1,188 @@
|
||||
# Label Analysis Report
|
||||
|
||||
Input: `008_label_data_sample_seed_1997.json`
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||
- Total records: 1232
|
||||
- Total labels (flattened): 1263
|
||||
- is_bill distribution: {True: 1124, False: 139}
|
||||
- bill_paid distribution: {False: 68, True: 1015, None: 180}
|
||||
- Invoice dates span: 2012-04-17 .. 2025-06-12
|
||||
- Unique year-month pairs: 63
|
||||
|
||||
## Professions (top)
|
||||
|
||||
- Ostéopathe: 371
|
||||
- Ostéopathie: 295
|
||||
- Optique: 228
|
||||
- (missing): 119
|
||||
- Psychologue: 67
|
||||
- Chiropractie: 57
|
||||
- Unknown: 20
|
||||
- Kinésithérapie: 16
|
||||
- Sophrologie: 8
|
||||
- Podologue: 8
|
||||
- Hypnothérapie: 7
|
||||
- Pharmacie: 7
|
||||
- Sophrologue: 6
|
||||
- Ophtalmologie: 6
|
||||
- Réflexologie: 5
|
||||
- Radiologie: 5
|
||||
- Étiopathie: 4
|
||||
- Sage-femme: 3
|
||||
- Psychologie: 3
|
||||
- Soins hospitalier: 3
|
||||
- Naturopathie: 2
|
||||
- Addictologie: 2
|
||||
- Etiopathie: 2
|
||||
- Kinésiologie: 2
|
||||
- Diététicienne: 2
|
||||
- Étiopathe: 2
|
||||
- Etiopathe: 2
|
||||
- Psychomotricité: 1
|
||||
- Homéopathie: 1
|
||||
- Kinésiologue: 1
|
||||
- Optique hay Ophtalmologue???: 1
|
||||
- Médecine du sport: 1
|
||||
- Otique: 1
|
||||
- Biologie: 1
|
||||
- Chiropratie: 1
|
||||
- Chirurgie dentaire: 1
|
||||
- Diététique: 1
|
||||
- Audiopathe: 1
|
||||
|
||||
## Currency distribution
|
||||
|
||||
- EUR: 1135
|
||||
- F: 2
|
||||
|
||||
## Identifier and key field presence
|
||||
|
||||
- adeli_number: 898 present
|
||||
- rpps_number: 182 present
|
||||
- finess_number: 139 present
|
||||
- prescripteur_finess_number: 41 present
|
||||
- doctor_name: 1040 present
|
||||
- invoice_issuer: 1120 present
|
||||
- insured_name: 208 present
|
||||
- beneficiary_name: 1093 present
|
||||
- security_number: 492 present
|
||||
- currency: 1137 present
|
||||
|
||||
## Flags
|
||||
|
||||
- is_handwriting: {False: 327, None: 880, True: 56}
|
||||
- is_rotated: {False: 358, None: 879, True: 26}
|
||||
|
||||
## Numeric summaries
|
||||
|
||||
- total_billed: {'count': 1130, 'min': 9.9, 'p25': 55.0, 'median': 60.0, 'p75': 70.0, 'max': 8000.0, 'mean': 105.40392920353982, 'sum': 119106.44, 'missing': 133}
|
||||
- amount_paid: {'count': 1011, 'min': 0.0, 'p25': 50.0, 'median': 60.0, 'p75': 66.5, 'max': 8000.0, 'mean': 98.68897131552917, 'sum': 99774.55, 'missing': 252}
|
||||
- remaining_payment: {'count': 247, 'min': 0.0, 'p25': 0.0, 'median': 0.0, 'p75': 0.0, 'max': 204.06, 'mean': 2.793765182186235, 'sum': 690.06, 'missing': 1016}
|
||||
- client_part: {'count': 145, 'min': 0.0, 'p25': 26.44, 'median': 48.77, 'p75': 90.0, 'max': 1420.0, 'mean': 99.44468965517241, 'sum': 14419.480000000003, 'missing': 1118}
|
||||
- mandatory_coverage: {'count': 137, 'min': 0.0, 'p25': 0.09, 'median': 27.63, 'p75': 48.55, 'max': 1232.47, 'mean': 43.21014598540146, 'sum': 5919.790000000002, 'missing': 1126}
|
||||
- complementary_coverage: {'count': 93, 'min': 0.0, 'p25': 0.0, 'median': 0.0, 'p75': 90.0, 'max': 499.91, 'mean': 63.8452688172043, 'sum': 5937.61, 'missing': 1170}
|
||||
|
||||
## Items analysis
|
||||
|
||||
- Items per label: count=1263, min=0, max=10, mean=1.25
|
||||
- total_billed vs sum(items.amount) mismatches: 53
|
||||
|
||||
## Data quality issues (sample)
|
||||
|
||||
- Facture médecine douce-27776417: item[0].quantity missing
|
||||
- 551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024: item[0].quantity missing
|
||||
- 551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024: item[1].quantity missing
|
||||
- 551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024: item[2].quantity missing
|
||||
- 551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024: item[3].quantity missing
|
||||
- 551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024: item[4].quantity missing
|
||||
- 551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024: item[5].quantity missing
|
||||
- Facture médecine douce-27640153: item[0].quantity missing
|
||||
- Facture médecine douce-27640153: item[1].quantity missing
|
||||
- 1724397366229Facture_RIVALLANDChrystelle_20240413ICQO: bill_paid True but amount_paid missing
|
||||
- Facture ostéopathe-25417095: bill_paid True but remaining_payment > 0
|
||||
- Facture ostéopathe-GED N-R-2323015: item[0].quantity missing
|
||||
- 74441931-f8d0-4cb0-8eb5-df4147a72bbe_mgp: item[0].quantity missing
|
||||
- 74441931-f8d0-4cb0-8eb5-df4147a72bbe_mgp: currency missing for bill
|
||||
- 74441931-f8d0-4cb0-8eb5-df4147a72bbe_mgp: currency missing for bill
|
||||
- 1724658126141JACOB_Francois_2024-111: item[0].quantity missing
|
||||
- Facture des lentilles de contact-27559701: item[5].amount negative: -6.67
|
||||
- 91c41171-ac88-4ce4-8f15-48c4ad2c5aa2_Devis_lunette: item[0].quantity missing
|
||||
- 0252b5fb-bc84-4fca-bfa7-483ac611885a_Scan_0115: item[0].quantity missing
|
||||
- 0252b5fb-bc84-4fca-bfa7-483ac611885a_Scan_0115: item[1].quantity missing
|
||||
- 7f084bf4-357d-452d-bb4c-76bff332ea0c_IMG_7791: item[0].quantity missing
|
||||
- 7f084bf4-357d-452d-bb4c-76bff332ea0c_IMG_7791: item[1].quantity missing
|
||||
- 70c3e7f5-405b-49d8-a73c-dae83beafb59_Facture_ophtalmo: item[0].quantity missing
|
||||
- 70c3e7f5-405b-49d8-a73c-dae83beafb59_Facture_ophtalmo: item[1].quantity missing
|
||||
- 70c3e7f5-405b-49d8-a73c-dae83beafb59_Facture_ophtalmo: item[2].quantity missing
|
||||
- Facture médecine douce-27776613: item[0].quantity missing
|
||||
- 6eeacb70-27be-40dd-9511-522025b459a3_20241226_080214: item[0].quantity missing
|
||||
- 6eeacb70-27be-40dd-9511-522025b459a3_20241226_080214: item[1].quantity missing
|
||||
- 1724399050339FACTURE_132120424_MME_RONDIN_MAHEVA: item[0].quantity missing
|
||||
- ec117b21-9348-4a76-9a22-2bae87639392_facture_du_14.02_Tony: item[0].quantity missing
|
||||
- ec117b21-9348-4a76-9a22-2bae87639392_facture_du_14.02_Tony: item[1].quantity missing
|
||||
- Facture ostéopathe-25979892: item[0].quantity missing
|
||||
- bf09a877-0705-4c79-b908-6e8da44e44c7_17490641879424403676372514736136: item[0].quantity missing
|
||||
- bf09a877-0705-4c79-b908-6e8da44e44c7_17490641879424403676372514736136: item[1].quantity missing
|
||||
- d4f310c8-3bcf-4bb5-bf53-27ad74d66c1e_FACTURE_OPTICIEN_OPHTALMO: item[0].quantity missing
|
||||
- DDE prestation Facture des lentilles de contact-26740934: item[0].quantity missing
|
||||
- 45ccffcd-5fe8-418b-80c2-894086de9087_facture_ophtalmo_Fred_: item[0].quantity missing
|
||||
- 45ccffcd-5fe8-418b-80c2-894086de9087_facture_ophtalmo_Fred_: item[1].quantity missing
|
||||
- Facture ostéopathe-26626551: item[0].quantity missing
|
||||
- 27ddc814-9239-4944-951a-fdd8a48c5926_IMG_20240922_0001: item[0].quantity missing
|
||||
- 27ddc814-9239-4944-951a-fdd8a48c5926_IMG_20240922_0001: item[1].quantity missing
|
||||
- 27ddc814-9239-4944-951a-fdd8a48c5926_IMG_20240922_0001: item[2].quantity missing
|
||||
- 27ddc814-9239-4944-951a-fdd8a48c5926_IMG_20240922_0001: item[3].quantity missing
|
||||
- 8eceb56a-b571-4ab6-a64e-668db6bf4ad5_chiropracteur_fevrier_25: item[0].quantity missing
|
||||
- Facture des lentilles de contact-27576495: item[2].quantity missing
|
||||
- 32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337: item[0].quantity missing
|
||||
- 32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337: item[1].quantity missing
|
||||
- 32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337: item[2].quantity missing
|
||||
- a5bd8b97-a2a8-49ae-900d-0673d2f96637_quittance_optique_: item[0].quantity missing
|
||||
- e997eddb-05a4-49f9-a7fd-82b48c2694b3_IMG_OPHTALMOLOGIE_20250117_0001: item[0].quantity missing
|
||||
|
||||
## Plots
|
||||
|
||||
- is_bill
|
||||

|
||||
|
||||
- bill_paid
|
||||

|
||||
|
||||
- is_handwriting
|
||||

|
||||
|
||||
- is_rotated
|
||||

|
||||
|
||||
- professions_top20
|
||||

|
||||
|
||||
- currency
|
||||

|
||||
|
||||
- invoice_year_month
|
||||

|
||||
|
||||
- items_per_label
|
||||

|
||||
|
||||
- hist_total_billed
|
||||

|
||||
|
||||
- hist_amount_paid
|
||||

|
||||
|
||||
- hist_remaining_payment
|
||||

|
||||
|
||||
- hist_client_part
|
||||

|
||||
|
||||
- hist_mandatory_coverage
|
||||

|
||||
|
||||
- hist_complementary_coverage
|
||||

|
BIN
filter/check_008/plots/bill_paid.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
filter/check_008/plots/currency.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
filter/check_008/plots/hist_amount_paid.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
filter/check_008/plots/hist_client_part.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
filter/check_008/plots/hist_complementary_coverage.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
filter/check_008/plots/hist_mandatory_coverage.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
filter/check_008/plots/hist_remaining_payment.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
filter/check_008/plots/hist_total_billed.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
filter/check_008/plots/invoice_year_month.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
filter/check_008/plots/is_bill.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
filter/check_008/plots/is_handwriting.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
filter/check_008/plots/is_rotated.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
filter/check_008/plots/items_per_label.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
filter/check_008/plots/professions_top20.png
Normal file
After Width: | Height: | Size: 89 KiB |
39
filter/check_008/professions_counts.csv
Normal file
@@ -0,0 +1,39 @@
|
||||
profession,count
|
||||
Ostéopathe,371
|
||||
Ostéopathie,295
|
||||
Optique,228
|
||||
(missing),119
|
||||
Psychologue,67
|
||||
Chiropractie,57
|
||||
Unknown,20
|
||||
Kinésithérapie,16
|
||||
Sophrologie,8
|
||||
Podologue,8
|
||||
Hypnothérapie,7
|
||||
Pharmacie,7
|
||||
Sophrologue,6
|
||||
Ophtalmologie,6
|
||||
Réflexologie,5
|
||||
Radiologie,5
|
||||
Étiopathie,4
|
||||
Sage-femme,3
|
||||
Psychologie,3
|
||||
Soins hospitalier,3
|
||||
Naturopathie,2
|
||||
Addictologie,2
|
||||
Etiopathie,2
|
||||
Kinésiologie,2
|
||||
Diététicienne,2
|
||||
Étiopathe,2
|
||||
Etiopathe,2
|
||||
Psychomotricité,1
|
||||
Homéopathie,1
|
||||
Kinésiologue,1
|
||||
Optique hay Ophtalmologue???,1
|
||||
Médecine du sport,1
|
||||
Otique,1
|
||||
Biologie,1
|
||||
Chiropratie,1
|
||||
Chirurgie dentaire,1
|
||||
Diététique,1
|
||||
Audiopathe,1
|
|
4
filter/check_009/bill_paid_counts.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
bill_paid,count
|
||||
False,74
|
||||
True,1011
|
||||
,174
|
|
3
filter/check_009/currency_counts.csv
Normal file
@@ -0,0 +1,3 @@
|
||||
currency,count
|
||||
EUR,1137
|
||||
F,2
|
|
11
filter/check_009/id_presence.csv
Normal file
@@ -0,0 +1,11 @@
|
||||
field,present_count
|
||||
adeli_number,902
|
||||
rpps_number,179
|
||||
finess_number,133
|
||||
prescripteur_finess_number,42
|
||||
doctor_name,1051
|
||||
invoice_issuer,1122
|
||||
insured_name,203
|
||||
beneficiary_name,1098
|
||||
security_number,494
|
||||
currency,1139
|
|
3
filter/check_009/is_bill_counts.csv
Normal file
@@ -0,0 +1,3 @@
|
||||
is_bill,count
|
||||
True,1126
|
||||
False,133
|
|
277
filter/check_009/issues.csv
Normal file
@@ -0,0 +1,277 @@
|
||||
source,issue
|
||||
eedda33e-049b-4ab8-aee8-6f5d0c88b500_IMG_0358,item[0].quantity missing
|
||||
eedda33e-049b-4ab8-aee8-6f5d0c88b500_IMG_0358,item[1].quantity missing
|
||||
e72e49e0-7891-4dc8-b62f-40c7bf6252a4_Nuria_Ravier_Ophtalomologiste,item[0].quantity missing
|
||||
e72e49e0-7891-4dc8-b62f-40c7bf6252a4_Nuria_Ravier_Ophtalomologiste,item[0].quantity missing
|
||||
Facture ostéopathe-25417096,item[0].quantity missing
|
||||
eb5561dd-937b-4c0b-b6c6-56da8b528c94_facture_vision_claire_ophtalmo_1_001,item[0].quantity missing
|
||||
6f544990-74c6-4c7e-8a25-08eb3f9138c8_RemboursementSoins01082024_1,item[0].quantity missing
|
||||
6f544990-74c6-4c7e-8a25-08eb3f9138c8_RemboursementSoins01082024_1,item[1].quantity missing
|
||||
1150ac6a-abdc-409d-b7ca-296e7b35769c_Facture_BOLZERJean_Francois_20250131GMAM,item[0].quantity missing
|
||||
Facture ostéopathe-26738638,item[0].quantity missing
|
||||
34162b51-6c3f-4dcc-a18a-d6b9e45e4f22_Recu_ophtalmo_Cadet_Corine_2025-03-09,bill_paid True but remaining_payment > 0
|
||||
34162b51-6c3f-4dcc-a18a-d6b9e45e4f22_Recu_ophtalmo_Cadet_Corine_2025-03-09,item[0].quantity missing
|
||||
34162b51-6c3f-4dcc-a18a-d6b9e45e4f22_Recu_ophtalmo_Cadet_Corine_2025-03-09,item[1].quantity missing
|
||||
abff81b4-d895-47d5-b3d4-93da48f5c1e6_20241212_172044,item[0].quantity missing
|
||||
abff81b4-d895-47d5-b3d4-93da48f5c1e6_20241212_172044,item[1].quantity missing
|
||||
2c75bd51-e61c-452e-b19b-494fa70e9cc9_Facture_lentilles_janvier_2024,item[4].amount negative: -2.9
|
||||
2c75bd51-e61c-452e-b19b-494fa70e9cc9_Facture_lentilles_janvier_2024,item[5].amount negative: -3.0
|
||||
Facture ostéopathe-26605349,item[0].quantity missing
|
||||
Facture médecine douce-27702698,item[0].quantity missing
|
||||
6221379e-7344-4868-9ee0-04f2c4e26874_consultation_ophtalmo27janvier2025BEAUPERINyann,item[0].quantity missing
|
||||
f55f9121-499d-4c25-b79b-464413d7ca6c_Quittance_Ophtalmologue,item[0].quantity missing
|
||||
f55f9121-499d-4c25-b79b-464413d7ca6c_Quittance_Ophtalmologue,item[0].quantity missing
|
||||
62b45277-a437-48c6-af52-d1814f23434f_17460042180346042803920585280783,item[0].quantity missing
|
||||
62b45277-a437-48c6-af52-d1814f23434f_17460042180346042803920585280783,item[1].quantity missing
|
||||
Facture ostéopathe-25847017,bill_paid True but remaining_payment > 0
|
||||
02358c4c-820a-409f-9489-a75f22af3f32_image,item[0].quantity missing
|
||||
02358c4c-820a-409f-9489-a75f22af3f32_image,item[1].quantity missing
|
||||
7ef7306d-400e-4a56-b31c-02237212c470_Scan,item[0].quantity missing
|
||||
7ef7306d-400e-4a56-b31c-02237212c470_Scan,item[1].quantity missing
|
||||
f482ebef-e885-4627-a927-96ad54ab5aa0_Facture,item[0].quantity missing
|
||||
f482ebef-e885-4627-a927-96ad54ab5aa0_Facture,item[1].quantity missing
|
||||
f482ebef-e885-4627-a927-96ad54ab5aa0_Facture,item[3].quantity missing
|
||||
f482ebef-e885-4627-a927-96ad54ab5aa0_Facture,item[4].quantity missing
|
||||
f482ebef-e885-4627-a927-96ad54ab5aa0_Facture,item[6].quantity missing
|
||||
f482ebef-e885-4627-a927-96ad54ab5aa0_Facture,item[7].quantity missing
|
||||
f482ebef-e885-4627-a927-96ad54ab5aa0_Facture,item[8].quantity missing
|
||||
f482ebef-e885-4627-a927-96ad54ab5aa0_Facture,item[9].quantity missing
|
||||
f482ebef-e885-4627-a927-96ad54ab5aa0_Facture,item[11].quantity missing
|
||||
Facture ostéopathe-26610949,item[0].quantity missing
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,item[0].quantity missing
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,item[1].quantity missing
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,item[2].quantity missing
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,item[3].quantity missing
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,item[4].quantity missing
|
||||
bf09a877-0705-4c79-b908-6e8da44e44c7_17490641879424403676372514736136,item[0].quantity missing
|
||||
bf09a877-0705-4c79-b908-6e8da44e44c7_17490641879424403676372514736136,item[1].quantity missing
|
||||
17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo,item[0].quantity missing
|
||||
17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo,item[1].quantity missing
|
||||
17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo,item[0].quantity missing
|
||||
e566a3b0-cc99-4c4d-8715-9f3be841a066_noname,item[0].quantity missing
|
||||
e566a3b0-cc99-4c4d-8715-9f3be841a066_noname,item[1].quantity missing
|
||||
c6013936-5850-4027-9f61-32c30486e6d5_optique,item[0].quantity missing
|
||||
c6013936-5850-4027-9f61-32c30486e6d5_optique,item[1].quantity missing
|
||||
47399c82-030f-4904-b8f4-2c3dc7c46723_image,item[0].quantity missing
|
||||
47399c82-030f-4904-b8f4-2c3dc7c46723_image,item[1].quantity missing
|
||||
57188e7d-280a-4f94-9d7d-6af62ede30ed_lunettes,item[0].quantity missing
|
||||
209e4abe-4973-4fd3-83cc-64f940fb7372_facture_ophtalmologue,item[0].quantity missing
|
||||
209e4abe-4973-4fd3-83cc-64f940fb7372_facture_ophtalmologue,item[1].quantity missing
|
||||
85120394-0ea3-4a2c-b0d4-11b0fe31a4e7_20250213_145033,item[0].quantity missing
|
||||
85120394-0ea3-4a2c-b0d4-11b0fe31a4e7_20250213_145033,item[1].quantity missing
|
||||
Facture ostéopathe-26972680,item[0].quantity missing
|
||||
Facture médecine douce-27784971,item[0].quantity missing
|
||||
8de5aacb-e142-4321-aaaf-c4179f031d7a_20240810152224_001,item[0].quantity missing
|
||||
8de5aacb-e142-4321-aaaf-c4179f031d7a_20240810152224_001,item[1].quantity missing
|
||||
8de5aacb-e142-4321-aaaf-c4179f031d7a_20240810152224_001,item[2].quantity missing
|
||||
Facture ostéopathe-26479073,item[0].quantity missing
|
||||
b5cfbf34-f15b-4f2e-bbe9-e83c86549d98_FACTURE_OPHTALMO,item[0].quantity missing
|
||||
b5cfbf34-f15b-4f2e-bbe9-e83c86549d98_FACTURE_OPHTALMO,item[1].quantity missing
|
||||
43666807-3eb2-40b9-bdf6-94d4fe31b71e_factures,item[0].quantity missing
|
||||
43666807-3eb2-40b9-bdf6-94d4fe31b71e_factures,item[1].quantity missing
|
||||
43666807-3eb2-40b9-bdf6-94d4fe31b71e_factures,item[2].quantity missing
|
||||
70e53730-c41c-402b-a227-2262cdd9fa7b_osteo_Laurette,item[0].quantity missing
|
||||
1724226151795facture_du_30_mars_2024,item[0].quantity missing
|
||||
Facture médecine douce-27688568,bill_paid True but amount_paid missing
|
||||
Facture ostéopathe-26626551,item[0].quantity missing
|
||||
Facture des lentilles de contact-27559701,item[5].amount negative: -6.67
|
||||
Facture des lentilles de contact-27601451,item[0].quantity missing
|
||||
Facture des lentilles de contact-27601451,item[1].quantity missing
|
||||
Facture des lentilles de contact-27680116,item[0].quantity missing
|
||||
Facture des lentilles de contact-27680116,item[1].quantity missing
|
||||
Facture médecine douce-27640153,item[0].quantity missing
|
||||
Facture médecine douce-27640153,item[1].quantity missing
|
||||
Facture des lentilles de contact-27653858,item[4].amount negative: -2.9
|
||||
Facture des lentilles de contact-27653858,item[5].amount negative: -3.0
|
||||
Facture des lentilles de contact-27545715,item[1].quantity missing
|
||||
ed44bada-dfae-4ab1-b810-e47cec83e3d9_PXL_20250206_222803759.MP,item[0].quantity missing
|
||||
f6fc955d-e941-4a94-892b-ffebcfbb949a_image,item[0].quantity missing
|
||||
f6fc955d-e941-4a94-892b-ffebcfbb949a_image,item[1].quantity missing
|
||||
f6fc955d-e941-4a94-892b-ffebcfbb949a_image,item[2].quantity missing
|
||||
252c4ad4-8fa3-4ed1-9508-ee77f6dce6fe_img20250206_20040851,item[0].quantity missing
|
||||
c53ffdcc-0ee6-4bf2-8c43-923c5471310f_IMG_7285,item[0].quantity missing
|
||||
c53ffdcc-0ee6-4bf2-8c43-923c5471310f_IMG_7285,item[1].quantity missing
|
||||
d8203a60-049f-4f78-befd-556987e766d7_Facture_Mme_GLACON_Adeline,item[0].quantity missing
|
||||
d8203a60-049f-4f78-befd-556987e766d7_Facture_Mme_GLACON_Adeline,item[1].quantity missing
|
||||
821b6297-8c00-4f88-89a7-a9213c38c3e8_JEAN_PIERRE_001,item[0].quantity missing
|
||||
821b6297-8c00-4f88-89a7-a9213c38c3e8_JEAN_PIERRE_001,item[1].quantity missing
|
||||
b442261a-d504-4cda-98cd-e22a6875bfd0_M._ZIMMER_2401,item[0].quantity missing
|
||||
819f6faf-d9f3-4668-9000-e414d92c7f41_ROYER_LUDIVINE_FACTURE_OPHTALMO,item[0].quantity missing
|
||||
819f6faf-d9f3-4668-9000-e414d92c7f41_ROYER_LUDIVINE_FACTURE_OPHTALMO,item[1].quantity missing
|
||||
Facture ostéopathe-25152747,bill_paid True but amount_paid missing
|
||||
DDE prestation Facture des lentilles de contact-26705902,item[3].amount negative: -3.0
|
||||
Facture ostéopathe-26750142,item[0].quantity missing
|
||||
9934f5be-de66-495a-a478-f34e4ced1fa5_Facture_lunettes_Emnah,item[0].quantity missing
|
||||
9934f5be-de66-495a-a478-f34e4ced1fa5_Facture_lunettes_Emnah,item[1].quantity missing
|
||||
9934f5be-de66-495a-a478-f34e4ced1fa5_Facture_lunettes_Emnah,item[2].quantity missing
|
||||
9934f5be-de66-495a-a478-f34e4ced1fa5_Facture_lunettes_Emnah,item[3].quantity missing
|
||||
9934f5be-de66-495a-a478-f34e4ced1fa5_Facture_lunettes_Emnah,item[4].quantity missing
|
||||
9934f5be-de66-495a-a478-f34e4ced1fa5_Facture_lunettes_Emnah,item[5].quantity missing
|
||||
e997eddb-05a4-49f9-a7fd-82b48c2694b3_IMG_OPHTALMOLOGIE_20250117_0001,item[0].quantity missing
|
||||
fa25423e-b79c-48f9-89ae-32ffd95e3101_Facture_Ophtalmologie,item[0].quantity missing
|
||||
91c41171-ac88-4ce4-8f15-48c4ad2c5aa2_Devis_lunette,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26736761,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26736761,item[1].quantity missing
|
||||
Facture ostéopathe-26077624,item[0].quantity missing
|
||||
Facture médecine douce-27701986,item[0].quantity missing
|
||||
801fa72b-9dba-4852-9378-3b69ea925679_17354854480549213702943309634816,item[0].quantity missing
|
||||
Facture médecine douce-27784881,item[0].quantity missing
|
||||
d3ef8b3d-b78f-4455-b2d6-1c9ef9ec5e60_Quittance_Ophtalmologue,item[0].quantity missing
|
||||
d3ef8b3d-b78f-4455-b2d6-1c9ef9ec5e60_Quittance_Ophtalmologue,item[0].quantity missing
|
||||
Facture des lentilles de contact-27654482,item[3].amount negative: -5.9
|
||||
Facture des lentilles de contact-27654482,item[4].amount negative: -17.38
|
||||
Facture médecine douce-27784857,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26729570,item[0].quantity missing
|
||||
1724156677847Facture_osteophate_13_08_2024_POIGNANT_Thierry,item[0].quantity missing
|
||||
5cf26866-c1ae-4dfd-8793-54ef5148224c_FACTURE_OSTEO_SILLON_DU_22-11-2024,item[0].quantity missing
|
||||
Facture ostéopathe-26300731,item[0].quantity missing
|
||||
Facture ostéopathe-26300731,item[1].quantity missing
|
||||
Facture ostéopathe-26300731,item[2].quantity missing
|
||||
dc4e7302-925d-438f-82d5-e78510d858c5_7447113,item[3].amount negative: -5.9
|
||||
dc4e7302-925d-438f-82d5-e78510d858c5_7447113,item[4].amount negative: -5.0
|
||||
Facture ostéopathe-25089174,item[0].quantity missing
|
||||
d9e1cb2a-b44b-4cc8-b07a-030ddf3acd28_Ordonnance_lentilles_Mary,bill_paid True but amount_paid missing
|
||||
1724658376437factosteo,item[0].quantity missing
|
||||
Facture des lentilles de contact-27708923,item[0].quantity missing
|
||||
b46e8411-29d3-44b6-ae65-55f11bf360bd_FACTURE_OCULISTE_JANE,item[0].quantity missing
|
||||
b46e8411-29d3-44b6-ae65-55f11bf360bd_FACTURE_OCULISTE_JANE,item[1].quantity missing
|
||||
b46e8411-29d3-44b6-ae65-55f11bf360bd_FACTURE_OCULISTE_JANE,item[2].quantity missing
|
||||
27c16ad0-3309-4eb1-9432-ab8a546fee7c_osteo,currency missing for bill
|
||||
c2009b55-58d4-411f-a25a-3dc1e32e4a89_facture_lentille,item[3].amount negative: -3.0
|
||||
25f19f18-b19d-4e1e-b105-349dd1584c81_75109795868__1FEA46AA-A04E-44AF-9748-541DE3F7B438,item[0].quantity missing
|
||||
25f19f18-b19d-4e1e-b105-349dd1584c81_75109795868__1FEA46AA-A04E-44AF-9748-541DE3F7B438,item[1].quantity missing
|
||||
1724399050339FACTURE_132120424_MME_RONDIN_MAHEVA,item[0].quantity missing
|
||||
64fa4c19-efa4-48f1-acf8-8c2e8f573b8b_Facture_osteopathe_,item[0].quantity missing
|
||||
c7704de1-820a-44bf-aef9-f7b185f94a26_facture_ophtalmo,item[0].quantity missing
|
||||
c7704de1-820a-44bf-aef9-f7b185f94a26_facture_ophtalmo,item[1].quantity missing
|
||||
c7704de1-820a-44bf-aef9-f7b185f94a26_facture_ophtalmo,item[0].quantity missing
|
||||
bae2e636-32c5-4b2c-b2d2-a7b28b30760f_KM_C250i24082011140,item[0].quantity missing
|
||||
bae2e636-32c5-4b2c-b2d2-a7b28b30760f_KM_C250i24082011140,item[1].quantity missing
|
||||
e0f0eab0-f98c-4b74-95f2-bfc61ad76d28_Ophtalmo_Isa_01-24,item[0].quantity missing
|
||||
e0f0eab0-f98c-4b74-95f2-bfc61ad76d28_Ophtalmo_Isa_01-24,item[1].quantity missing
|
||||
Facture des lentilles de contact-27647325,item[0].quantity missing
|
||||
1724399050380osteo_Lina,item[0].quantity missing
|
||||
70c3e7f5-405b-49d8-a73c-dae83beafb59_Facture_ophtalmo,item[0].quantity missing
|
||||
70c3e7f5-405b-49d8-a73c-dae83beafb59_Facture_ophtalmo,item[1].quantity missing
|
||||
70c3e7f5-405b-49d8-a73c-dae83beafb59_Facture_ophtalmo,item[2].quantity missing
|
||||
66de7232-78a6-46a0-8392-47ec4630ad31_image,item[0].quantity missing
|
||||
66de7232-78a6-46a0-8392-47ec4630ad31_image,item[1].quantity missing
|
||||
66de7232-78a6-46a0-8392-47ec4630ad31_image,item[2].quantity missing
|
||||
0be67d5b-5af6-49ba-8851-d3976f9920a0_Facture_optalmo_Emma_PINSARD,item[0].quantity missing
|
||||
0be67d5b-5af6-49ba-8851-d3976f9920a0_Facture_optalmo_Emma_PINSARD,item[1].quantity missing
|
||||
b79c0ed4-4126-4ff5-86a8-0348cd1c308c_IMG_0048,item[0].quantity missing
|
||||
b79c0ed4-4126-4ff5-86a8-0348cd1c308c_IMG_0048,item[1].quantity missing
|
||||
b79c0ed4-4126-4ff5-86a8-0348cd1c308c_IMG_0048,item[2].quantity missing
|
||||
Facture ostéopathe-26252579,item[0].quantity missing
|
||||
Facture ostéopathe-26252579,item[1].quantity missing
|
||||
Facture ostéopathe-26252579,item[2].quantity missing
|
||||
Facture ostéopathe-26252579,item[3].quantity missing
|
||||
a5bd8b97-a2a8-49ae-900d-0673d2f96637_quittance_optique_,item[0].quantity missing
|
||||
8b6539db-21b4-41dc-a27f-db2cd351fe5f_Doc_34,item[0].quantity missing
|
||||
172465822585720240416133632216,item[0].quantity missing
|
||||
Facture médecine douce-27781814,item[0].quantity missing
|
||||
Facture ostéopathe-26349654,item[0].quantity missing
|
||||
4950b870-6662-4fcd-a7e9-1fc3abd0fdc9_IMG_20250321_182918,item[0].quantity missing
|
||||
4950b870-6662-4fcd-a7e9-1fc3abd0fdc9_IMG_20250321_182918,currency missing for bill
|
||||
cbc7ddff-2ed1-441b-85cb-5c1079588a52_Mes_des_factures,item[0].quantity missing
|
||||
cbc7ddff-2ed1-441b-85cb-5c1079588a52_Mes_des_factures,item[1].quantity missing
|
||||
91efe623-7d6b-4a96-8b03-87199c56566a_image,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26705131,item[2].amount negative: -5.0
|
||||
Facture des lentilles de contact-27620389,item[0].quantity missing
|
||||
Facture des lentilles de contact-27620389,item[1].quantity missing
|
||||
2da98e03-19d0-430e-90da-a09706de143b_Facture_Lentilles_Stephanie_Marchenay_,item[0].quantity missing
|
||||
Facture-quittance toutes spécialités-27648502,item[0].quantity missing
|
||||
Facture médecine douce-27776613,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26685394,item[0].quantity missing
|
||||
ec6baa8c-a189-4850-b310-c90bab372cc2_Facture_Krys,bill_paid True but remaining_payment > 0
|
||||
DDE prestation Facture des lentilles de contact-26772555,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26772555,item[1].quantity missing
|
||||
Facture des lentilles de contact-27700117,item[0].quantity missing
|
||||
1724399050308image,item[0].quantity missing
|
||||
179673c3-7b80-47cb-9467-3425e010905a_ordonnance08.10.2024,item[0].quantity missing
|
||||
179673c3-7b80-47cb-9467-3425e010905a_ordonnance08.10.2024,item[1].quantity missing
|
||||
cdea6c95-be16-4d2b-ba78-95ef182d8e63_IMG_20250523_084341,item[0].quantity missing
|
||||
Facture ostéopathe-25073562,item[0].quantity missing
|
||||
499639d7-4faa-4d3e-b412-7f75da0b4e01_quercy,item[0].quantity missing
|
||||
499639d7-4faa-4d3e-b412-7f75da0b4e01_quercy,item[1].quantity missing
|
||||
Facture ostéopathe-26189649,item[0].quantity missing
|
||||
Facture psychologie - 27581557,item[0].quantity missing
|
||||
Facture psychologie - 27581557,item[0].quantity missing
|
||||
fdaa0d42-8e79-4506-b222-373c88891ff5_notehonoraire__20250212_143947,item[0].quantity missing
|
||||
92340ad4-27cf-476b-a842-051d0b6a2c9f_IMG_20250619_231842,item[0].quantity missing
|
||||
Facture ostéopathe-1142513,item[0].quantity missing
|
||||
Facture ostéopathe-26447822,bill_paid True but amount_paid missing
|
||||
1724156469365facture_osteo08.24,item[0].quantity missing
|
||||
1eea4521-e98f-4f41-911b-07ffaf3b52a0_Facture_MGP,item[0].quantity missing
|
||||
1eea4521-e98f-4f41-911b-07ffaf3b52a0_Facture_MGP,item[1].quantity missing
|
||||
Facture ostéopathe-26595219,item[0].quantity missing
|
||||
0aa44c3d-2dc8-47fc-9307-d1485df454c1_20250207152016_001,item[0].quantity missing
|
||||
Facture ostéopathe-25416514,item[0].quantity missing
|
||||
Sans titre,item[0].quantity missing
|
||||
707771f6-bb3b-4e5e-8d7d-acd584a23009_IMG_20240726_142929,item[0].quantity missing
|
||||
707771f6-bb3b-4e5e-8d7d-acd584a23009_IMG_20240726_142929,item[1].quantity missing
|
||||
d35e4ea0-6678-4dd1-b0d5-fe905d262430_FACTURE_GAFFE_Thierry,item[0].quantity missing
|
||||
Facture ostéopathe-25921103,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26764274,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26764274,item[1].quantity missing
|
||||
1724658376419facture_ostheo_avril_24,item[0].quantity missing
|
||||
Facture des lentilles de contact-27654407,bill_paid True but amount_paid missing
|
||||
Facture ostéopathe-26610950,item[0].quantity missing
|
||||
Facture des lentilles de contact-27668729,item[4].amount negative: -4.9
|
||||
Facture des lentilles de contact-27668729,item[5].amount negative: -12.8
|
||||
a05800f6-c1f1-4d50-9598-98e0f90b83f0_17476639221036811513370155179329,item[0].quantity missing
|
||||
32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337,item[0].quantity missing
|
||||
32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337,item[1].quantity missing
|
||||
32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337,item[2].quantity missing
|
||||
Facture ostéopathe-1119174,item[0].quantity missing
|
||||
Facture ostéopathe-26298895,item[0].quantity missing
|
||||
82ac654c-54d4-401f-a006-96d9e46531fe_Facture_ostheo_JEAN,item[0].quantity missing
|
||||
Facture ostéopathe-26585743,item[0].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[0].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[1].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[2].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[3].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[4].quantity missing
|
||||
106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie,item[5].quantity missing
|
||||
284cb22c-17ad-409b-8d5f-79e43a6dd51b_Facture_,item[0].quantity missing
|
||||
fe86f6a8-8360-458e-834c-805ac99350cf_Monsieur_OUEDRAOGO_DAOUDA,item[0].quantity missing
|
||||
fe86f6a8-8360-458e-834c-805ac99350cf_Monsieur_OUEDRAOGO_DAOUDA,item[1].quantity missing
|
||||
Facture des lentilles de contact-27576127,item[2].amount negative: -53.0
|
||||
1724425079263JACOB_Francois_2024-111,item[0].quantity missing
|
||||
46ddeec5-97bf-4175-b214-b7bd74c4fa24_Renouvin_Ferlicot_Andre,item[0].quantity missing
|
||||
46ddeec5-97bf-4175-b214-b7bd74c4fa24_Renouvin_Ferlicot_Andre,item[1].quantity missing
|
||||
0a26adda-beef-4977-966c-12efc73f1d15_20250129_190625,item[0].quantity missing
|
||||
0a26adda-beef-4977-966c-12efc73f1d15_20250129_190625,item[1].quantity missing
|
||||
Facture ostéopathe-26699279,item[0].quantity missing
|
||||
Facture ostéopathe-1216961,bill_paid True but amount_paid missing
|
||||
Facture ostéopathe-1216961,item[0].quantity missing
|
||||
Facture ostéopathe-26935993,item[0].quantity missing
|
||||
1724425079207douilly_6,item[0].quantity missing
|
||||
Facture ostéopathe-26298310,item[0].quantity missing
|
||||
8019accc-33b4-4f20-95eb-3ff1e1d4db0b_nnn,item[0].quantity missing
|
||||
8019accc-33b4-4f20-95eb-3ff1e1d4db0b_nnn,item[1].quantity missing
|
||||
379ed230-4e27-4f61-9039-226972f26cc9_Factures_Dani_medecin_,item[0].quantity missing
|
||||
379ed230-4e27-4f61-9039-226972f26cc9_Factures_Dani_medecin_,item[1].quantity missing
|
||||
b410345a-31de-4397-a896-bc11d97e524c_FACTURE_OPHTALMOLOGISTE,item[0].quantity missing
|
||||
0268b186-6926-46af-b75f-ba01c02cb647_IMG_20240514_152542,item[0].quantity missing
|
||||
0bfb5041-2751-421d-b5d5-60d696c361c1_17391960081576654684571490136238,item[0].quantity missing
|
||||
598221c3-d0b3-403a-a261-c68cbe56b453_facture_ophtalmo,item[0].quantity missing
|
||||
598221c3-d0b3-403a-a261-c68cbe56b453_facture_ophtalmo,item[1].quantity missing
|
||||
1724226151831IMG_8005,item[0].quantity missing
|
||||
c8fa8d11-c2df-4f39-9909-28790acc5957_Factures_opthalmo,item[0].quantity missing
|
||||
50eeaebf-d552-4a12-92a4-66d185bb992b_facture_optique,item[0].quantity missing
|
||||
50eeaebf-d552-4a12-92a4-66d185bb992b_facture_optique,item[1].quantity missing
|
||||
50eeaebf-d552-4a12-92a4-66d185bb992b_facture_optique,item[2].quantity missing
|
||||
Facture ostéopathe-26744045,item[0].quantity missing
|
||||
1724425031419Facture_Osteo_20240417,item[0].quantity missing
|
||||
Facture ostéopathe-25187936,item[0].quantity missing
|
||||
ec117b21-9348-4a76-9a22-2bae87639392_facture_du_14.02_Tony,item[0].quantity missing
|
||||
ec117b21-9348-4a76-9a22-2bae87639392_facture_du_14.02_Tony,item[1].quantity missing
|
||||
Facture ostéopathe-26052732,item[0].quantity missing
|
||||
de6a66cd-d729-479c-a119-8b9e442702db_Screenshot_20250227_112521_Gallery,item[0].quantity missing
|
||||
de6a66cd-d729-479c-a119-8b9e442702db_Screenshot_20250227_112521_Gallery,item[1].quantity missing
|
||||
Facture médecine douce-27709304,item[0].quantity missing
|
||||
DDE prestation Facture des lentilles de contact-26715605,item[0].quantity missing
|
||||
Facture médecine douce-27702699,item[0].quantity missing
|
||||
70546a38-b6d7-4151-b08a-82b01c8e4a98_480755849_2183001178819517_1003204107786000285_n,item[0].quantity missing
|
||||
1724658298461facture_podologue_alicia,item[0].quantity missing
|
|
61
filter/check_009/item_total_billed_mismatches.csv
Normal file
@@ -0,0 +1,61 @@
|
||||
source_image,total_billed,sum_item_amount,diff
|
||||
6f544990-74c6-4c7e-8a25-08eb3f9138c8_RemboursementSoins01082024_1,24.98,41.41,-16.429999999999996
|
||||
ea64ca35-29f5-49ba-894b-13aa3421f1d6_doc00681020250513143142,138.96,115.78,23.180000000000007
|
||||
b7df45bd-a142-4cb1-bb00-69122c5b405a_IMG20250520184626,594.8,798.0,-203.20000000000005
|
||||
2dbb4025-f570-49f9-83d1-08aedb2b122d_lunettes_Lou-Ann,213.4,253.0,-39.599999999999994
|
||||
Facture des lentilles de contact-27693842,130.0,150.0,-20.0
|
||||
6221379e-7344-4868-9ee0-04f2c4e26874_consultation_ophtalmo27janvier2025BEAUPERINyann,20.8,20.86,-0.05999999999999872
|
||||
0a639214-b39e-4971-8d51-d83b7d2d2c2e_facture_lentilles_17_01_2025,540.8,550.8,-10.0
|
||||
8f0e72ca-64e5-4797-87bc-9378b842433a_CF_1676107,64.48,59.88,4.600000000000001
|
||||
Facture ostéopathe-26610949,60.0,100.0,-40.0
|
||||
8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes,262.0,257.0,5.0
|
||||
e566a3b0-cc99-4c4d-8715-9f3be841a066_noname,44.0,43.28,0.7199999999999989
|
||||
Facture ostéopathe-25449739,70.0,60.0,10.0
|
||||
47399c82-030f-4904-b8f4-2c3dc7c46723_image,77.61,0.0,77.61
|
||||
209e4abe-4973-4fd3-83cc-64f940fb7372_facture_ophtalmologue,72.63,0.0,72.63
|
||||
85120394-0ea3-4a2c-b0d4-11b0fe31a4e7_20250213_145033,73.33,84.33,-11.0
|
||||
43666807-3eb2-40b9-bdf6-94d4fe31b71e_factures,147.0,105.0,42.0
|
||||
a3e845ff-e89c-4eb0-bf8d-164979dfee2b_Recu_Osteo_LIGNAC_Sebastien,65.0,60.0,5.0
|
||||
060cd8e5-ac6f-47e5-b8f5-fe9d3920c522_CHIRO_FEVRIER_2025,40.0,90.0,-50.0
|
||||
1724397121050Adobe_Scan_17_avr._2024,45.96,43.00999999999999,2.95000000000001
|
||||
8f2b09a0-d20d-4a94-a70a-fda31024af49_Facture_22_04_2025,340.0,290.0,50.0
|
||||
06e1588f-71a7-43fc-bf99-d066db847189_Opticien_,375.6,613.6,-238.0
|
||||
72cb658b-3239-4479-918d-aac53bc4a552_Facture_ophtalmo_14-01-2025,130.0,0.0,130.0
|
||||
e997eddb-05a4-49f9-a7fd-82b48c2694b3_IMG_OPHTALMOLOGIE_20250117_0001,119.48,0.0,119.48
|
||||
Facture ostéopathe-1066603,45.0,65.0,-20.0
|
||||
DDE prestation Facture des lentilles de contact-26736761,78.0,76.0,2.0
|
||||
Facture ostéopathe-26555547,220.65,0.0,220.65
|
||||
96be3553-7261-4698-bf20-88ca5c826889_ReleveMensuel_Mai,154.04,535.1099999999999,-381.06999999999994
|
||||
ba1b499f-199f-4106-bb2c-aac62a67c235_doc00448420250313084147,644.16,643.96,0.1999999999999318
|
||||
1724397121048facture_kine_15-04-24,88.4,17.68,70.72
|
||||
Facture ostéopathe-26401996,205.56,0.0,205.56
|
||||
27c16ad0-3309-4eb1-9432-ab8a546fee7c_osteo,60.0,0.0,60.0
|
||||
c7704de1-820a-44bf-aef9-f7b185f94a26_facture_ophtalmo,120.0,0.0,120.0
|
||||
c7704de1-820a-44bf-aef9-f7b185f94a26_facture_ophtalmo,20.8,0.0,20.8
|
||||
bae2e636-32c5-4b2c-b2d2-a7b28b30760f_KM_C250i24082011140,110.48,0.0,110.48
|
||||
e0f0eab0-f98c-4b74-95f2-bfc61ad76d28_Ophtalmo_Isa_01-24,76.0,0.0,76.0
|
||||
670b97e0-61da-4341-843d-a02b4ae76ef5_image,352.0,468.67,-116.67000000000002
|
||||
e6c39a83-a53c-48f5-bffe-6bdb57337b33_image,560.06,560.0,0.05999999999994543
|
||||
172442503141724-04-08_recu_kine_Suz,66.12,0.0,66.12
|
||||
499639d7-4faa-4d3e-b412-7f75da0b4e01_quercy,97.63,97.43,0.19999999999998863
|
||||
5dec7b4c-0160-443c-a498-6e94875222aa_FEVRIER_HYPNO,90.0,72.0,18.0
|
||||
ff6211dc-b681-4709-9451-d36fb961476f_MICHELIZZA_QuittanceFSE_1952,280.0,245.0,35.0
|
||||
8ed22fd8-18ae-4c54-93ae-2f5cd4ec2af6_17375530503755104210735675998866,73.43,0.0,73.43
|
||||
78ec53bb-a4c5-469f-a4d0-f42db4cf9b11_CF_1697735,64.48,59.88,4.600000000000001
|
||||
4fa21bd9-393e-41d4-9af2-bf42004f4e94_image,15.93,14.48,1.4499999999999993
|
||||
DDE prestation Facture des lentilles de contact-26764274,78.0,76.0,2.0
|
||||
ffc129de-c82b-4c0b-8ab8-2941fd28cda9_Facture_opticien,525.6,828.3,-302.69999999999993
|
||||
edb77e5c-ea68-4bad-a177-1256a3bafc9c_CF_1686176,64.48,59.88,4.600000000000001
|
||||
32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337,92.4,75.72,16.680000000000007
|
||||
82ac654c-54d4-401f-a006-96d9e46531fe_Facture_ostheo_JEAN,40.0,60.0,-20.0
|
||||
Facture des lentilles de contact-27603799,73.7,67.8,5.900000000000006
|
||||
fe86f6a8-8360-458e-834c-805ac99350cf_Monsieur_OUEDRAOGO_DAOUDA,87.0,0.0,87.0
|
||||
1498c5f5-22cf-41d4-87f0-9b295ff481f4_IMG_5659,50.0,41.41,8.590000000000003
|
||||
0a26adda-beef-4977-966c-12efc73f1d15_20250129_190625,74.61,0.0,74.61
|
||||
Facture des lentilles de contact-27687795,63.98,58.0,5.979999999999997
|
||||
8019accc-33b4-4f20-95eb-3ff1e1d4db0b_nnn,127.77,0.0,127.77
|
||||
379ed230-4e27-4f61-9039-226972f26cc9_Factures_Dani_medecin_,26.5,53.0,-26.5
|
||||
598221c3-d0b3-403a-a261-c68cbe56b453_facture_ophtalmo,44.0,88.0,-44.0
|
||||
1724226151831IMG_8005,33.0,38.0,-5.0
|
||||
50eeaebf-d552-4a12-92a4-66d185bb992b_facture_optique,85.08,70.61,14.469999999999999
|
||||
b5ecf45a-00cd-45a8-900d-6a4fc90a79a4_ZOPIE_CORPETTI_CAROLE,113.44,113.34,0.09999999999999432
|
|
193
filter/check_009/label_analysis_report.md
Normal file
@@ -0,0 +1,193 @@
|
||||
# Label Analysis Report
|
||||
|
||||
Input: `009_label_data_sample_seed_42.json`
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||
- Total records: 1232
|
||||
- Total labels (flattened): 1259
|
||||
- is_bill distribution: {True: 1126, False: 133}
|
||||
- bill_paid distribution: {False: 74, True: 1011, None: 174}
|
||||
- Invoice dates span: 2012-04-17 .. 2025-12-20
|
||||
- Unique year-month pairs: 64
|
||||
|
||||
## Professions (top)
|
||||
|
||||
- Ostéopathe: 377
|
||||
- Ostéopathie: 308
|
||||
- Optique: 221
|
||||
- (missing): 108
|
||||
- Chiropractie: 54
|
||||
- Psychologue: 52
|
||||
- Unknown: 21
|
||||
- Kinésithérapie: 15
|
||||
- Ophtalmologie: 13
|
||||
- Sophrologie: 12
|
||||
- Podologue: 9
|
||||
- Hypnothérapie: 7
|
||||
- Pharmacie: 5
|
||||
- Naturopathie: 5
|
||||
- Etiopathie: 4
|
||||
- Radiologie: 4
|
||||
- Étiopathie: 4
|
||||
- Soins hospitalier: 4
|
||||
- Sophrologue: 3
|
||||
- Etiopathe: 3
|
||||
- Psychologie: 2
|
||||
- Psychomotricité: 2
|
||||
- Otique: 2
|
||||
- Médecine Générale: 2
|
||||
- Homéopathie: 2
|
||||
- Kinésiologie: 2
|
||||
- Pompes funèbres: 2
|
||||
- Chirurgie dentaire: 1
|
||||
- Biologie: 1
|
||||
- Sevrage tabagique: 1
|
||||
- Acupuncture: 1
|
||||
- Étiopathe: 1
|
||||
- unknown: 1
|
||||
- Orthopédie: 1
|
||||
- Psychiatrie: 1
|
||||
- Diététicienne: 1
|
||||
- Chiropratie: 1
|
||||
- Medecine Générale: 1
|
||||
- Sage-femme: 1
|
||||
- Addictologie: 1
|
||||
- Ophtalmologue: 1
|
||||
- Diététique: 1
|
||||
- Réflexologie: 1
|
||||
|
||||
## Currency distribution
|
||||
|
||||
- EUR: 1137
|
||||
- F: 2
|
||||
|
||||
## Identifier and key field presence
|
||||
|
||||
- adeli_number: 902 present
|
||||
- rpps_number: 179 present
|
||||
- finess_number: 133 present
|
||||
- prescripteur_finess_number: 42 present
|
||||
- doctor_name: 1051 present
|
||||
- invoice_issuer: 1122 present
|
||||
- insured_name: 203 present
|
||||
- beneficiary_name: 1098 present
|
||||
- security_number: 494 present
|
||||
- currency: 1139 present
|
||||
|
||||
## Flags
|
||||
|
||||
- is_handwriting: {True: 62, None: 858, False: 339}
|
||||
- is_rotated: {False: 372, None: 856, True: 31}
|
||||
|
||||
## Numeric summaries
|
||||
|
||||
- total_billed: {'count': 1134, 'min': 1.0, 'p25': 55.0, 'median': 60.0, 'p75': 70.0, 'max': 18600.0, 'mean': 112.98805114638448, 'sum': 128128.45000000001, 'missing': 125}
|
||||
- amount_paid: {'count': 1012, 'min': 0.0, 'p25': 50.0, 'median': 60.0, 'p75': 65.0, 'max': 18600.0, 'mean': 106.93289525691699, 'sum': 108216.08999999997, 'missing': 247}
|
||||
- remaining_payment: {'count': 252, 'min': 0.0, 'p25': 0.0, 'median': 0.0, 'p75': 0.0, 'max': 2744.64, 'mean': 14.226587301587301, 'sum': 3585.1, 'missing': 1007}
|
||||
- client_part: {'count': 153, 'min': 0.0, 'p25': 27.72, 'median': 46.41, 'p75': 81.5, 'max': 1100.0, 'mean': 95.07934640522876, 'sum': 14547.140000000007, 'missing': 1106}
|
||||
- mandatory_coverage: {'count': 138, 'min': 0.0, 'p25': 0.09, 'median': 27.380000000000003, 'p75': 47.730000000000004, 'max': 1175.72, 'mean': 39.25376811594203, 'sum': 5417.020000000004, 'missing': 1121}
|
||||
- complementary_coverage: {'count': 89, 'min': 0.0, 'p25': 0.0, 'median': 0.0, 'p75': 60.0, 'max': 370.03, 'mean': 54.395168539325844, 'sum': 4841.169999999999, 'missing': 1170}
|
||||
|
||||
## Items analysis
|
||||
|
||||
- Items per label: count=1259, min=0, max=14, mean=1.22
|
||||
- total_billed vs sum(items.amount) mismatches: 60
|
||||
|
||||
## Data quality issues (sample)
|
||||
|
||||
- eedda33e-049b-4ab8-aee8-6f5d0c88b500_IMG_0358: item[0].quantity missing
|
||||
- eedda33e-049b-4ab8-aee8-6f5d0c88b500_IMG_0358: item[1].quantity missing
|
||||
- e72e49e0-7891-4dc8-b62f-40c7bf6252a4_Nuria_Ravier_Ophtalomologiste: item[0].quantity missing
|
||||
- e72e49e0-7891-4dc8-b62f-40c7bf6252a4_Nuria_Ravier_Ophtalomologiste: item[0].quantity missing
|
||||
- Facture ostéopathe-25417096: item[0].quantity missing
|
||||
- eb5561dd-937b-4c0b-b6c6-56da8b528c94_facture_vision_claire_ophtalmo_1_001: item[0].quantity missing
|
||||
- 6f544990-74c6-4c7e-8a25-08eb3f9138c8_RemboursementSoins01082024_1: item[0].quantity missing
|
||||
- 6f544990-74c6-4c7e-8a25-08eb3f9138c8_RemboursementSoins01082024_1: item[1].quantity missing
|
||||
- 1150ac6a-abdc-409d-b7ca-296e7b35769c_Facture_BOLZERJean_Francois_20250131GMAM: item[0].quantity missing
|
||||
- Facture ostéopathe-26738638: item[0].quantity missing
|
||||
- 34162b51-6c3f-4dcc-a18a-d6b9e45e4f22_Recu_ophtalmo_Cadet_Corine_2025-03-09: bill_paid True but remaining_payment > 0
|
||||
- 34162b51-6c3f-4dcc-a18a-d6b9e45e4f22_Recu_ophtalmo_Cadet_Corine_2025-03-09: item[0].quantity missing
|
||||
- 34162b51-6c3f-4dcc-a18a-d6b9e45e4f22_Recu_ophtalmo_Cadet_Corine_2025-03-09: item[1].quantity missing
|
||||
- abff81b4-d895-47d5-b3d4-93da48f5c1e6_20241212_172044: item[0].quantity missing
|
||||
- abff81b4-d895-47d5-b3d4-93da48f5c1e6_20241212_172044: item[1].quantity missing
|
||||
- 2c75bd51-e61c-452e-b19b-494fa70e9cc9_Facture_lentilles_janvier_2024: item[4].amount negative: -2.9
|
||||
- 2c75bd51-e61c-452e-b19b-494fa70e9cc9_Facture_lentilles_janvier_2024: item[5].amount negative: -3.0
|
||||
- Facture ostéopathe-26605349: item[0].quantity missing
|
||||
- Facture médecine douce-27702698: item[0].quantity missing
|
||||
- 6221379e-7344-4868-9ee0-04f2c4e26874_consultation_ophtalmo27janvier2025BEAUPERINyann: item[0].quantity missing
|
||||
- f55f9121-499d-4c25-b79b-464413d7ca6c_Quittance_Ophtalmologue: item[0].quantity missing
|
||||
- f55f9121-499d-4c25-b79b-464413d7ca6c_Quittance_Ophtalmologue: item[0].quantity missing
|
||||
- 62b45277-a437-48c6-af52-d1814f23434f_17460042180346042803920585280783: item[0].quantity missing
|
||||
- 62b45277-a437-48c6-af52-d1814f23434f_17460042180346042803920585280783: item[1].quantity missing
|
||||
- Facture ostéopathe-25847017: bill_paid True but remaining_payment > 0
|
||||
- 02358c4c-820a-409f-9489-a75f22af3f32_image: item[0].quantity missing
|
||||
- 02358c4c-820a-409f-9489-a75f22af3f32_image: item[1].quantity missing
|
||||
- 7ef7306d-400e-4a56-b31c-02237212c470_Scan: item[0].quantity missing
|
||||
- 7ef7306d-400e-4a56-b31c-02237212c470_Scan: item[1].quantity missing
|
||||
- f482ebef-e885-4627-a927-96ad54ab5aa0_Facture: item[0].quantity missing
|
||||
- f482ebef-e885-4627-a927-96ad54ab5aa0_Facture: item[1].quantity missing
|
||||
- f482ebef-e885-4627-a927-96ad54ab5aa0_Facture: item[3].quantity missing
|
||||
- f482ebef-e885-4627-a927-96ad54ab5aa0_Facture: item[4].quantity missing
|
||||
- f482ebef-e885-4627-a927-96ad54ab5aa0_Facture: item[6].quantity missing
|
||||
- f482ebef-e885-4627-a927-96ad54ab5aa0_Facture: item[7].quantity missing
|
||||
- f482ebef-e885-4627-a927-96ad54ab5aa0_Facture: item[8].quantity missing
|
||||
- f482ebef-e885-4627-a927-96ad54ab5aa0_Facture: item[9].quantity missing
|
||||
- f482ebef-e885-4627-a927-96ad54ab5aa0_Facture: item[11].quantity missing
|
||||
- Facture ostéopathe-26610949: item[0].quantity missing
|
||||
- 8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes: item[0].quantity missing
|
||||
- 8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes: item[1].quantity missing
|
||||
- 8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes: item[2].quantity missing
|
||||
- 8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes: item[3].quantity missing
|
||||
- 8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes: item[4].quantity missing
|
||||
- bf09a877-0705-4c79-b908-6e8da44e44c7_17490641879424403676372514736136: item[0].quantity missing
|
||||
- bf09a877-0705-4c79-b908-6e8da44e44c7_17490641879424403676372514736136: item[1].quantity missing
|
||||
- 17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo: item[0].quantity missing
|
||||
- 17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo: item[1].quantity missing
|
||||
- 17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo: item[0].quantity missing
|
||||
- e566a3b0-cc99-4c4d-8715-9f3be841a066_noname: item[0].quantity missing
|
||||
|
||||
## Plots
|
||||
|
||||
- is_bill
|
||||

|
||||
|
||||
- bill_paid
|
||||

|
||||
|
||||
- is_handwriting
|
||||

|
||||
|
||||
- is_rotated
|
||||

|
||||
|
||||
- professions_top20
|
||||

|
||||
|
||||
- currency
|
||||

|
||||
|
||||
- invoice_year_month
|
||||

|
||||
|
||||
- items_per_label
|
||||

|
||||
|
||||
- hist_total_billed
|
||||

|
||||
|
||||
- hist_amount_paid
|
||||

|
||||
|
||||
- hist_remaining_payment
|
||||

|
||||
|
||||
- hist_client_part
|
||||

|
||||
|
||||
- hist_mandatory_coverage
|
||||

|
||||
|
||||
- hist_complementary_coverage
|
||||

|
BIN
filter/check_009/plots/bill_paid.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
filter/check_009/plots/currency.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
filter/check_009/plots/hist_amount_paid.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
filter/check_009/plots/hist_client_part.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
filter/check_009/plots/hist_complementary_coverage.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
filter/check_009/plots/hist_mandatory_coverage.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
filter/check_009/plots/hist_remaining_payment.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
filter/check_009/plots/hist_total_billed.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
filter/check_009/plots/invoice_year_month.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
filter/check_009/plots/is_bill.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
filter/check_009/plots/is_handwriting.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
filter/check_009/plots/is_rotated.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
filter/check_009/plots/items_per_label.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
filter/check_009/plots/professions_top20.png
Normal file
After Width: | Height: | Size: 84 KiB |
44
filter/check_009/professions_counts.csv
Normal file
@@ -0,0 +1,44 @@
|
||||
profession,count
|
||||
Ostéopathe,377
|
||||
Ostéopathie,308
|
||||
Optique,221
|
||||
(missing),108
|
||||
Chiropractie,54
|
||||
Psychologue,52
|
||||
Unknown,21
|
||||
Kinésithérapie,15
|
||||
Ophtalmologie,13
|
||||
Sophrologie,12
|
||||
Podologue,9
|
||||
Hypnothérapie,7
|
||||
Pharmacie,5
|
||||
Naturopathie,5
|
||||
Etiopathie,4
|
||||
Radiologie,4
|
||||
Étiopathie,4
|
||||
Soins hospitalier,4
|
||||
Sophrologue,3
|
||||
Etiopathe,3
|
||||
Psychologie,2
|
||||
Psychomotricité,2
|
||||
Otique,2
|
||||
Médecine Générale,2
|
||||
Homéopathie,2
|
||||
Kinésiologie,2
|
||||
Pompes funèbres,2
|
||||
Chirurgie dentaire,1
|
||||
Biologie,1
|
||||
Sevrage tabagique,1
|
||||
Acupuncture,1
|
||||
Étiopathe,1
|
||||
unknown,1
|
||||
Orthopédie,1
|
||||
Psychiatrie,1
|
||||
Diététicienne,1
|
||||
Chiropratie,1
|
||||
Medecine Générale,1
|
||||
Sage-femme,1
|
||||
Addictologie,1
|
||||
Ophtalmologue,1
|
||||
Diététique,1
|
||||
Réflexologie,1
|
|
163
filter/create_label_data.py
Normal file
@@ -0,0 +1,163 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Script to filter label_data.json based on filepaths in dbscan_filtered_results.json
|
||||
|
||||
This script will keep only the samples from label_data.json where the 'image' field
|
||||
matches with the filepath names found in the 'results' section of dbscan_filtered_results.json
|
||||
"""
|
||||
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import List, Dict, Set
|
||||
|
||||
|
||||
def extract_image_names_from_filepath(filepath: str) -> str:
|
||||
"""
|
||||
Extract the base image name from a filepath for comparison.
|
||||
|
||||
Args:
|
||||
filepath: Full filepath from dbscan results
|
||||
|
||||
Returns:
|
||||
Base filename without extension and path
|
||||
"""
|
||||
return Path(filepath).stem
|
||||
|
||||
|
||||
def load_dbscan_filtered_results(filepath: str) -> Set[str]:
|
||||
"""
|
||||
Load dbscan filtered results and extract image names.
|
||||
|
||||
Args:
|
||||
filepath: Path to dbscan_filtered_results.json
|
||||
|
||||
Returns:
|
||||
Set of image names extracted from filepaths
|
||||
"""
|
||||
with open(filepath, 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
|
||||
image_names = set()
|
||||
|
||||
# Extract image names from all results
|
||||
for result in data.get('results', []):
|
||||
filepath_str = result.get('filepath', '')
|
||||
if filepath_str:
|
||||
# Extract filename without extension
|
||||
image_name = extract_image_names_from_filepath(filepath_str)
|
||||
image_names.add(image_name)
|
||||
|
||||
# Also try to match different variations
|
||||
# Some images might have different naming patterns
|
||||
filename = Path(filepath_str).name
|
||||
# Remove extension and add to set
|
||||
filename_without_ext = Path(filename).stem
|
||||
image_names.add(filename_without_ext)
|
||||
|
||||
return image_names
|
||||
|
||||
|
||||
def load_label_data(filepath: str) -> List[Dict]:
|
||||
"""
|
||||
Load label data from JSON file.
|
||||
|
||||
Args:
|
||||
filepath: Path to label_data.json
|
||||
|
||||
Returns:
|
||||
List of label data samples
|
||||
"""
|
||||
with open(filepath, 'r', encoding='utf-8') as f:
|
||||
return json.load(f)
|
||||
|
||||
|
||||
def filter_label_data(label_data: List[Dict], valid_image_names: Set[str]) -> List[Dict]:
|
||||
"""
|
||||
Filter label data to keep only samples with matching image names.
|
||||
|
||||
Args:
|
||||
label_data: List of label data samples
|
||||
valid_image_names: Set of valid image names from dbscan results
|
||||
|
||||
Returns:
|
||||
Filtered list of label data samples
|
||||
"""
|
||||
filtered_data = []
|
||||
|
||||
for sample in label_data:
|
||||
image_name = sample.get('image', '')
|
||||
|
||||
# Check if the image name matches any of the valid names
|
||||
# We'll check various matching strategies
|
||||
if (image_name in valid_image_names or
|
||||
# Check if any valid name is contained in the image name
|
||||
any(valid_name in image_name for valid_name in valid_image_names) or
|
||||
# Check if image name is contained in any valid name
|
||||
any(image_name in valid_name for valid_name in valid_image_names)):
|
||||
filtered_data.append(sample)
|
||||
|
||||
return filtered_data
|
||||
|
||||
|
||||
def save_filtered_data(filtered_data: List[Dict], output_filepath: str):
|
||||
"""
|
||||
Save filtered data to JSON file.
|
||||
|
||||
Args:
|
||||
filtered_data: Filtered label data
|
||||
output_filepath: Path to save the filtered data
|
||||
"""
|
||||
with open(output_filepath, 'w', encoding='utf-8') as f:
|
||||
json.dump(filtered_data, f, ensure_ascii=False, indent=2)
|
||||
|
||||
|
||||
def main():
|
||||
"""Main function to execute the filtering process."""
|
||||
|
||||
# Input file paths
|
||||
# dbscan_results_path = '014_dbscan_filtered_results_temp.json'
|
||||
# dbscan_results_path = '/home/nguyendc/sonnh/embedding-clustering/filter/027_dbscan_v3_filtered_results_temp.json'
|
||||
dbscan_results_path = '/home/nguyendc/sonnh/embedding-clustering/filter/029_dbscan_v3_filtered_results_temp_30.json'
|
||||
|
||||
print(dbscan_results_path)
|
||||
label_data_path = '/home/nguyendc/sonnh/embedding-clustering/filter/label_data.json'
|
||||
|
||||
# Output file path
|
||||
# output_path = '014_filtered_label_data_dbscan_v2_30_percent_amount_data.json'
|
||||
|
||||
output_path = '030_dbscan_v3_retrain_014.json'
|
||||
|
||||
# Check if input files exist
|
||||
if not os.path.exists(dbscan_results_path):
|
||||
print(f"Error: {dbscan_results_path} not found!")
|
||||
return
|
||||
|
||||
if not os.path.exists(label_data_path):
|
||||
print(f"Error: {label_data_path} not found!")
|
||||
return
|
||||
|
||||
print("Loading dbscan filtered results...")
|
||||
valid_image_names = load_dbscan_filtered_results(dbscan_results_path)
|
||||
print(f"Found {len(valid_image_names)} unique image names in dbscan results")
|
||||
|
||||
print("Loading label data...")
|
||||
label_data = load_label_data(label_data_path)
|
||||
print(f"Loaded {len(label_data)} samples from label data")
|
||||
|
||||
print("Filtering label data...")
|
||||
filtered_data = filter_label_data(label_data, valid_image_names)
|
||||
print(f"Filtered to {len(filtered_data)} samples")
|
||||
|
||||
print(f"Saving filtered data to {output_path}...")
|
||||
save_filtered_data(filtered_data, output_path)
|
||||
|
||||
print("Filtering completed successfully!")
|
||||
print(f"Original samples: {len(label_data)}")
|
||||
print(f"Filtered samples: {len(filtered_data)}")
|
||||
print(f"Reduction: {len(label_data) - len(filtered_data)} samples removed")
|
||||
print(f"Retention rate: {len(filtered_data)/len(label_data)*100:.2f}%")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
326
filter/dbscan.py
Normal file
@@ -0,0 +1,326 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
DBSCAN Clustering Filter
|
||||
|
||||
Filters clustering results based on specific criteria:
|
||||
- For each cluster: select 50% of points
|
||||
- 25% from center region (closest to centroid)
|
||||
- 25% from border region (furthest from centroid)
|
||||
- All noise points are selected
|
||||
- Uses cosine distance metric
|
||||
"""
|
||||
|
||||
import json
|
||||
import numpy as np
|
||||
from sklearn.preprocessing import normalize
|
||||
from sklearn.metrics.pairwise import cosine_distances
|
||||
import argparse
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
class DBSCANFilter:
|
||||
def __init__(self, embeddings_path, clustering_results_path):
|
||||
"""
|
||||
Initialize DBSCAN filter
|
||||
|
||||
Args:
|
||||
embeddings_path: Path to embeddings JSON file
|
||||
clustering_results_path: Path to DBSCAN clustering results JSON
|
||||
"""
|
||||
self.embeddings_path = embeddings_path
|
||||
self.clustering_results_path = clustering_results_path
|
||||
self.embeddings = None
|
||||
self.embeddings_normalized = None
|
||||
self.clustering_results = None
|
||||
self.filepath_to_embedding = {}
|
||||
|
||||
def load_data(self):
|
||||
"""Load embeddings and clustering results"""
|
||||
print("Loading embeddings...")
|
||||
with open(self.embeddings_path, 'r') as f:
|
||||
embeddings_data = json.load(f)
|
||||
|
||||
# Create mapping from filepath to embedding
|
||||
embeddings_list = []
|
||||
filepaths = []
|
||||
for item in embeddings_data:
|
||||
self.filepath_to_embedding[item['filepath']] = item['embedding']
|
||||
embeddings_list.append(item['embedding'])
|
||||
filepaths.append(item['filepath'])
|
||||
|
||||
self.embeddings = np.array(embeddings_list, dtype=np.float32)
|
||||
self.embeddings_normalized = normalize(self.embeddings, norm='l2')
|
||||
print(f"Loaded {len(embeddings_list)} embeddings")
|
||||
|
||||
print("Loading clustering results...")
|
||||
with open(self.clustering_results_path, 'r') as f:
|
||||
self.clustering_results = json.load(f)
|
||||
|
||||
print(f"Loaded clustering results: {self.clustering_results['n_clusters']} clusters, "
|
||||
f"{self.clustering_results['n_samples']} samples")
|
||||
|
||||
def group_by_clusters(self):
|
||||
"""Group data points by cluster labels"""
|
||||
clusters = {}
|
||||
noise_points = []
|
||||
|
||||
for result in self.clustering_results['results']:
|
||||
cluster_id = result['cluster']
|
||||
filepath = result['filepath']
|
||||
if 'is_noise' in result:
|
||||
is_noise = result['is_noise']
|
||||
else:
|
||||
is_noise = False
|
||||
|
||||
if is_noise or cluster_id == -1:
|
||||
noise_points.append({
|
||||
'filepath': filepath,
|
||||
'embedding': self.filepath_to_embedding[filepath]
|
||||
})
|
||||
else:
|
||||
if cluster_id not in clusters:
|
||||
clusters[cluster_id] = []
|
||||
clusters[cluster_id].append({
|
||||
'filepath': filepath,
|
||||
'embedding': self.filepath_to_embedding[filepath]
|
||||
})
|
||||
|
||||
return clusters, noise_points
|
||||
|
||||
def calculate_cluster_centroid(self, cluster_points):
|
||||
"""Calculate centroid of a cluster using normalized embeddings"""
|
||||
embeddings = np.array([point['embedding'] for point in cluster_points])
|
||||
embeddings_normalized = normalize(embeddings, norm='l2')
|
||||
|
||||
# For cosine distance, centroid is the normalized mean
|
||||
centroid = np.mean(embeddings_normalized, axis=0)
|
||||
centroid_normalized = normalize(centroid.reshape(1, -1), norm='l2')[0]
|
||||
|
||||
return centroid_normalized
|
||||
|
||||
def calculate_cosine_distances_to_centroid(self, cluster_points, centroid):
|
||||
"""Calculate cosine distances from each point to cluster centroid"""
|
||||
embeddings = np.array([point['embedding'] for point in cluster_points])
|
||||
embeddings_normalized = normalize(embeddings, norm='l2')
|
||||
|
||||
# Calculate cosine distances to centroid
|
||||
distances = cosine_distances(embeddings_normalized, centroid.reshape(1, -1)).flatten()
|
||||
|
||||
return distances
|
||||
|
||||
# v1 0.5 data, 0.5 center 0.5 border
|
||||
|
||||
# v2 0.5 data, 0.25 center 0.75 border
|
||||
# def filter_cluster(self, cluster_points, selection_ratio=0.5):
|
||||
|
||||
# v3 0.75 data, 0.25 center 0.75 border
|
||||
def filter_cluster(self, cluster_points, selection_ratio=0.5):
|
||||
|
||||
"""
|
||||
Filter points from a cluster
|
||||
|
||||
Args:
|
||||
cluster_points: List of points in the cluster
|
||||
selection_ratio: Ratio of points to select (default: 0.5 = 50%)
|
||||
|
||||
Returns:
|
||||
List of selected points
|
||||
"""
|
||||
if len(cluster_points) == 0:
|
||||
return []
|
||||
|
||||
|
||||
# Calculate how many points to select
|
||||
total_points = len(cluster_points)
|
||||
num_to_select = max(15, int(total_points * selection_ratio))
|
||||
|
||||
# If we need to select all or almost all points, just return all
|
||||
if num_to_select >= total_points:
|
||||
return cluster_points
|
||||
|
||||
# Calculate centroid
|
||||
centroid = self.calculate_cluster_centroid(cluster_points)
|
||||
|
||||
# Calculate distances to centroid
|
||||
distances = self.calculate_cosine_distances_to_centroid(cluster_points, centroid)
|
||||
|
||||
# Create list of (point, distance) pairs
|
||||
point_distance_pairs = list(zip(cluster_points, distances))
|
||||
|
||||
# Sort by distance (closest to furthest from centroid)
|
||||
point_distance_pairs.sort(key=lambda x: x[1])
|
||||
|
||||
# Calculate how many points to select from center and border
|
||||
# 25% from center (closest to centroid)
|
||||
center_count = max(1, int(num_to_select * 0.25)) # 50% of selected points from center
|
||||
# 25% from border (furthest from centroid)
|
||||
border_count = num_to_select - center_count # remaining from border
|
||||
|
||||
selected_points = []
|
||||
|
||||
# Select center points (closest to centroid)
|
||||
center_points = [pair[0] for pair in point_distance_pairs[:center_count]]
|
||||
selected_points.extend(center_points)
|
||||
|
||||
# Select border points (furthest from centroid)
|
||||
if border_count > 0:
|
||||
border_points = [pair[0] for pair in point_distance_pairs[-border_count:]]
|
||||
selected_points.extend(border_points)
|
||||
|
||||
print(f"Cluster with {total_points} points -> selected {len(selected_points)} points "
|
||||
f"({center_count} center + {border_count} border)")
|
||||
|
||||
return selected_points
|
||||
|
||||
def filter_all_clusters(self):
|
||||
"""Filter all clusters according to the specified criteria"""
|
||||
print("\n" + "="*60)
|
||||
print("FILTERING DBSCAN CLUSTERING RESULTS")
|
||||
print("="*60)
|
||||
|
||||
clusters, noise_points = self.group_by_clusters()
|
||||
|
||||
print(f"Found {len(clusters)} clusters and {len(noise_points)} noise points")
|
||||
|
||||
filtered_results = []
|
||||
|
||||
# Process each cluster
|
||||
for cluster_id, cluster_points in clusters.items():
|
||||
print(f"\nProcessing Cluster {cluster_id}:")
|
||||
filtered_points = self.filter_cluster(cluster_points)
|
||||
|
||||
# Add cluster information
|
||||
for point in filtered_points:
|
||||
filtered_results.append({
|
||||
'filepath': point['filepath'],
|
||||
'cluster': cluster_id,
|
||||
'is_noise': False,
|
||||
'selection_type': 'cluster_filtered'
|
||||
})
|
||||
|
||||
# Add all noise points
|
||||
print(f"\nAdding all {len(noise_points)} noise points...")
|
||||
for point in noise_points:
|
||||
filtered_results.append({
|
||||
'filepath': point['filepath'],
|
||||
'cluster': -1,
|
||||
'is_noise': True,
|
||||
'selection_type': 'noise'
|
||||
})
|
||||
|
||||
return filtered_results
|
||||
|
||||
def save_filtered_results(self, filtered_results, output_path=None):
|
||||
"""Save filtered results to JSON file"""
|
||||
if output_path is None:
|
||||
# Generate output filename based on input
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
output_path = f"{base_name}_filtered.json"
|
||||
|
||||
# Create summary statistics
|
||||
cluster_stats = {}
|
||||
noise_count = 0
|
||||
|
||||
for result in filtered_results:
|
||||
if result['is_noise']:
|
||||
noise_count += 1
|
||||
else:
|
||||
cluster_id = result['cluster']
|
||||
if cluster_id not in cluster_stats:
|
||||
cluster_stats[cluster_id] = 0
|
||||
cluster_stats[cluster_id] += 1
|
||||
|
||||
# Prepare output data
|
||||
output_data = {
|
||||
"method": "DBSCAN_FILTERED",
|
||||
"original_n_clusters": self.clustering_results['n_clusters'],
|
||||
"original_n_samples": self.clustering_results['n_samples'],
|
||||
"filtered_n_samples": len(filtered_results),
|
||||
"filtering_criteria": {
|
||||
"cluster_selection_ratio": 0.5,
|
||||
"center_points_ratio": 0.5, # 50% of selected points from center
|
||||
"border_points_ratio": 0.5, # 50% of selected points from border
|
||||
"noise_points": "all_selected"
|
||||
},
|
||||
"cluster_statistics": cluster_stats,
|
||||
"noise_points": noise_count,
|
||||
"results": filtered_results
|
||||
}
|
||||
|
||||
with open(output_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(output_data, f, indent=4, ensure_ascii=False)
|
||||
|
||||
print("\n" + "="*60)
|
||||
print("FILTERING SUMMARY")
|
||||
print("="*60)
|
||||
print(f"Original samples: {self.clustering_results['n_samples']}")
|
||||
print(f"Filtered samples: {len(filtered_results)}")
|
||||
print(f"Reduction ratio: {len(filtered_results)/self.clustering_results['n_samples']:.2%}")
|
||||
print("\nCluster breakdown:")
|
||||
for cluster_id, count in sorted(cluster_stats.items()):
|
||||
print(f" Cluster {cluster_id}: {count} points")
|
||||
print(f" Noise points: {noise_count} points")
|
||||
print(f"\nFiltered results saved to: {output_path}")
|
||||
|
||||
return output_path
|
||||
|
||||
def create_filepath_list(self, filtered_results, output_txt_path=None):
|
||||
"""Create a simple text file with filtered filepaths"""
|
||||
if output_txt_path is None:
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
output_txt_path = f"{base_name}_filtered_filepaths.txt"
|
||||
|
||||
filepaths = [result['filepath'] for result in filtered_results]
|
||||
|
||||
with open(output_txt_path, 'w', encoding='utf-8') as f:
|
||||
for filepath in filepaths:
|
||||
f.write(f"{filepath}\n")
|
||||
|
||||
print(f"Filepath list saved to: {output_txt_path}")
|
||||
return output_txt_path
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Filter DBSCAN clustering results")
|
||||
parser.add_argument("--embeddings_path", required=True,
|
||||
help="Path to embeddings JSON file")
|
||||
parser.add_argument("--clustering_results_path", required=True,
|
||||
help="Path to DBSCAN clustering results JSON file")
|
||||
parser.add_argument("--output_path",
|
||||
help="Output path for filtered results (optional)")
|
||||
parser.add_argument("--create_filepath_list", action="store_true",
|
||||
help="Also create a simple text file with filtered filepaths")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Validate input files exist
|
||||
if not os.path.exists(args.embeddings_path):
|
||||
print(f"Error: Embeddings file not found: {args.embeddings_path}")
|
||||
return
|
||||
|
||||
if not os.path.exists(args.clustering_results_path):
|
||||
print(f"Error: Clustering results file not found: {args.clustering_results_path}")
|
||||
return
|
||||
|
||||
# Initialize filter
|
||||
filter_obj = DBSCANFilter(args.embeddings_path, args.clustering_results_path)
|
||||
|
||||
# Load data
|
||||
filter_obj.load_data()
|
||||
|
||||
# Filter clusters
|
||||
filtered_results = filter_obj.filter_all_clusters()
|
||||
|
||||
# Save results
|
||||
filter_obj.save_filtered_results(filtered_results, args.output_path)
|
||||
|
||||
# Create filepath list if requested
|
||||
if args.create_filepath_list:
|
||||
filter_obj.create_filepath_list(filtered_results)
|
||||
|
||||
print("\nFiltering completed successfully!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
429
filter/dbscan_only_one_cluster.py
Normal file
@@ -0,0 +1,429 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
DBSCAN Clustering Filter
|
||||
|
||||
Filters clustering results based on specific criteria:
|
||||
- For each cluster: select 50% of points
|
||||
- 25% from center region (closest to centroid)
|
||||
- 25% from border region (furthest from centroid)
|
||||
- All noise points are selected
|
||||
- Uses cosine distance metric
|
||||
"""
|
||||
|
||||
import json
|
||||
import numpy as np
|
||||
from sklearn.preprocessing import normalize
|
||||
from sklearn.metrics.pairwise import cosine_distances
|
||||
import argparse
|
||||
import os
|
||||
from pathlib import Path
|
||||
import random
|
||||
|
||||
|
||||
class DBSCANFilter:
|
||||
def __init__(self, embeddings_path, clustering_results_path):
|
||||
"""
|
||||
Initialize DBSCAN filter
|
||||
|
||||
Args:
|
||||
embeddings_path: Path to embeddings JSON file
|
||||
clustering_results_path: Path to DBSCAN clustering results JSON
|
||||
"""
|
||||
self.embeddings_path = embeddings_path
|
||||
self.clustering_results_path = clustering_results_path
|
||||
self.embeddings = None
|
||||
self.embeddings_normalized = None
|
||||
self.clustering_results = None
|
||||
self.filepath_to_embedding = {}
|
||||
|
||||
def load_data(self):
|
||||
"""Load embeddings and clustering results"""
|
||||
print("Loading embeddings...")
|
||||
with open(self.embeddings_path, 'r') as f:
|
||||
embeddings_data = json.load(f)
|
||||
|
||||
# Create mapping from filepath to embedding
|
||||
embeddings_list = []
|
||||
filepaths = []
|
||||
for item in embeddings_data:
|
||||
self.filepath_to_embedding[item['filepath']] = item['embedding']
|
||||
embeddings_list.append(item['embedding'])
|
||||
filepaths.append(item['filepath'])
|
||||
|
||||
self.embeddings = np.array(embeddings_list, dtype=np.float32)
|
||||
self.embeddings_normalized = normalize(self.embeddings, norm='l2')
|
||||
print(f"Loaded {len(embeddings_list)} embeddings")
|
||||
|
||||
print("Loading clustering results...")
|
||||
with open(self.clustering_results_path, 'r') as f:
|
||||
self.clustering_results = json.load(f)
|
||||
|
||||
print(f"Loaded clustering results: {self.clustering_results['n_clusters']} clusters, "
|
||||
f"{self.clustering_results['n_samples']} samples")
|
||||
|
||||
def group_by_clusters(self):
|
||||
"""Group data points by cluster labels"""
|
||||
clusters = {}
|
||||
noise_points = []
|
||||
|
||||
for result in self.clustering_results['results']:
|
||||
cluster_id = result['cluster']
|
||||
filepath = result['filepath']
|
||||
if 'is_noise' in result:
|
||||
is_noise = result['is_noise']
|
||||
else:
|
||||
is_noise = False
|
||||
|
||||
if is_noise or cluster_id == -1:
|
||||
noise_points.append({
|
||||
'filepath': filepath,
|
||||
'embedding': self.filepath_to_embedding[filepath]
|
||||
})
|
||||
else:
|
||||
if cluster_id not in clusters:
|
||||
clusters[cluster_id] = []
|
||||
clusters[cluster_id].append({
|
||||
'filepath': filepath,
|
||||
'embedding': self.filepath_to_embedding[filepath]
|
||||
})
|
||||
|
||||
return clusters, noise_points
|
||||
|
||||
def calculate_cluster_centroid(self, cluster_points):
|
||||
"""Calculate centroid of a cluster using normalized embeddings"""
|
||||
embeddings = np.array([point['embedding'] for point in cluster_points])
|
||||
embeddings_normalized = normalize(embeddings, norm='l2')
|
||||
|
||||
# For cosine distance, centroid is the normalized mean
|
||||
centroid = np.mean(embeddings_normalized, axis=0)
|
||||
centroid_normalized = normalize(centroid.reshape(1, -1), norm='l2')[0]
|
||||
|
||||
return centroid_normalized
|
||||
|
||||
def calculate_cosine_distances_to_centroid(self, cluster_points, centroid):
|
||||
"""Calculate cosine distances from each point to cluster centroid"""
|
||||
embeddings = np.array([point['embedding'] for point in cluster_points])
|
||||
embeddings_normalized = normalize(embeddings, norm='l2')
|
||||
|
||||
# Calculate cosine distances to centroid
|
||||
distances = cosine_distances(embeddings_normalized, centroid.reshape(1, -1)).flatten()
|
||||
|
||||
return distances
|
||||
|
||||
# v3
|
||||
def filter_cluster(self, cluster_points, selection_ratio=0.3):
|
||||
|
||||
"""
|
||||
Filter points from a cluster
|
||||
|
||||
Args:
|
||||
cluster_points: List of points in the cluster
|
||||
selection_ratio: Ratio of points to select (default: 0.5 = 50%)
|
||||
|
||||
Returns:
|
||||
List of selected points
|
||||
"""
|
||||
if len(cluster_points) == 0:
|
||||
return []
|
||||
|
||||
|
||||
# Calculate how many points to select
|
||||
total_points = len(cluster_points)
|
||||
num_to_select = max(15, int(total_points * selection_ratio))
|
||||
|
||||
# If we need to select all or almost all points, just return all
|
||||
if num_to_select >= total_points:
|
||||
return cluster_points
|
||||
|
||||
# Calculate centroid
|
||||
centroid = self.calculate_cluster_centroid(cluster_points)
|
||||
|
||||
# Calculate distances to centroid
|
||||
distances = self.calculate_cosine_distances_to_centroid(cluster_points, centroid)
|
||||
|
||||
# Create list of (point, distance) pairs
|
||||
point_distance_pairs = list(zip(cluster_points, distances))
|
||||
|
||||
# Sort by distance (closest to furthest from centroid)
|
||||
point_distance_pairs.sort(key=lambda x: x[1])
|
||||
|
||||
dis = 0.1
|
||||
# count_center = sum(1 for pair in point_distance_pairs if pair[1] < dis)
|
||||
all_center_points = [pair[0] for pair in point_distance_pairs if pair[1] < dis]
|
||||
print(f"Number of center points (distance < {dis}): {len(all_center_points)}")
|
||||
|
||||
# count_border = sum(1 for pair in point_distance_pairs if pair[1] >= dis)
|
||||
all_border_points = [pair[0] for pair in point_distance_pairs if pair[1] >= dis]
|
||||
print(f"Number of border points (distance >= {dis}): {len(all_border_points)}")
|
||||
|
||||
# Calculate how many points to select from center and border
|
||||
n_center = len(all_center_points)
|
||||
center_count = max(1, int(n_center * 0.15))
|
||||
|
||||
n_border = len(all_border_points)
|
||||
if n_border < 70:
|
||||
border_count = n_border
|
||||
else:
|
||||
border_count = max(0, int(n_border * 0.3)) # remaining from border
|
||||
|
||||
selected_points = []
|
||||
|
||||
random.seed(42)
|
||||
# Select center points (closest to centroid)
|
||||
# center_points = [pair[0] for pair in point_distance_pairs[:center_count]]
|
||||
center_points = random.sample(all_center_points, center_count)
|
||||
selected_points.extend(center_points)
|
||||
|
||||
# # Select border points (furthest from centroid)
|
||||
if border_count > 0:
|
||||
# border_points = [pair[0] for pair in point_distance_pairs[-border_count:]]
|
||||
border_points = random.sample(all_border_points, border_count)
|
||||
selected_points.extend(border_points)
|
||||
|
||||
print(f"Cluster with {total_points} points -> selected {len(selected_points)} points "
|
||||
f"({center_count} center + {border_count} border)")
|
||||
|
||||
return selected_points
|
||||
|
||||
def filter_all_clusters(self):
|
||||
"""Filter all clusters according to the specified criteria"""
|
||||
print("\n" + "="*60)
|
||||
print("FILTERING DBSCAN CLUSTERING RESULTS")
|
||||
print("="*60)
|
||||
|
||||
clusters, noise_points = self.group_by_clusters()
|
||||
|
||||
print(f"Found {len(clusters)} clusters and {len(noise_points)} noise points")
|
||||
|
||||
filtered_results = []
|
||||
|
||||
# Process each cluster
|
||||
for cluster_id, cluster_points in clusters.items():
|
||||
print(f"\nProcessing Cluster {cluster_id}:")
|
||||
filtered_points = self.filter_cluster(cluster_points)
|
||||
|
||||
# Add cluster information
|
||||
for point in filtered_points:
|
||||
filtered_results.append({
|
||||
'filepath': point['filepath'],
|
||||
'cluster': cluster_id,
|
||||
'is_noise': False,
|
||||
'selection_type': 'cluster_filtered'
|
||||
})
|
||||
|
||||
# Add all noise points
|
||||
print(f"\nAdding all {len(noise_points)} noise points...")
|
||||
for point in noise_points:
|
||||
filtered_results.append({
|
||||
'filepath': point['filepath'],
|
||||
'cluster': -1,
|
||||
'is_noise': True,
|
||||
'selection_type': 'noise'
|
||||
})
|
||||
|
||||
return filtered_results
|
||||
|
||||
def save_full_clusters_separately(self, output_dir=None):
|
||||
"""Save ALL points of each cluster (and noise) into separate JSON files.
|
||||
|
||||
The output format for each file matches the existing aggregated format
|
||||
produced by save_filtered_results (keys / structure unchanged). Only the
|
||||
content (subset of results) differs. Noise is treated as a cluster with id -1.
|
||||
|
||||
Args:
|
||||
output_dir: Optional directory to place per-cluster files. If None,
|
||||
files are written next to the clustering_results file.
|
||||
Returns:
|
||||
List of written file paths.
|
||||
"""
|
||||
clusters, noise_points = self.group_by_clusters()
|
||||
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
if output_dir is None:
|
||||
output_dir = Path('.')
|
||||
else:
|
||||
output_dir = Path(output_dir)
|
||||
output_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
written_files = []
|
||||
|
||||
# Helper to build and write one cluster file
|
||||
def _write_cluster_file(cluster_id, points, is_noise=False):
|
||||
# Build results entries preserving field names
|
||||
results_entries = []
|
||||
for p in points:
|
||||
results_entries.append({
|
||||
'filepath': p['filepath'],
|
||||
'cluster': -1 if is_noise else cluster_id,
|
||||
'is_noise': is_noise,
|
||||
'selection_type': 'noise' if is_noise else 'cluster_full'
|
||||
})
|
||||
|
||||
# Stats
|
||||
if is_noise:
|
||||
cluster_stats = {}
|
||||
noise_count = len(points)
|
||||
else:
|
||||
cluster_stats = {cluster_id: len(points)}
|
||||
noise_count = 0
|
||||
|
||||
output_data = {
|
||||
"method": "DBSCAN_FILTERED", # keep unchanged label
|
||||
"original_n_clusters": self.clustering_results['n_clusters'],
|
||||
"original_n_samples": self.clustering_results['n_samples'],
|
||||
"filtered_n_samples": len(results_entries),
|
||||
"filtering_criteria": {
|
||||
# Keep same keys / structure (values kept as original literal values)
|
||||
"cluster_selection_ratio": 0.5,
|
||||
"center_points_ratio": 0.5,
|
||||
"border_points_ratio": 0.5,
|
||||
"noise_points": "all_selected"
|
||||
},
|
||||
"cluster_statistics": cluster_stats,
|
||||
"noise_points": noise_count,
|
||||
"results": results_entries
|
||||
}
|
||||
|
||||
# Filename
|
||||
if is_noise:
|
||||
filename = f"{base_name}_cluster_noise.json"
|
||||
else:
|
||||
filename = f"{base_name}_cluster_{cluster_id}.json"
|
||||
out_path = output_dir / filename
|
||||
with open(out_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(output_data, f, indent=4, ensure_ascii=False)
|
||||
written_files.append(str(out_path))
|
||||
print(f"Saved cluster {cluster_id if not is_noise else 'noise'} -> {out_path} ({len(points)} samples)")
|
||||
|
||||
# Write each real cluster
|
||||
for cid, pts in clusters.items():
|
||||
_write_cluster_file(cid, pts, is_noise=False)
|
||||
|
||||
# Noise as its own cluster
|
||||
if noise_points:
|
||||
_write_cluster_file(-1, noise_points, is_noise=True)
|
||||
|
||||
return written_files
|
||||
|
||||
def save_filtered_results(self, filtered_results, output_path=None):
|
||||
"""Save filtered results to JSON file"""
|
||||
if output_path is None:
|
||||
# Generate output filename based on input
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
output_path = f"{base_name}_filtered.json"
|
||||
|
||||
# Create summary statistics
|
||||
cluster_stats = {}
|
||||
noise_count = 0
|
||||
|
||||
for result in filtered_results:
|
||||
if result['is_noise']:
|
||||
noise_count += 1
|
||||
else:
|
||||
cluster_id = result['cluster']
|
||||
if cluster_id not in cluster_stats:
|
||||
cluster_stats[cluster_id] = 0
|
||||
cluster_stats[cluster_id] += 1
|
||||
|
||||
# Prepare output data
|
||||
output_data = {
|
||||
"method": "DBSCAN_FILTERED",
|
||||
"original_n_clusters": self.clustering_results['n_clusters'],
|
||||
"original_n_samples": self.clustering_results['n_samples'],
|
||||
"filtered_n_samples": len(filtered_results),
|
||||
"filtering_criteria": {
|
||||
"cluster_selection_ratio": 0.5,
|
||||
"center_points_ratio": 0.5, # 50% of selected points from center
|
||||
"border_points_ratio": 0.5, # 50% of selected points from border
|
||||
"noise_points": "all_selected"
|
||||
},
|
||||
"cluster_statistics": cluster_stats,
|
||||
"noise_points": noise_count,
|
||||
"results": filtered_results
|
||||
}
|
||||
|
||||
with open(output_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(output_data, f, indent=4, ensure_ascii=False)
|
||||
|
||||
print("\n" + "="*60)
|
||||
print("FILTERING SUMMARY")
|
||||
print("="*60)
|
||||
print(f"Original samples: {self.clustering_results['n_samples']}")
|
||||
print(f"Filtered samples: {len(filtered_results)}")
|
||||
print(f"Reduction ratio: {len(filtered_results)/self.clustering_results['n_samples']:.2%}")
|
||||
print("\nCluster breakdown:")
|
||||
for cluster_id, count in sorted(cluster_stats.items()):
|
||||
print(f" Cluster {cluster_id}: {count} points")
|
||||
print(f" Noise points: {noise_count} points")
|
||||
print(f"\nFiltered results saved to: {output_path}")
|
||||
|
||||
return output_path
|
||||
|
||||
def create_filepath_list(self, filtered_results, output_txt_path=None):
|
||||
"""Create a simple text file with filtered filepaths"""
|
||||
if output_txt_path is None:
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
output_txt_path = f"{base_name}_filtered_filepaths.txt"
|
||||
|
||||
filepaths = [result['filepath'] for result in filtered_results]
|
||||
|
||||
with open(output_txt_path, 'w', encoding='utf-8') as f:
|
||||
for filepath in filepaths:
|
||||
f.write(f"{filepath}\n")
|
||||
|
||||
print(f"Filepath list saved to: {output_txt_path}")
|
||||
return output_txt_path
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Filter DBSCAN clustering results")
|
||||
parser.add_argument("--embeddings_path", required=True,
|
||||
help="Path to embeddings JSON file")
|
||||
parser.add_argument("--clustering_results_path", required=True,
|
||||
help="Path to DBSCAN clustering results JSON file")
|
||||
parser.add_argument("--output_path",
|
||||
help="Output path for filtered results (optional)")
|
||||
parser.add_argument("--create_filepath_list", action="store_true",
|
||||
help="Also create a simple text file with filtered filepaths")
|
||||
parser.add_argument("--save_full_clusters", action="store_true",
|
||||
help="Save ALL points of each cluster (and noise) into separate JSON files without altering format")
|
||||
parser.add_argument("--clusters_output_dir",
|
||||
help="Directory to store per-cluster JSON files (default: current directory)")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Validate input files exist
|
||||
if not os.path.exists(args.embeddings_path):
|
||||
print(f"Error: Embeddings file not found: {args.embeddings_path}")
|
||||
return
|
||||
|
||||
if not os.path.exists(args.clustering_results_path):
|
||||
print(f"Error: Clustering results file not found: {args.clustering_results_path}")
|
||||
return
|
||||
|
||||
# Initialize filter
|
||||
filter_obj = DBSCANFilter(args.embeddings_path, args.clustering_results_path)
|
||||
|
||||
# Load data
|
||||
filter_obj.load_data()
|
||||
|
||||
# Filter clusters
|
||||
filtered_results = filter_obj.filter_all_clusters()
|
||||
|
||||
# Save results
|
||||
filter_obj.save_filtered_results(filtered_results, args.output_path)
|
||||
|
||||
# Save full clusters separately if requested
|
||||
if args.save_full_clusters:
|
||||
print("\nSaving full clusters (no filtering) separately...")
|
||||
filter_obj.save_full_clusters_separately(args.clusters_output_dir)
|
||||
|
||||
# Create filepath list if requested
|
||||
if args.create_filepath_list:
|
||||
filter_obj.create_filepath_list(filtered_results)
|
||||
|
||||
print("\nFiltering completed successfully!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
981
filter/dbscan_results_filtered_filepaths.txt
Normal file
@@ -0,0 +1,981 @@
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/eedda33e-049b-4ab8-aee8-6f5d0c88b500_IMG_0358_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/dd1f6f53-e26f-44a1-90af-3f0167eea8e6_IMG_1045_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d05b8d2e-0d0b-4354-9f3a-5cfaacf274da_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f5e670b2-9825-444b-a6c3-4f5e2a8d2882_20250206_110853_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6e609e6b-dd09-4dd8-9192-416dd99e3fc6_IMG_20250207_135202_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7e3f586b-8053-40b0-9902-485f6af20e7c_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/df1aed59-e90c-44b3-b554-9486d68418da_IMG_4636_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6b927189-bc6c-49e5-aadc-9c58f56a6d68_IMG_2695_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3f09fc00-ffd5-498a-adb8-b6805519ad3a_20250212_133526_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/dbe359c6-62bd-4697-874d-992495192860_20250212_164630_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425031238IMG_20240417_161859.jpg_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1271a6e8-cf74-4e87-927d-abdefb4609f6_1739029106267._1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Extrait acte de naissance - 27049977-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5ff72751-5d92-463c-a272-97fda77c34f8_2025-01-31-13187-Luc_Lisa_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/881d86b7-5bdb-4a16-bcbc-57202e0879b1_osteo_fevrier_2025_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8c0d32a4-a14c-4294-9130-d34cc8fcdffa_Piece_identite__livret_famille-2_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/caaa1340-dc45-4133-9ff4-8bac8e2f6bbd_Facture_Lunettes_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17244250314221713370771620192636844333496435_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Extrait acte de naissance - 27060888-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/141f7ccc-37ab-4da5-9788-80a27e819b8b_Feuilles_de_soins_Psychologue_x2_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4b0d7324-9a46-4f2c-872b-4b9c06cb0566_595570692474790_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/72347d5c-1c18-4a42-8b6c-f0a365dbaf97_FACTURE_N_14_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/46ddeec5-97bf-4175-b214-b7bd74c4fa24_Renouvin_Ferlicot_Andre_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172415668128117241471676118541084374852557430_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27781771_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8682e432-4b4f-4152-a1d6-0e5f52eee148_Osteo_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27620389_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a87c1caa-f6cb-4fbe-a460-8f95e76217c8_IMG_20250207_100001_1_scale_0.9.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/32ffb8dc-fbd0-4edf-94b2-7b784cc72ff2_17479876010256548167621008372337_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b32c815a-62d9-40d2-b979-eb10e581f7a9_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26684583_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/33fea246-3d1b-4751-b216-3c2f5a07d26d_facture_lunettes_pat_16.5.2024_001_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5600db4f-5884-4f54-87ce-56c8b3f5f0a0_Aurelie_GALEOTTI_Ezio__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/preview-locataire-certificat-de-scolarite-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156469378osteopathe_renau_anais_le_31-07-2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25352522_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/eb5561dd-937b-4c0b-b6c6-56da8b528c94_facture_vision_claire_ophtalmo_1_001_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397366229Facture_RIVALLANDChrystelle_20240413ICQO_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8588f081-a48b-4676-90e1-cabcd66a74ad_IMG_20250207_110801_1_scale_0.9.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27703140_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/831984b8-6c87-4f5d-b0a0-2d0ab5cc9061_20250207_140107_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f02ef934-5964-4230-bfab-42bb97f20398_Scan_20250206_112050_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27238995_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/RIB_Mr_Mme_PHAM-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1142334_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172415668130417241454121786128659475795835945_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ddc16454-d05b-4e9d-b03c-50468919fef3_IMG_9601_1_scale_0.4.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c0625556-2cb1-42c8-9433-e31274c121a3_Livret_de_famille_hamidouna-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/588bd118-1770-4c2a-8d86-a6a6cbed79b2_osteopathe_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e3a47913-2535-4417-a34f-fb8213cd8174_recu_osteopathe_du_11-02-25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Extrait acte de naissance - 27059891-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d6b93c3d-f00e-49ac-8fce-ebd2c99ec6a5_Feuille_de_soins_PROBST_Annie_20250315_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3e613099-4659-4efd-b33f-811fc5fc764d_IMG_20250206_131824_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26692990_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658225847osteo_du_17-04-24_CHIROUX_Theo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27756973_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0a639214-b39e-4971-8d51-d83b7d2d2c2e_facture_lentilles_17_01_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27784796_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8dcf02a7-b647-4605-9d95-d3fda3685599_p20250212_14102586_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25003607_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26272878_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1078555_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1062996_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Acte_de_mariage_de_Joachim_Murat_et_de_Marie_Annonciade_Bonaparte-Archives-nationales-AE-I-11-12-12-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25375642_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/59c82220-6ed8-4ea6-937a-b40c106e7f3b_Facture_osteo_02-2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/42182356-427d-4a67-8ad2-a21775f7bf44_17390334446023078850027382669569_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26723534_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25182408_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397366265Facture_consultation_du_090424_psychologue_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27759503_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2dbb4025-f570-49f9-83d1-08aedb2b122d_lunettes_Lou-Ann_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/befdfae1-9f66-454c-8b37-754140a6e5de_Adobe_Scan_09_fevr._2025_2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bigcaptureconseil_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e6c39a83-a53c-48f5-bffe-6bdb57337b33_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b0c00bc9-adf8-4972-8350-a2a51177265a_bill_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/95c188de-0800-4cdc-8f02-4c6fdadf3d66_Facture_Osteo_Annick_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25489070_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397121055F.__Louis_Guillaume_G_030424_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/62f9b609-ae07-47b7-9e9f-5b28143887e3_IMG_2284_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26765337_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/72009fc3-e88d-4cbe-b482-7f1f354c17d3_osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture RETOUCHE remplie AVEC TVA_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25360588_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26341092_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26722802_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27608383_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/mobilenew2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d54b04ed-4dbc-426d-8ab9-39a42c7a5ed2_c5f12183-38cc-43e5-bffd-7844eceb9306_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26077624_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172422615172020240401_145715_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5dab2435-c975-40bc-89d4-fadf59c19553_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/250365a0-1f62-406f-b468-a8f87641414f_20250210_140211_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a5bd8b97-a2a8-49ae-900d-0673d2f96637_quittance_optique__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6ba7415c-4d85-465b-bc52-d60959b9457f_Facture_NCBL_Cataracte_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/21d01f35-2873-4214-a367-be8deea76ff2_IMG_20250205_180742_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a593830c-dcbb-4553-860f-b0925a4c30ef_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/16320fb4-bbc5-4e71-b4b4-a3c6bf818b1a_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27689832_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1217517_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26328720_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25632678_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fd94f8a5-93f4-49dd-a4c4-cf0b4765d704_Facture_Osteopathe_120225_Daoud_DEBBACHE_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27753021_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27601381_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7ef7306d-400e-4a56-b31c-02237212c470_Scan_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/44f39110-8f97-415d-8cc1-989f0a6df226_Ostheo_22_01_25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27679600_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/28a6084a-24a5-4922-b79d-f96dd51c5666_Factures_et_ordonnaces_optique_ABDOUL_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8019accc-33b4-4f20-95eb-3ff1e1d4db0b_nnn_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/14dc234b-2f2e-44d7-9dbe-65da4b000dbb_Lentilles_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27533786_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ee05efb9-c283-46d5-a7e7-222392db9309_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a3e845ff-e89c-4eb0-bf8d-164979dfee2b_Recu_Osteo_LIGNAC_Sebastien_1_scale_0.4.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27698460_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27210576_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/48e19752-3534-4539-8905-e09bdeb9fddd_CamScanner_11-02-2025_21.51_1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27708551_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1221348_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27708923_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425079184Facture_Osteopathe_Brousseau_sader_17avr24_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26189648_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/68f79cfb-bc94-42fa-b7d0-2406f95f2327_Devis_lunettes_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/baadcf11-c68e-4774-bbaf-c7dad90b4e13_DURAND_FABIEN_facture_2025-04-25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27771477_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25224007_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/141d1472-51b6-49f1-a349-e2b5a2adbdde_Facture_osteo__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3374a3a0-4ff8-4056-957f-8fedca1cd314_17389546040733582030933880599903_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7bad16be-dff9-4b92-8041-4a9c38638e29_facturation_osteo-1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26626836_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701052_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1a3dc013-5769-4e44-aa30-de4be4852e08_Seance_ostheo_TANCHOU_David_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25949353_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8794ba0a-5d58-4d01-a1be-71f7d5c4bfe2_IMG_20250207_185936_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27651465_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1100809_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658298467Facture_Osteopatie_Melanie_HAMON_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/cbc7ddff-2ed1-441b-85cb-5c1079588a52_Mes_des_factures_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6221379e-7344-4868-9ee0-04f2c4e26874_consultation_ophtalmo27janvier2025BEAUPERINyann_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27547656_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26957916_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/96be3553-7261-4698-bf20-88ca5c826889_ReleveMensuel_Mai_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27757098_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1102494_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2b39033c-dfff-4053-8765-682d1b5ee9b2__Facture_Ostheo_Fernandez_Thibault_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26447823_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2368a8d3-147e-4d8f-b183-889e65f9b30f_Adobe_Scan_10_fevr._2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/252c4ad4-8fa3-4ed1-9508-ee77f6dce6fe_img20250206_20040851_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25192273_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26660518_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17243973662518A42024B-6214-4DDE-A3C0-3CA27FC89720_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5b11f47d-80de-4eb6-854c-4fe8bd4e4903_facture_osteo_30.01.25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b98b1381-e3b2-41b9-87c8-a75b0a7d5e15_ReleveMensuelDecembre2024_CPAM_optique_Auregane_Daden_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/51062628-4c2d-444e-9359-ff2acb6104a8_facture_ophtalmologue_1_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9496a72b-9c2c-4542-867f-9fc4dad457c1_IMG_20250207_084759_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25911689_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2475-6_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17243969995542300676-guerrache-jessica-185907478364f5a55cbbbda_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27162326_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7925fe35-96a3-4739-a64b-4d1c6ab90eeb_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27614709_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27580555_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172415667782120240819_193126_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25979892_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26723851_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/modele-bon-de-livraison-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724396999541Image_2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27712494_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6476f20b-dbac-4bba-9be0-3c22801eb59c_CamScanner_11-02-2025_21.51_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3766651c-f086-4765-9557-c423473ea246_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/conseilmobile_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/137e6371-6478-4a36-8383-0090366a49fe_facture_Gros_Barbara_3_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27554761_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27597800_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25117297_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3bae1b45-0f26-4056-b59c-a04c52679135_recu-fac-2025-1036_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/072fc9e8-d2ba-4bc7-9569-712845984ff8_Facture_ostheo_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27618927_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Attestation de droits RO-25180485-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-GED E-J22-1328268_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27668729_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/02c6c398-ddf5-47e9-be88-a27742a2683c_recu-fac-2025-02-002979_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e7f2d26a-0abe-479b-bedf-02ea97f357d8_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26722562_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/RIB-TESTNHIDEUX-UT-9-4-2025_152144-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1112007_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/actmariaaafd02qfqdfdfe5024424af_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26689382_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/91c41171-ac88-4ce4-8f15-48c4ad2c5aa2_Devis_lunette_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/56f4bf93-8fe8-4273-a48a-4d2551892ec8_facture_osthero_2_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27586729_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26772899_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c691b973-9ac9-4fc3-aaf2-d6dde41c98e0_livret_de_famille-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26702327_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701057_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1184307_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3860a65d-b7fe-45ed-942d-5832de69430e_Facture_osteo_15-01-25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b6f16c2c-bd49-4062-b2ee-486cef3a62a7_Facture_Mr_Boulahia_Mohammed_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fixIBULL_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f19b0290-ea44-45ae-9c34-719083ec4671_Lentilles_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2b987e55-9575-4a74-a557-94540c2a7548_Scan_CPN_STL_Siat_20250207161910_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27588122_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f482ebef-e885-4627-a927-96ad54ab5aa0_Facture_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ffa6f7d2-f14a-4a66-bc63-69977fb71a7a_2_consult_hypnose__1_scale_0.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172563258396120240419_114051_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26709735_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ed2edb2f-d8f6-4194-8a2e-a42e49d6c317_2025-02-12_18-25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25236328_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27146817_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d3ef8b3d-b78f-4455-b2d6-1c9ef9ec5e60_Quittance_Ophtalmologue_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658225861IMG_4399_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1d4346b3-1322-457d-9436-ea1d82f74cea_Facture_ophtalmo_enfants_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1150ac6a-abdc-409d-b7ca-296e7b35769c_Facture_BOLZERJean_Francois_20250131GMAM_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25236329_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a63e27cd-9d32-4806-9cb9-e3bc43a3c999_image03-02-2025-093926_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17243971209982400066-guerrache-jessica-83960773165b0ce7dbef5b_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b01c4fa3-53cb-49a7-8e24-a8f7aabe65f2_2025-04-28_consultation_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ec5f9e8d-e15a-421c-9fa8-6274420215cd_Facture_lentilles_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b410345a-31de-4397-a896-bc11d97e524c_FACTURE_OPHTALMOLOGISTE_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/24ca9fa1-064d-49a0-8d54-d6f0171c8187_Facture_lunette_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/75f7652c-7e29-494f-a02f-dd2e2c47c9e0_CamScanner_06-02-2025_15_32_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/847603bb-2553-4d83-ace0-2b6ff79fa244_facture_osteo_06-02-2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25841816_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/91d588d0-aa0a-438c-91c2-06bbe858810c_n96_DUBOIS_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27691255_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25330401_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f8c6fe47-9608-4f9e-938b-117bfa4dcd30_ostheopatie_2025-02-12_Grenot-JLuc_Mme-Tabary_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27710953_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7c2574b4-814d-46a5-aa87-a4402f46be9c_DAGHOU_Mustapha_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27654407_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0cae671e-6b7f-41aa-a0ab-d74b8e15e424_DIMART_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8d5e5dfe-71a8-4a05-a376-8727cd264ffd_osteopathe_do_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a9f88b8f-a751-478e-9338-2d31fb1062e7_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226151715Facture_Julie_Boissel_2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25919222_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26729570_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1106092_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27784971_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26592477_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1f5c9f90-eb0c-45aa-b809-e08a7c7593b8_SOPHRO_FACTURE_MME_POIROT_MAURICETTE_JANV_25_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25279751_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658376437factosteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1d3b5d22-87f2-4c89-90e5-8b0350bca84e_facture__Surre_Chloe_03_fevrier_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f0395d11-18fb-4b9f-bee1-5ca75d656d14_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b0977b46-747a-418c-bd20-9e99472917a2_Screenshot_20250209-143006_Samsung_Notes_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2af3fe93-a285-4ced-898b-90b4106bef8c_osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27653858_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27474258_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27576127_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d317e79c-0485-42f8-b24d-413d94e7a779_Livret_de_famille-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/34162b51-6c3f-4dcc-a18a-d6b9e45e4f22_Recu_ophtalmo_Cadet_Corine_2025-03-09_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25187936_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26107527_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27554784_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Quittance de Loyer 11.24 Mr NGUYEN-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/834a074c-811f-4d27-9c19-134a4b9ab2ea_FACTURE-25-02-208-GEORGES_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27717154_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25273058_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2b3ed78c-1a3c-40b3-b997-0e74f6ba497f_FENOLLAR_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26691031_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9567846a-09af-4b73-9194-28f51c7bebce_Chevance_Lena_facture_2025-02-11_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/abd25cab-e2d5-456c-ac6c-d209b698daf2_Le_Monnier_Fauche_Nolan_facture_2025-01-31_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156469373facture_psy_DOMI_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c7bbe834-632d-4fb6-8e24-c9c5caf488bc_IMG_4966_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27664783_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1105977_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/04fde30d-7891-439d-85e7-285a0d8ffee1_IMG_1550_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1b68fc1f-1e79-4f0b-a9dd-700931da1db1_FACTURE-25-02-542-PLANVIER_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26723200_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1196314_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26255763_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425031280Facture_Osteopathe_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2212e210-bbbc-466f-b30c-fce89df87489_20250210_134936_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25263636_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/879cf76a-68c1-40d7-b444-0ff3341c97de_facture-zami-isabelle-20250130-1703_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4fa21bd9-393e-41d4-9af2-bf42004f4e94_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1498c5f5-22cf-41d4-87f0-9b295ff481f4_IMG_5659_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0abfd7b9-9456-4b68-a489-bd990ef9a78e_livret_de_famille-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ff7bd554-e95b-411f-b07a-4347a96eb077_IMG_20250507_112754_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/cd3050c7-d380-4ecc-9665-c7209b6035f9_2025-02-07-malik-chaouche_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27749409_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26005448_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27699508_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c2b83174-b925-4b53-a364-4f90864eef93_pdfOlivier_B_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7ad6d85f-7245-4c05-8c79-512ed13fe0d5_lunettes_001_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bef5bd2d-a370-457f-9d30-f7ce27c4dd70_Facture_2024-12-002_-_S_Frederic_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/626c99a4-986b-401f-b91e-9b6c0f15cce6_Commande_n100691223_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/36571d26-dd70-4596-bcaa-3b77c37e0c38_FACTURE_ETIOPATE_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a4949824-1296-4d97-a46a-6173dee1f3ad_FACTURE_LENTILLES_09_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25192590_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Elec+gaz 17.05.25 Auray-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2a9dd772-6d23-44ae-95f7-5de05ffd1167_fact_podologue_7-2-25_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7cec0f10-5643-45db-a0e7-96d14f8a243f_osteo-0924-coste_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27671269_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25034588_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27697454_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/661c031f-1da5-4947-bf0e-3f5ae7267b99_20250206_173541_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27773374_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397125633ostheopate4_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25358481_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25416514_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25241935_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26760297_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/534b115b-9997-48c3-bc09-ffb89e5bddf3_Screenshot_20250212_150902_com.google.android.apps.docs_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4d989506-6dba-451c-97ab-6c371618298f_8089465_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a7524bf0-1810-47ff-96c1-e744cbb863be_RDV_04.02.25FA-7564-000052_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26729830_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25375639_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397121098Screenshot_20240417_102951_Samsung_Notes_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27776512_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d40eaef8-860d-43f7-9156-3e2dcd09e498_Screenshot_20250211_104714_cn_wps_moffice_eng_PDFReader2_edit_2442102462482098_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156677851ostheo_24_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d9e1cb2a-b44b-4cc8-b07a-030ddf3acd28_Ordonnance_lentilles_Mary_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27148581_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26754469_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27661590_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Impression-facture_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/facture-engie-page-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27651465_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27663184_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b1b5e4da-2462-48c1-a9b9-ff75ecd61e37_IMG_20250206_142210_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6f92aef5-73c1-404e-aabe-29f40cffd8b9_facture-20250203003_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172415667785217241478517061500135449349862696_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25198509_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27671269_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425031408Facture_psy_fevrier_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658376424KM_C250i24032713020_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c3c2a06b-9a19-4bc4-8e61-bce909c2d7eb_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25246953_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2f91e647-c8b5-42c5-9a4e-e6dc639bd488_2025-02-00097_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0ca9563f-d46d-4f22-8f28-a19eca15ae40_Scan0015_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27210535_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26107528_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25360470_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226587949AnyScanner_03_25_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/da1943b5-80c4-4105-8b48-78f49245b7c4_Facture_patient__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27703118_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/484d05c2-b89b-4ec0-8968-9ae6a5360f6a_DetailDesPaiements_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27572543_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658126093MM_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172465812606717133766883857695232286776891989_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e86a4c65-f1d6-4555-83e9-ca7ed9fd7352_IMG_4440_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b2d1c0ae-7f30-4730-82e0-39361ceba000_Facture_du_08.02.25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25076150_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397366294irm_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27235184_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25352522_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27784796_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c64d0b90-f96f-432c-8ad7-52567dd9efc4_DRAPERI_Delphine_734_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27686118_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7f0110a2-87fa-40db-9d29-b89fbc21a5ac_Ostheo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3ee0ac3b-4d77-4692-80fa-15004f8a3499_facture_ophta_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b685d5dd-e01e-4fa9-b7aa-17abd1a25b74_IMG_5544_1_scale_0.9.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26479073_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a2da2013-8b36-453d-b6cc-d9c8d3336947_Osteo_janvier_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27210547_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1180505_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1433196e-97f1-4452-a061-8ec311e3bddd_IMG_4464_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5440b8b5-5ea3-4a72-a8bc-23d578333d9b_Osteo_severine_2025_20250206_0001_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26077623_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/dc224b52-7d9a-4cda-9ac9-f12f4a7c1762_20250428102258_001_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27646505_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f8f29a91-6c43-4768-b4ad-ebd1c1cedf5b_17392679302675416955239120322151_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/551dd33d-0011-4887-b115-4ddf28ee0e2f_fact_barret_l_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27210534_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26764274_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/certificat-ceÌreÌmonie-alice-merveille_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25106529_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1498644-copie-de-l-acte-de-divorce-d-antonio-580x0-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Attestation de droits RO-25935660-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25360588_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/offers1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-GED N-R-2323015_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/085f8bfc-690a-4daf-9559-865274181242_Facture_CIANO_Ophtamologique_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8f0e72ca-64e5-4797-87bc-9378b842433a_CF_1676107_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/39f80d3f-06e9-4bf5-9a57-5bbcb27f3321_facture_osteopathe_12.02.25_001_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701997_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b7e34b86-fdb8-4ea4-b646-5bee350b947c_IMG_3542_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25007101_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25106530_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/df2d6a0f-3528-4629-a783-3dea426bcad1_IMG_4520_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1084027_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27702698_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2f3c1f06-a109-4236-944c-c6343d80bbe3_IMG_20250211_0001_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7d3ed5db-8ea9-48bb-870b-d67be0b7eb95_FACTURE_OSTEOPATHE_FEVRIER_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f2d7862b-6953-42c0-8fce-22854ae760f9_Osteopathe__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/cbb73a7f-8331-43df-a7f5-1562efc4bbff_IMG_4077_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/88f6c32a-2ae7-476a-b62f-59f8f74c3289_Facture_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/458af3c4-37ff-4eaf-b88c-99ea6a299a8d_IMG_4610_1_scale_0.4.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e389253a-a9f3-4559-b704-61be921eb0d3_Facture_lentilles_decembre_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25164623_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26610950_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27778240_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d783daf8-282e-4860-af41-904aa36f5405_PXL_20250207_1233101042_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/64423bd1-67f9-49e4-8192-c9e6fae257fc_1739110695856573011383863310512_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25374417_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/02e9fec4-4a39-431e-ae25-2f758a1c1f7f_20250206_174531_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Magasinier-Exemple-de-CV_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bad7f9ef-347f-4ab6-b69d-c99a726769f2_20250208125718_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/file-5e85e2ead7b5b_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26705902_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26398662_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7957eec3-5b84-4e8d-bde3-99aa88ceef07_Facture_opticien_Mme_HERMANN_CLAUDETTE_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie - 27641339_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397125658received_451290077337699_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/717d0d8d-3065-41d4-99d9-8c42dbcab6a8_Viani_Doris_facture_2025-02-01_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17243969994532400313-simon-heilyn-1693195547661d58d7e884c_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/84731b17-5743-4240-8aab-0f1bcc603925_chiropracteur_1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156469367facture_psy_DOMI_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27702202_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25406488_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1203226_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25489071_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/carte-tiers-payant_2025-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e0e762ca-3c0c-499e-813f-837b41cb9208_20250206_160143_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1198078_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/21c0bb8a-301e-43e4-b9d4-121a6e1d7106_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f4e2083e-3640-4988-853e-83579e9fed87_Adobe_Scan_11_fevr._2025_1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25310144_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26401996_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/57188e7d-280a-4f94-9d7d-6af62ede30ed_lunettes_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1228504_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26761307_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9421b4f1-e9f7-42ea-8d9b-833361b16a20_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bdb308da-16f5-4370-b1a4-8ffe4f063d84_2025-02-06-13-21-14-309_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bebdddca-5e13-4baa-9b5a-ea26cd0e2db5_Facture_optalmologie_acquitee_du_28.03.2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26219439_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/preview-facture-2014-09-10-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0a26adda-beef-4977-966c-12efc73f1d15_20250129_190625_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425031429IMG_20240417_0001_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26740934_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d172cce4-7c6e-4954-93ff-ba8bba04e7db_2025-02-04_Facture_BAUDAIS_Ingrid_4_fevrier_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25346392_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25190164_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26555547_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25864357_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701064_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27778165_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9536b482-958e-4978-9989-3bd87a85ccf6_Ostheo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f2d3f12d-cdd2-4ec6-af22-0aeb3f1f6467_MONIQUE_001_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26610949_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2c07c6c0-9ab6-4578-8a88-704ea038047e_Screenshot_20250211_101627_M365_Copilot_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/RIB DU SIE SCEAUX-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27705929_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f1f52e8d-326c-4714-ac75-c9ade1d945ca_facture_osteopathe_tosi_christine_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5df53e4c-13e5-4c12-91a2-24236c5cfa5f_IMG_20250207_154557_1_scale_0.9.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/beb224ad-6c43-4abc-b80c-d438d00a77c2_Facture_TP_Client_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c20881d7-861d-44dd-b69e-a3f5ed4768ea_Osteopathe_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26722801_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27703581_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c2009b55-58d4-411f-a25a-3dc1e32e4a89_facture_lentille_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5bb3a883-f00f-42a5-84e4-007ffa949d76_facture_acquittee_optique_MIHI_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/43efc0af-d04d-42a1-b638-89c32aac42d9_osteo_1_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26627281_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Liste_PJ_PasseportTalent_MembreFamille-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27711119_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/455854fe-84e6-4ece-9492-276410b4e422_BORDERES1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27648502_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a3745377-917b-49b9-b9fc-3e65d22c5638_BERTIN_Franck_Facture_osteopathie_du_23_01_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/39384a4b-4117-4f56-8cca-55fd51e5b062_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/719ba06c-91ee-44dc-b7b6-4a3132f733af_FievreVillaniCarlaLunettes_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25190194_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/054de057-2011-49a3-9d11-3529ac66348d_roux_clemence_facture_2025-02-12_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26186342_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26715605_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226587915Facture_kiro_fred_mars_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/cc6f476b-07ef-4342-8d4d-3a490ab0d1c9_2025-02-09_22-25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172465822585720240416133632216_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156677823Facture-CONSTANT-F2024-311_240820_122321_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26908261_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/82ac654c-54d4-401f-a006-96d9e46531fe_Facture_ostheo_JEAN_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/60167615-8a25-483b-9354-a6da8deb969c_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/facture-3_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e695ab7d-2b24-46df-8a84-75c6243d04ac_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26550623_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27603575_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1112614_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26705567_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26685696_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724399050413Facture_Osteo_Nathan_15_04_24_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25382470_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/RIB_Mr_Mme_PHAM-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26347233_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26626549_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27565028_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9c2763f2-fb0c-4fe4-be38-6f94fba64162_optical_facture_lunettes_apres_accident_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724396999465IMG_20240416_0001_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25848670_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26771426_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Elec+gaz 17.05.25 Auray-3_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4377eaa0-4f03-404e-86d3-fb386ae03826_facture_osteo_j3l_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26765337_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17241566778247779dccd-e833-44f2-8acf-5d5ab7077245_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f40d1b67-7690-4d39-8578-eca04cfd2b3c_Factures_Ethiopathe_Dimitri_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26479073_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27711119_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26556388_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27703142_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f539946f-af74-4bd2-92d6-36c8b867b21e_FACTURE_21.01.2025_JEAN_OSTEO_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/40e6166e-dce5-4710-aba7-538fa663ec6c_IMG_20250306_093631_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701669_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27611284_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658126054image16-04-2024-173146-1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/815d334e-5da4-47f8-8ab5-2dd9365f9b63_Numerisation_20250206_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d3aea37d-3c4d-49b1-bbd6-75fdea788fc9_IMG_3831_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26771865_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27702790_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25880926_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25352901_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658298484BENTO29032024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27596586_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27784754_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e93a0fa5-82af-43d0-a3b5-f59a8b753c4f_IMG_2051_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5e06ef95-6731-4416-a626-67039c3593dd_facture_osteo_chris_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1866f267-d6a3-49c5-80c3-e1c5d5ee6e72_HAEFFNER_Esther_Honoraires_osteeo-Schweickart_du_070225_Montant_55_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1174802_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724399050329osteo_B_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bedf599f-99db-4613-aa22-17d52690c34c_doc00194520240521104544_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26683579_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6555a519-f9f4-4b6a-ae0d-fd491dcf9a96_Bidard_Dylan_facture_2025-02-08_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27784861_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17243971210022_factures_naturopathie_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27703160_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701197_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1101598_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25375639_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/920c8c7c-e3b7-445f-8fcc-4d89cc33a578_facture_osteo_du_04022025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27693842_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fd8187e1-b9eb-4727-8041-9fc9e6f1affb_0556_001_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6d5224ac-69a5-4658-b278-a7a03fef5cd8_facture_osteo_2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17242265879332024-03-04_Osteo_facture_-Xa_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397366227Scan_Attestation_soin_MCT_15_av_2024_Mme_Nadine_ROMERO_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8eceb56a-b571-4ab6-a64e-668db6bf4ad5_chiropracteur_fevrier_25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26349654_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27534156_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9dfe878b-b49f-4c96-bab5-93bb2ccfc4cf_Facture_DE_LA_RIVIERE_G_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25143901_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ab1215bd-b251-4071-85aa-e24ef9dfd006_2024-12-31-valentin-petit-blanc_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27232722_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/84ee3980-6f2b-4943-9b11-1996dce1039f_Dossier_lentilles_Stephanie_M_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25161622_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226151881090424_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27668729_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/499639d7-4faa-4d3e-b412-7f75da0b4e01_quercy_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25382478_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27705426_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/72bb486e-792d-45ef-b522-511ea16d56ef_IMG_5602_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Certificate of honour for filing all statutory tax returns_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fe5aa214-30d9-44e4-a735-43ebe3eee76f_20240916_081457_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25054565_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226151864OPPON_GEORGES_ORDO_LENT_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26775374_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226587918facture_kiro_vanessa_29_mars_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25357010_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17243969995351713296832283485517389105164997_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701052_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f1313200-92c8-4b7d-93e9-c010275f811c_osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26719410_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1197096_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27703114_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25176008_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226587965Consultation_psychologie_Nathan_MERTEN_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27694953_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/mus22_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a4873987-de63-47b0-b0ef-81044554305f_IMG_20250211_163051_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1092486_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8f8adcc8-9b8f-48e0-94d5-d8cfb9d84a1f_Scanned_20250212_154615_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25632680_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1041724_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27575670_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/45ccffcd-5fe8-418b-80c2-894086de9087_facture_ophtalmo_Fred__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bdd3ed76-034c-4414-a72d-39cf766d272f_1739358339947320998553071824360_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/043bf393-055f-451c-ba6f-f01cac5964f0_17370239165192445587441836799654_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/323d5c7f-9ec7-42b0-9cad-d7cbd5f5c4d1_2025-02-06-simon-blondel_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/offers_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27396737_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4969fd33-c173-4ae5-8020-28985599da71_17389252341351391827234693879142_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27622860_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6e41e75d-289c-4d07-a65c-9400c0cee5b7_Ophtalmo_Eshal_compressed_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/380f5d8e-540c-4671-8b03-26b7f659b7b4_image0000001_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27604021_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/01a27c1e-afbe-428f-9261-a9a82d1b2efb_IMG_20250210_171911_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/70c197e1-93a3-4eed-9b39-6f96d8cd07f2_17392727785368655476842236029180_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17243969995522300584-guerrache-jessica-57560893664d4b237dd783_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0b801a90-3a0a-4b0c-bc7d-56f18b938619_2025-01-23-ophelie-lenoir_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9c2ac88c-d912-4d55-8ea3-20e2feb3b8ad_Livret_de_famille_8-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6bf53897-d7c7-4485-9393-4ebbaf952d30_2ostheoRecu_2025-02-06_092631_1_scale_0.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26052732_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fdaa0d42-8e79-4506-b222-373c88891ff5_notehonoraire__20250212_143947_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25239523_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6589f4fa-ebac-459a-9ebe-aa84820a2905_FACTURE_LENTILLE_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/modele-contrat-de-travail-plein-temps-city-management-lausanne_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6f544990-74c6-4c7e-8a25-08eb3f9138c8_RemboursementSoins01082024_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26941951_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/699e17b1-2aff-4884-af8c-126367c8ca95_lunettes_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1cbf5b4f-5370-4ad4-b877-1e3aaf3259f6_Document_2025-02-05_105424_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2d21dc04-ddde-4f3f-a9a2-bd0070dc04e4_Factures_ophtalmo_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2d79f19d-3ec5-4cdf-a88b-040e733860fa_Osteopathe_2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27690522_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/facture-engie-page-4_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226151795facture_du_30_mars_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/795c0773-842a-467d-b78f-07746869b761_IMG_20250228_084908_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e45ea3e1-95fe-4d22-acf4-8ed0a30d9dc6_IMG20250206200324_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/719ba06c-91ee-44dc-b7b6-4a3132f733af_FievreVillaniCarlaLunettes_4_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26592511_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ecc107be-fcec-4b98-a0ed-bd325bd27b35_recu-fac-2025-02-031_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25040113_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25864356_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27545119_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b228ea49-7729-4c79-908d-d10ffd773ece_20250211_105509_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1071226_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1174801_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/77c1b3c3-234d-4431-8675-a5c1d12053e0_osteopathe_MOREAU_Coralie_10-02-25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d9341373-0699-4897-9dfc-15a20235ce80_Livret_de_famille_des_2_LAMA-7_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27778049_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e3c36ee1-bf05-4ac7-b27f-c7cef109b796_Note_dhonoraires_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/74441931-f8d0-4cb0-8eb5-df4147a72bbe_mgp_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27784756_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658376426facture_psy_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/141e5445-10ab-400b-81a3-001132ec0783_ROSSIGNOL_Laurine_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226151851OPPON_GEROGES_FACTURE_LENTILLES_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25233929_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d79dfb79-bfef-40db-bc98-f2af328e266e_facture_ostheo_1738873157473_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/37edd5db-6709-4433-8b25-badbc7e5ca61_20250208_132125_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27082405_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25152384_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26548441_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1140659_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26360535_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25048435_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25849685_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25280845_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fc14b93e-73ae-44e1-82b1-0ca50ee622de_Facture_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26505719_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26238691_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25021617_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26689382_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1098837_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17242265879312024-02-19_Osteo_facture_-Xa_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5bb3a883-f00f-42a5-84e4-007ffa949d76_facture_acquittee_optique_MIHI_4_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/de7be139-654f-4d9b-9179-2c08f02e0e93_osteo_noelle_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7d98b25c-938e-4d62-9e14-ddc1d119fa45_FACTURE_OSTEO_DU_7_FEVRIER_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bae2e636-32c5-4b2c-b2d2-a7b28b30760f_KM_C250i24082011140_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5c719322-2486-428c-8c7e-1441497877cc_scan_tc_2025-02-07-13-36-23_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25332784_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27082405_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/09aafdfc-4378-4d2f-be2a-f647d5138f5b_Ordonnance_marie_lunettes_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b10610ca-bc5d-4954-bbc7-f6ab6e640a2c_Facture_250210_211735_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26592510_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1188165_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/83f38474-d109-4edc-a395-0025e6259d96_Facture_250128_Osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25198201_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/698ea3aa-944c-41f0-89c2-46a2be3a9189_facture_577852_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0efee497-131b-4961-a1dc-2810eedbb393_Facture_BALDACHINO.V_chiropracteur__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26660350_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17243969995232400015-gielczynski-jeanne-131369953265965e69a20c6_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27718628_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e5090ee5-7b15-4056-9459-c12d5757b516_1739267158433_CamScanner_11-02-2025_10.45_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/dc89371d-1648-4674-ba86-57579de74299_2500352-ozturk-kaan-90009253167ab6c990cbd9_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27670038_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25292677_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25826742_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ea64ca35-29f5-49ba-894b-13aa3421f1d6_doc00681020250513143142_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1210372_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5c4353b0-55a4-4687-9744-d1a6da183abd_facture_lentilles_de_contact_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27555315_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1142334_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27776417_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie - 27581557_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397121107image0_4_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25058603_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/598221c3-d0b3-403a-a261-c68cbe56b453_facture_ophtalmo_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397121061Numerisation_20240417_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/acte_nass_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27781876_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27576495_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/48eb0cb0-6218-4263-a1bf-a75c4b2cfc3d_Aurelie_CLOTAULT_250213003_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1183991_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f55f9121-499d-4c25-b79b-464413d7ca6c_Quittance_Ophtalmologue_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27236936_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26483179_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425031349MEDECINE_DOUCE_2_TOMASSELLI_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27206664_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27779029_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie-GED S-Z22-996335_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/af206337-404d-4b97-9772-baae1962c3ee_IMG_2129_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27566548_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/11a7e90a-3116-4b7a-9b8d-e6949ef0cc00_Adobe_Scan_10_fevr._2025_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27575321_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26592477_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26112050_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-26471195_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25361117_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27752635_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/419fd893-b8ef-404d-bc49-d637110e06ad_facture_ostheo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b6a49fa0-2900-45c1-915c-58d63bf64e48_OSTEO__NASSER_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26774954_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25885703_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b53e8f7a-d934-4e3f-8d03-12e071fdcfd6_Chiro_10_Fevrier_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8f0e72ca-64e5-4797-87bc-9378b842433a_CF_1676107_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ec6baa8c-a189-4850-b310-c90bab372cc2_Facture_Krys_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d2a8cfa5-32ee-4bf7-a77c-8d48625be243_2025-02-00061_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27703139_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26694527_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/cccf5a90-7d2c-46e5-a1a9-4ec676a6964c_IMG_3533_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8a9a4ca2-1881-473c-8604-9fddbaa624a0_Ordonnance_Lentilles_Lunettes__Facture_3_scale_0.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425079263JACOB_Francois_2024-111_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/48df624c-9ff3-4155-94b4-773bb00a967a_Facture_osteopathie_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27665791_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25203829_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5e5d3bd8-4494-4764-a001-fba806688587_Facture_ostheo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25290421_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie-GED N-R1-941543_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27200660_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27232257_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26441046_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27777639_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25241935_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3b2e0bc5-3f96-456f-9a21-1b6a5c2138b8_Osteopathe_Sophie_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724399050372FA_24-1136_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1114152_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/13388e62-739c-4338-9b78-eb1c67fc740f_Facture_Osteo_02.25_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0a28cce2-34d3-4fa0-8d46-7ff07a0b96c6_Numerisation_20250211_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27716116_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fadd7aaa-0b0f-4f95-b66f-cd034f107ded_Facture_TICHIT_05022025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/749991f0-5f22-4b49-ad9d-457db1b5c472_facture_osteopathe_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25267998_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b013c377-130f-4bb8-a0ec-410e5e43b7f0_Seance_Hypnose_070225_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9c2763f2-fb0c-4fe4-be38-6f94fba64162_optical_facture_lunettes_apres_accident_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/88a54205-4f31-459b-981a-99dadbeaad02_IMG_4210_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1071291_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/22a87bee-a05c-4605-afed-9e83d6a6e379_Scan092229_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425079170Osteo_12-04-24_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27591022_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25175432_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27200192_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27758070_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/110bf0ce-0cc7-4189-ab0e-cb2b8cab1cd9_Ostheo_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27663036_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156681302Loen_osteopathe__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397125647facture_osteoathie_Maxime_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b96f6ca3-3175-4cd8-a827-e886b5799867_Facture_ophtalmologue_24022025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724399050370Copie_Integrale_dacte_de_Naissance_Ya_Fatou_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658225868facture_PECOURT_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7b830a57-2131-479c-bf31-1673e7308903_invoice_2025_1_31_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/060cd8e5-ac6f-47e5-b8f5-fe9d3920c522_CHIRO_FEVRIER_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26740051_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26934661_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1066100_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3116513f-22b1-4143-8f0b-97527093a9cb_Facture_osteo_fevrier_2024_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26762901_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d4724213-255b-41ec-aa7c-608661c35856__Facture_Ostheo_Fernandez_Thibault_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26555594_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c64ad8f0-0d5a-4a5b-aec5-62ec44099520_Screenshot_20250211_100040_Gallery_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27213931_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25358990_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e5200778-8114-415c-8304-539e8e8876a0_CamScanner_07-02-2025_11.49_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/57c0b77e-4634-4a68-b116-73ceb3223a39_OPHTALMO_16_12_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/655f9ad1-1759-4ae4-8707-c66a97ef4096_IMG_20250131_162239_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2f0d42d8-930e-46cb-9222-f421480516db_IMG_9332_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27619324_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/47a3ed6d-aade-4da2-8006-1ec798c5e915_Stiegler_Gary_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/20f7572a-00e5-45f9-8812-e6d2037826ea_IMG_1767_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26709999_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f339c5ad-7df8-4f3e-a5fa-9dc7616abc3e_IMG_20250327_165906_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/cf49f64f-639a-4c76-9121-6e5ca6796fdf_Etiopathe_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27667405_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26368529_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658126141JACOB_Francois_2024-111_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27011182_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/34918269-15fd-4e3d-9180-659530a82d35_OSTEO_01.25_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25847017_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25302988_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c557951f-c4b7-4e04-a05c-871ace1f18af_F-2025-0065_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27699662_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25233928_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/43666807-3eb2-40b9-bdf6-94d4fe31b71e_factures_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5d44caef-7a06-46ac-bd99-f3d33f544050_20241226_080225_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9aea8ae5-7be5-4053-ac18-4135ec373137_IMG_5022_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27679188_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Extrait acte de naissance - 26616051-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1196314_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27618927_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25375641_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27562736_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27210605_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/acte_nass_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25169425_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26761886_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27579724_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1072243_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27706035_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27705926_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27760177_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/coti1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1039410_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724396999467IMG_20240416_210050_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27618314_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27711297_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26732759_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6ffa2fe1-11be-4516-bd81-bef1824f5f8c_Ordonnances_et_factures_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172422615178520240404_115041_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fecefa42-3451-496b-bcb5-d5ebd4cdd8da_invoice_2024_10_14_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/88248db2-efbd-42c8-aacf-4e32f2b5b309_17392731219852541052997326186649_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27716094_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6ffa2fe1-11be-4516-bd81-bef1824f5f8c_Ordonnances_et_factures_4_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e4282a1e-c5df-4cf8-b326-032577658c64_IMG_20250108_090635_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1caeda03-aca9-43f5-8f05-8cd0ed3db1f2_20250211_134942_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27720265_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e1c02a95-aff0-4809-b30e-101ad81213b3_osteo_st1_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/700-142024-CERTIFICAT-DE-SCOLARITE_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27780823_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/RIB-TESTNHIDEUX-D-9-4-2025_152113_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26300440_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/af1bc4f5-7332-4785-96b2-627c73eff2eb_LIVRET_DE_FAMILLE-3_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25316942_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25405311_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25273060_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ab26e47b-d267-439c-9b12-8699c17d5d47_facture_Aurelie_Claude_naturopathe_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25489070_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1066100_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/V1_CV-1_jpeg.original_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27619261_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/dd900918-d858-4a8f-ba79-61dd031d0bd8_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26749684_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397366268IMG_20240417_143900_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27705774_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658376447Facture_ostheo_Matheo_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27707015_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397125670Facture_lentilles_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26077829_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26951476_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27535832_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27702777_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27752590_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/44e87f9e-a4e2-4851-b383-e1401b36e853_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/RIB-TESTNHIDEUX-UT-9-4-2025_152144_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26107527_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25361051_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27773543_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/934ce856-861d-44d3-94b2-998eb1a3d763_2025-02-00049_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/quittance-de-loyer-exemple_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3f98b687-6be4-42e1-bf05-2a4a0e834440_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25979890_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26731052_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397125653noname_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25406038_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724396999450DERNIERE_FACTURE_KINE_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/221e6223-efc6-44e8-9ef1-c53d5893abf9_Screenshot_20250210-175253_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25489071_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-GED E-J1-1065966_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25295241_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6d20c1cc-fa3b-41a9-990e-d115f2c1265b_Facture_MUNOZ_Florian_2025-0002-3_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26681219_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25792885_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25360589_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226151848OPPON_GEROGES_ORDO_LENT_2023_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25224007_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25203829_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25183619_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27665789_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-GED E-J-2591884_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c21b71c3-edeb-458b-b9d5-6977d39092d2_Screenshot_20250215_191517_cn_wps_moffice_eng_PDFReader1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/smallscreen_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25246953_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25270267_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27699394_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/127a26a9-785f-4059-ad4b-1000d1476ead_Stephane_BRETON_250207006_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4e6947e0-c34b-4fe1-81ab-41fce98ebbed_25_02_10_Facture_Hypnotherapeute_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/carte-tiers-payant_2025-1-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/smallcaptureconseil_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/23.06-Haskn-modele-facture-sans-tva-annexe-1-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Gaz-recto-633x1024_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/creer-bon-de-livraison-antsroute-7_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25347662_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27753021_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27702699_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1b105dcc-c530-4799-869e-28c15c685fab_Facture_osteo_Balmelle_Cassandra5_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Capture2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/10f40812-5311-4e1d-9fb1-bf24b002208b_17389235878412277367177928986574_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6eeacb70-27be-40dd-9511-522025b459a3_20241226_080214_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27560309_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27702792_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25977504_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/aze_cargmoe017762-61_001_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/235cfce2-bcd5-42d5-9bce-4a775e34485b_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Extrait acte de naissance - 26932272_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a8e35bb0-75aa-47e4-a759-0bbda47b7d72_facture2_du_06_02_2025_1_scale_0.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27759511_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b8083bbb-9489-4706-af99-69f625bbc530_facture_OPHALMOLOGIE_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3c48237f-b76e-499f-b1a1-7f7f8347c4f2_facture_osto2025_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172442507917415_03_24-charton-isabelle_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17242265879292024-03-28_Facture_Chiroprateur_-Ch_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b966fb26-8754-4714-b795-78ef7e1116d0_facture_ostheopate_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25309354_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/95918650-771a-430c-9039-1601d46d19df_attestation_securite_sociale__1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/85e27f49-5723-4dff-a511-885441636918_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/28a6084a-24a5-4922-b79d-f96dd51c5666_Factures_et_ordonnaces_optique_ABDOUL_4_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724399050415IMG_20240417_160804_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25361051_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f6db258d-f400-41b5-a5ca-7878010f0fd7_doc00945920250206091811_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1041724_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26977630_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/RIB-TESTNHIDEUX-U-9-4-2025_152109_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/begin_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bce5f438-e8f9-4089-b6c9-c3906bbc095f_Facture_Osteopathe_Karine_ANTONY_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7402b29f-bcc9-42ed-a5a9-a8ec6468ad90_17392879320695618357009043029309_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ksnip_20250625-171328_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/facture anonyme_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25073562_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/conseill_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/07243018-c418-446f-8dca-307fc443b872_FACTURE_ETIOPATHE_5_FEVRIER_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/915b97eb-e7d5-415f-ae89-823f08ae3bc0_ACfacture_opthalmo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26543134_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26733889_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25382479_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0453c161-70af-4474-8854-27ab0f5d7bc0_2025-02-00044-2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1041725_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ee2bacc2-7a66-4adf-b4ff-95fc5c13a2da_20250213_112821_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/141f7ccc-37ab-4da5-9788-80a27e819b8b_Feuilles_de_soins_Psychologue_x2_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27210603_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/facture-engie-page-3-349x500_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26550397_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27588485_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9c09398e-1348-4844-8fce-e0421ad306c9_note-d-honoraire_-_2025-02-05T144527.016_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397125629Facture_psychologue__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/02358c4c-820a-409f-9489-a75f22af3f32_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27703393_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8d5e5dfe-71a8-4a05-a376-8727cd264ffd_osteopathe_do_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26077623_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27706471_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1709a87a-d859-41e8-93da-5f307e1677e8_facture_ostheo_2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27545715_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27772607_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27234926_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26555547_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27621466_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26702207_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25263730_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/sfr-facture-7-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e6d69c3f-dc5a-4bfc-844c-361b9bfd255e_OSTEO_02.25_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/mus33_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/attestation_AMI0ZRFLBQ97-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26298895_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Bulletin_de_salaire1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27781864_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/35e2f7b4-ab20-48ae-bf69-fc2441756fdc_facture_ostheo_-_Pascal_BOURGEOIS_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25136270_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27778142_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/29d72de2-da83-483a-8702-939fbe4addfa_20250207_112449_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156469377Facture_DAURISFlorian_20240815CGEI_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/72cb658b-3239-4479-918d-aac53bc4a552_Facture_ophtalmo_14-01-2025_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1bb42dc7-7ee0-45fe-aed7-68192d875df3_IMG_20250207_193157_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27705767_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fe3ade48-89c0-4ac3-81f3-6dae15e20859_Ostheopate_07_02_25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/actaadfdfffe_mariage_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fcd6e41f-3d4c-43c8-a6f7-85e7ea5bda1d_IMG_7926_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e566a3b0-cc99-4c4d-8715-9f3be841a066_noname_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a6321cee-55d4-42c4-be96-6b3a59d70908_facture_osteo_030225_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27399788_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27647325_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4684e3a8-c488-4e89-9b58-c65ae3e3c093_2024-12-06_facture_lunettes_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e0f0eab0-f98c-4b74-95f2-bfc61ad76d28_Ophtalmo_Isa_01-24_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f2cf3af6-98dd-49f8-9d85-533b65215fb3_17393639738994204232790165513253_1_scale_0.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-GED E-J-2759858_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/28f8623a-8962-4ad1-88bb-4914109e1d42_20241118103848034_4_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0abfd7b9-9456-4b68-a489-bd990ef9a78e_livret_de_famille-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ec5f9e8d-e15a-421c-9fa8-6274420215cd_Facture_lentilles_2025_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26705886_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie-GED S-Z22-1003798_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26539712_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25152747_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fee6466d-f0bb-4974-82a5-556586667c21_20250210_192626_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25330401_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156469365facture_osteo08.24_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/k-bis-103142_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/13194c98-bb10-4227-a438-b7a1b9f2b6cb_facture_osteo_caro_08022025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1207573_1_scale_1.5.jpg
|
496
filter/dbscan_v2.py
Normal file
@@ -0,0 +1,496 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
DBSCAN Clustering Filter
|
||||
|
||||
Filters clustering results based on specific criteria:
|
||||
- For each cluster: select 50% of points
|
||||
- 25% from center region (closest to centroid)
|
||||
- 25% from border region (furthest from centroid)
|
||||
- All noise points are selected
|
||||
- Uses cosine distance metric
|
||||
"""
|
||||
|
||||
import json
|
||||
import numpy as np
|
||||
from sklearn.preprocessing import normalize
|
||||
from sklearn.metrics.pairwise import cosine_distances
|
||||
import argparse
|
||||
import os
|
||||
from pathlib import Path
|
||||
import random
|
||||
|
||||
|
||||
class DBSCANFilter:
|
||||
def __init__(self, embeddings_path, clustering_results_path):
|
||||
"""
|
||||
Initialize DBSCAN filter
|
||||
|
||||
Args:
|
||||
embeddings_path: Path to embeddings JSON file
|
||||
clustering_results_path: Path to DBSCAN clustering results JSON
|
||||
"""
|
||||
self.embeddings_path = embeddings_path
|
||||
self.clustering_results_path = clustering_results_path
|
||||
self.embeddings = None
|
||||
self.embeddings_normalized = None
|
||||
self.clustering_results = None
|
||||
self.filepath_to_embedding = {}
|
||||
|
||||
def load_data(self):
|
||||
"""Load embeddings and clustering results"""
|
||||
print("Loading embeddings...")
|
||||
with open(self.embeddings_path, 'r') as f:
|
||||
embeddings_data = json.load(f)
|
||||
|
||||
# Create mapping from filepath to embedding
|
||||
embeddings_list = []
|
||||
filepaths = []
|
||||
for item in embeddings_data:
|
||||
self.filepath_to_embedding[item['filepath']] = item['embedding']
|
||||
embeddings_list.append(item['embedding'])
|
||||
filepaths.append(item['filepath'])
|
||||
|
||||
self.embeddings = np.array(embeddings_list, dtype=np.float32)
|
||||
self.embeddings_normalized = normalize(self.embeddings, norm='l2')
|
||||
print(f"Loaded {len(embeddings_list)} embeddings")
|
||||
|
||||
print("Loading clustering results...")
|
||||
with open(self.clustering_results_path, 'r') as f:
|
||||
self.clustering_results = json.load(f)
|
||||
|
||||
print(f"Loaded clustering results: {self.clustering_results['n_clusters']} clusters, "
|
||||
f"{self.clustering_results['n_samples']} samples")
|
||||
|
||||
def group_by_clusters(self):
|
||||
"""Group data points by cluster labels"""
|
||||
clusters = {}
|
||||
noise_points = []
|
||||
|
||||
for result in self.clustering_results['results']:
|
||||
cluster_id = result['cluster']
|
||||
filepath = result['filepath']
|
||||
if 'is_noise' in result:
|
||||
is_noise = result['is_noise']
|
||||
else:
|
||||
is_noise = False
|
||||
|
||||
if is_noise or cluster_id == -1:
|
||||
noise_points.append({
|
||||
'filepath': filepath,
|
||||
'embedding': self.filepath_to_embedding[filepath]
|
||||
})
|
||||
else:
|
||||
if cluster_id not in clusters:
|
||||
clusters[cluster_id] = []
|
||||
clusters[cluster_id].append({
|
||||
'filepath': filepath,
|
||||
'embedding': self.filepath_to_embedding[filepath]
|
||||
})
|
||||
|
||||
return clusters, noise_points
|
||||
|
||||
def calculate_cluster_centroid(self, cluster_points):
|
||||
"""Calculate centroid of a cluster using normalized embeddings"""
|
||||
embeddings = np.array([point['embedding'] for point in cluster_points])
|
||||
embeddings_normalized = normalize(embeddings, norm='l2')
|
||||
|
||||
# For cosine distance, centroid is the normalized mean
|
||||
centroid = np.mean(embeddings_normalized, axis=0)
|
||||
centroid_normalized = normalize(centroid.reshape(1, -1), norm='l2')[0]
|
||||
|
||||
return centroid_normalized
|
||||
|
||||
def calculate_cosine_distances_to_centroid(self, cluster_points, centroid):
|
||||
"""Calculate cosine distances from each point to cluster centroid"""
|
||||
embeddings = np.array([point['embedding'] for point in cluster_points])
|
||||
embeddings_normalized = normalize(embeddings, norm='l2')
|
||||
|
||||
# Calculate cosine distances to centroid
|
||||
distances = cosine_distances(embeddings_normalized, centroid.reshape(1, -1)).flatten()
|
||||
|
||||
return distances
|
||||
|
||||
# v1 0.5 data, 0.5 center 0.5 border
|
||||
|
||||
# v2 0.5 data, 0.25 center 0.75 border
|
||||
# def filter_cluster(self, cluster_points, selection_ratio=0.5):
|
||||
|
||||
# v3 0.75 data, 0.25 center 0.75 border
|
||||
|
||||
|
||||
#dbscan 014
|
||||
# def filter_cluster(self, cluster_points, selection_ratio=0.3):
|
||||
|
||||
# """
|
||||
# Filter points from a cluster
|
||||
|
||||
# Args:
|
||||
# cluster_points: List of points in the cluster
|
||||
# selection_ratio: Ratio of points to select (default: 0.5 = 50%)
|
||||
|
||||
# Returns:
|
||||
# List of selected points
|
||||
# """
|
||||
# if len(cluster_points) == 0:
|
||||
# return []
|
||||
|
||||
|
||||
# # Calculate how many points to select
|
||||
# total_points = len(cluster_points)
|
||||
# num_to_select = max(15, int(total_points * selection_ratio))
|
||||
|
||||
# # If we need to select all or almost all points, just return all
|
||||
# if num_to_select >= total_points:
|
||||
# return cluster_points
|
||||
|
||||
# # Calculate centroid
|
||||
# centroid = self.calculate_cluster_centroid(cluster_points)
|
||||
|
||||
# # Calculate distances to centroid
|
||||
# distances = self.calculate_cosine_distances_to_centroid(cluster_points, centroid)
|
||||
|
||||
# # Create list of (point, distance) pairs
|
||||
# point_distance_pairs = list(zip(cluster_points, distances))
|
||||
|
||||
# # Sort by distance (closest to furthest from centroid)
|
||||
# point_distance_pairs.sort(key=lambda x: x[1])
|
||||
|
||||
# dis = 0.1
|
||||
# # count_center = sum(1 for pair in point_distance_pairs if pair[1] < dis)
|
||||
# all_center_points = [pair[0] for pair in point_distance_pairs if pair[1] < dis]
|
||||
# print(f"Number of center points (distance < {dis}): {len(all_center_points)}")
|
||||
|
||||
# # count_border = sum(1 for pair in point_distance_pairs if pair[1] >= dis)
|
||||
# all_border_points = [pair[0] for pair in point_distance_pairs if pair[1] >= dis]
|
||||
# print(f"Number of border points (distance >= {dis}): {len(all_border_points)}")
|
||||
|
||||
# # Calculate how many points to select from center and border
|
||||
# n_center = len(all_center_points)
|
||||
# center_count = max(1, int(n_center * 0.15))
|
||||
|
||||
# n_border = len(all_border_points)
|
||||
# if n_border < 70:
|
||||
# border_count = n_border
|
||||
# else:
|
||||
# border_count = max(0, int(n_border * 0.3)) # remaining from border
|
||||
|
||||
# selected_points = []
|
||||
|
||||
# random.seed(42)
|
||||
# # Select center points (closest to centroid)
|
||||
# # center_points = [pair[0] for pair in point_distance_pairs[:center_count]]
|
||||
# center_points = random.sample(all_center_points, center_count)
|
||||
# selected_points.extend(center_points)
|
||||
|
||||
# # # Select border points (furthest from centroid)
|
||||
# if border_count > 0:
|
||||
# # border_points = [pair[0] for pair in point_distance_pairs[-border_count:]]
|
||||
# border_points = random.sample(all_border_points, border_count)
|
||||
# selected_points.extend(border_points)
|
||||
|
||||
# print(f"Cluster with {total_points} points -> selected {len(selected_points)} points "
|
||||
# f"({center_count} center + {border_count} border)")
|
||||
|
||||
# return selected_points
|
||||
|
||||
# dbscan 015
|
||||
def filter_cluster(self, cluster_points, selection_ratio=0.3):
|
||||
|
||||
"""
|
||||
Filter points from a cluster
|
||||
|
||||
Args:
|
||||
cluster_points: List of points in the cluster
|
||||
selection_ratio: Ratio of points to select (default: 0.5 = 50%)
|
||||
|
||||
Returns:
|
||||
List of selected points
|
||||
"""
|
||||
if len(cluster_points) == 0:
|
||||
return []
|
||||
|
||||
|
||||
# Calculate how many points to select
|
||||
total_points = len(cluster_points)
|
||||
num_to_select = max(15, int(total_points * selection_ratio))
|
||||
|
||||
# If we need to select all or almost all points, just return all
|
||||
if num_to_select >= total_points:
|
||||
return cluster_points
|
||||
|
||||
# Calculate centroid
|
||||
centroid = self.calculate_cluster_centroid(cluster_points)
|
||||
|
||||
# Calculate distances to centroid
|
||||
distances = self.calculate_cosine_distances_to_centroid(cluster_points, centroid)
|
||||
|
||||
# Create list of (point, distance) pairs
|
||||
point_distance_pairs = list(zip(cluster_points, distances))
|
||||
|
||||
# Sort by distance (closest to furthest from centroid)
|
||||
point_distance_pairs.sort(key=lambda x: x[1])
|
||||
|
||||
dis = 0.1
|
||||
# count_center = sum(1 for pair in point_distance_pairs if pair[1] < dis)
|
||||
all_center_points = [pair[0] for pair in point_distance_pairs if pair[1] < dis]
|
||||
print(f"Number of center points (distance < {dis}): {len(all_center_points)}")
|
||||
|
||||
# count_border = sum(1 for pair in point_distance_pairs if pair[1] >= dis)
|
||||
all_border_points = [pair[0] for pair in point_distance_pairs if pair[1] >= dis]
|
||||
print(f"Number of border points (distance >= {dis}): {len(all_border_points)}")
|
||||
|
||||
# Calculate how many points to select from center and border
|
||||
n_center = len(all_center_points)
|
||||
center_count = max(1, int(n_center * 0.15))
|
||||
|
||||
n_border = len(all_border_points)
|
||||
if n_border < 70:
|
||||
border_count = n_border
|
||||
else:
|
||||
border_count = max(0, int(n_border * 0.3)) # remaining from border
|
||||
|
||||
selected_points = []
|
||||
|
||||
random.seed(42)
|
||||
# Select center points (closest to centroid)
|
||||
# center_points = [pair[0] for pair in point_distance_pairs[:center_count]]
|
||||
center_points = random.sample(all_center_points, center_count)
|
||||
selected_points.extend(center_points)
|
||||
|
||||
# # Select border points (furthest from centroid)
|
||||
if border_count > 0:
|
||||
# border_points = [pair[0] for pair in point_distance_pairs[-border_count:]]
|
||||
border_points = random.sample(all_border_points, border_count)
|
||||
selected_points.extend(border_points)
|
||||
|
||||
print(f"Cluster with {total_points} points -> selected {len(selected_points)} points "
|
||||
f"({center_count} center + {border_count} border)")
|
||||
|
||||
return selected_points
|
||||
|
||||
#gmm
|
||||
# def filter_cluster(self, cluster_points, selection_ratio=0.3):
|
||||
|
||||
# """
|
||||
# Filter points from a cluster
|
||||
|
||||
# Args:
|
||||
# cluster_points: List of points in the cluster
|
||||
# selection_ratio: Ratio of points to select (default: 0.5 = 50%)
|
||||
|
||||
# Returns:
|
||||
# List of selected points
|
||||
# """
|
||||
# if len(cluster_points) == 0:
|
||||
# return []
|
||||
|
||||
|
||||
# # Calculate how many points to select
|
||||
# total_points = len(cluster_points)
|
||||
# num_to_select = max(15, int(total_points * selection_ratio))
|
||||
|
||||
# # If we need to select all or almost all points, just return all
|
||||
# if num_to_select >= total_points:
|
||||
# return cluster_points
|
||||
|
||||
# # Calculate centroid
|
||||
# centroid = self.calculate_cluster_centroid(cluster_points)
|
||||
|
||||
# # Calculate distances to centroid
|
||||
# distances = self.calculate_cosine_distances_to_centroid(cluster_points, centroid)
|
||||
|
||||
# # Create list of (point, distance) pairs
|
||||
# point_distance_pairs = list(zip(cluster_points, distances))
|
||||
|
||||
# # Sort by distance (closest to furthest from centroid)
|
||||
# point_distance_pairs.sort(key=lambda x: x[1])
|
||||
|
||||
# dis = 0.2
|
||||
# # count_center = sum(1 for pair in point_distance_pairs if pair[1] < dis)
|
||||
# all_center_points = [pair[0] for pair in point_distance_pairs if pair[1] < dis]
|
||||
# print(f"Number of center points (distance < {dis}): {len(all_center_points)}")
|
||||
|
||||
# # count_border = sum(1 for pair in point_distance_pairs if pair[1] >= dis)
|
||||
# all_border_points = [pair[0] for pair in point_distance_pairs if pair[1] >= dis]
|
||||
# print(f"Number of border points (distance >= {dis}): {len(all_border_points)}")
|
||||
|
||||
# # Calculate how many points to select from center and border
|
||||
# n_center = len(all_center_points)
|
||||
# center_count = max(1, int(n_center * 0.15))
|
||||
|
||||
# n_border = len(all_border_points)
|
||||
# if n_border < 70:
|
||||
# border_count = n_border
|
||||
# else:
|
||||
# border_count = max(0, int(n_border * 0.3)) # remaining from border
|
||||
|
||||
# selected_points = []
|
||||
|
||||
# random.seed(42)
|
||||
# # Select center points (closest to centroid)
|
||||
# # center_points = [pair[0] for pair in point_distance_pairs[:center_count]]
|
||||
# center_points = random.sample(all_center_points, center_count)
|
||||
# selected_points.extend(center_points)
|
||||
|
||||
# # # Select border points (furthest from centroid)
|
||||
# if border_count > 0:
|
||||
# # border_points = [pair[0] for pair in point_distance_pairs[-border_count:]]
|
||||
# border_points = random.sample(all_border_points, border_count)
|
||||
# selected_points.extend(border_points)
|
||||
|
||||
# print(f"Cluster with {total_points} points -> selected {len(selected_points)} points "
|
||||
# f"({center_count} center + {border_count} border)")
|
||||
|
||||
# return selected_points
|
||||
|
||||
def filter_all_clusters(self):
|
||||
"""Filter all clusters according to the specified criteria"""
|
||||
print("\n" + "="*60)
|
||||
print("FILTERING DBSCAN CLUSTERING RESULTS")
|
||||
print("="*60)
|
||||
|
||||
clusters, noise_points = self.group_by_clusters()
|
||||
|
||||
print(f"Found {len(clusters)} clusters and {len(noise_points)} noise points")
|
||||
|
||||
filtered_results = []
|
||||
|
||||
# Process each cluster
|
||||
for cluster_id, cluster_points in clusters.items():
|
||||
print(f"\nProcessing Cluster {cluster_id}:")
|
||||
filtered_points = self.filter_cluster(cluster_points)
|
||||
|
||||
# Add cluster information
|
||||
for point in filtered_points:
|
||||
filtered_results.append({
|
||||
'filepath': point['filepath'],
|
||||
'cluster': cluster_id,
|
||||
'is_noise': False,
|
||||
'selection_type': 'cluster_filtered'
|
||||
})
|
||||
|
||||
# Add all noise points
|
||||
print(f"\nAdding all {len(noise_points)} noise points...")
|
||||
for point in noise_points:
|
||||
filtered_results.append({
|
||||
'filepath': point['filepath'],
|
||||
'cluster': -1,
|
||||
'is_noise': True,
|
||||
'selection_type': 'noise'
|
||||
})
|
||||
|
||||
return filtered_results
|
||||
|
||||
def save_filtered_results(self, filtered_results, output_path=None):
|
||||
"""Save filtered results to JSON file"""
|
||||
if output_path is None:
|
||||
# Generate output filename based on input
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
output_path = f"{base_name}_filtered.json"
|
||||
|
||||
# Create summary statistics
|
||||
cluster_stats = {}
|
||||
noise_count = 0
|
||||
|
||||
for result in filtered_results:
|
||||
if result['is_noise']:
|
||||
noise_count += 1
|
||||
else:
|
||||
cluster_id = result['cluster']
|
||||
if cluster_id not in cluster_stats:
|
||||
cluster_stats[cluster_id] = 0
|
||||
cluster_stats[cluster_id] += 1
|
||||
|
||||
# Prepare output data
|
||||
output_data = {
|
||||
"method": "DBSCAN_FILTERED",
|
||||
"original_n_clusters": self.clustering_results['n_clusters'],
|
||||
"original_n_samples": self.clustering_results['n_samples'],
|
||||
"filtered_n_samples": len(filtered_results),
|
||||
"filtering_criteria": {
|
||||
"cluster_selection_ratio": 0.5,
|
||||
"center_points_ratio": 0.5, # 50% of selected points from center
|
||||
"border_points_ratio": 0.5, # 50% of selected points from border
|
||||
"noise_points": "all_selected"
|
||||
},
|
||||
"cluster_statistics": cluster_stats,
|
||||
"noise_points": noise_count,
|
||||
"results": filtered_results
|
||||
}
|
||||
|
||||
with open(output_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(output_data, f, indent=4, ensure_ascii=False)
|
||||
|
||||
print("\n" + "="*60)
|
||||
print("FILTERING SUMMARY")
|
||||
print("="*60)
|
||||
print(f"Original samples: {self.clustering_results['n_samples']}")
|
||||
print(f"Filtered samples: {len(filtered_results)}")
|
||||
print(f"Reduction ratio: {len(filtered_results)/self.clustering_results['n_samples']:.2%}")
|
||||
print("\nCluster breakdown:")
|
||||
for cluster_id, count in sorted(cluster_stats.items()):
|
||||
print(f" Cluster {cluster_id}: {count} points")
|
||||
print(f" Noise points: {noise_count} points")
|
||||
print(f"\nFiltered results saved to: {output_path}")
|
||||
|
||||
return output_path
|
||||
|
||||
def create_filepath_list(self, filtered_results, output_txt_path=None):
|
||||
"""Create a simple text file with filtered filepaths"""
|
||||
if output_txt_path is None:
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
output_txt_path = f"{base_name}_filtered_filepaths.txt"
|
||||
|
||||
filepaths = [result['filepath'] for result in filtered_results]
|
||||
|
||||
with open(output_txt_path, 'w', encoding='utf-8') as f:
|
||||
for filepath in filepaths:
|
||||
f.write(f"{filepath}\n")
|
||||
|
||||
print(f"Filepath list saved to: {output_txt_path}")
|
||||
return output_txt_path
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Filter DBSCAN clustering results")
|
||||
parser.add_argument("--embeddings_path", required=True,
|
||||
help="Path to embeddings JSON file")
|
||||
parser.add_argument("--clustering_results_path", required=True,
|
||||
help="Path to DBSCAN clustering results JSON file")
|
||||
parser.add_argument("--output_path",
|
||||
help="Output path for filtered results (optional)")
|
||||
parser.add_argument("--create_filepath_list", action="store_true",
|
||||
help="Also create a simple text file with filtered filepaths")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Validate input files exist
|
||||
if not os.path.exists(args.embeddings_path):
|
||||
print(f"Error: Embeddings file not found: {args.embeddings_path}")
|
||||
return
|
||||
|
||||
if not os.path.exists(args.clustering_results_path):
|
||||
print(f"Error: Clustering results file not found: {args.clustering_results_path}")
|
||||
return
|
||||
|
||||
# Initialize filter
|
||||
filter_obj = DBSCANFilter(args.embeddings_path, args.clustering_results_path)
|
||||
|
||||
# Load data
|
||||
filter_obj.load_data()
|
||||
|
||||
# Filter clusters
|
||||
filtered_results = filter_obj.filter_all_clusters()
|
||||
|
||||
# Save results
|
||||
filter_obj.save_filtered_results(filtered_results, args.output_path)
|
||||
|
||||
# Create filepath list if requested
|
||||
if args.create_filepath_list:
|
||||
filter_obj.create_filepath_list(filtered_results)
|
||||
|
||||
print("\nFiltering completed successfully!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
352
filter/dbscan_v3.py
Normal file
@@ -0,0 +1,352 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
DBSCAN Clustering Filter
|
||||
|
||||
Filters clustering results based on specific criteria, parameterized via CLI:
|
||||
- For each cluster: select a configurable ratio of points (selection_ratio)
|
||||
- A configurable portion from center region (center_ratio)
|
||||
- A configurable portion from border region (border_ratio)
|
||||
- All noise points are selected
|
||||
- Uses cosine distance metric
|
||||
|
||||
CLI parameters added:
|
||||
--selection_ratio (float, default 0.5)
|
||||
--center_ratio (float, default 0.5)
|
||||
--border_ratio (float, default 0.5)
|
||||
|
||||
Example:
|
||||
python dbscan_v3.py \
|
||||
--embeddings_path embeddings.json \
|
||||
--clustering_results_path dbscan_results.json \
|
||||
--selection_ratio 0.4 --center_ratio 0.6 --border_ratio 0.4
|
||||
"""
|
||||
|
||||
import json
|
||||
import numpy as np
|
||||
from sklearn.preprocessing import normalize
|
||||
from sklearn.metrics.pairwise import cosine_distances
|
||||
import argparse
|
||||
import os
|
||||
from pathlib import Path
|
||||
import random
|
||||
|
||||
|
||||
class DBSCANFilter:
|
||||
def __init__(self, embeddings_path, clustering_results_path,
|
||||
selection_ratio=0.5, center_ratio=0.5, border_ratio=0.5):
|
||||
"""Initialize DBSCAN filter
|
||||
|
||||
Args:
|
||||
embeddings_path: Path to embeddings JSON file
|
||||
clustering_results_path: Path to DBSCAN clustering results JSON
|
||||
selection_ratio: Ratio of total cluster points to consider selecting
|
||||
center_ratio: Ratio applied within center region (relative scaling)
|
||||
border_ratio: Ratio applied within border region (relative scaling)
|
||||
"""
|
||||
self.embeddings_path = embeddings_path
|
||||
self.clustering_results_path = clustering_results_path
|
||||
self.embeddings = None
|
||||
self.embeddings_normalized = None
|
||||
self.clustering_results = None
|
||||
self.filepath_to_embedding = {}
|
||||
self.selection_ratio = selection_ratio
|
||||
self.center_ratio = center_ratio
|
||||
self.border_ratio = border_ratio
|
||||
|
||||
def load_data(self):
|
||||
"""Load embeddings and clustering results"""
|
||||
print("Loading embeddings...")
|
||||
with open(self.embeddings_path, 'r') as f:
|
||||
embeddings_data = json.load(f)
|
||||
|
||||
# Create mapping from filepath to embedding
|
||||
embeddings_list = []
|
||||
filepaths = []
|
||||
for item in embeddings_data:
|
||||
self.filepath_to_embedding[item['filepath']] = item['embedding']
|
||||
embeddings_list.append(item['embedding'])
|
||||
filepaths.append(item['filepath'])
|
||||
|
||||
self.embeddings = np.array(embeddings_list, dtype=np.float32)
|
||||
self.embeddings_normalized = normalize(self.embeddings, norm='l2')
|
||||
print(f"Loaded {len(embeddings_list)} embeddings")
|
||||
|
||||
print("Loading clustering results...")
|
||||
with open(self.clustering_results_path, 'r') as f:
|
||||
self.clustering_results = json.load(f)
|
||||
|
||||
print(f"Loaded clustering results: {self.clustering_results['n_clusters']} clusters, "
|
||||
f"{self.clustering_results['n_samples']} samples")
|
||||
|
||||
def group_by_clusters(self):
|
||||
"""Group data points by cluster labels"""
|
||||
clusters = {}
|
||||
noise_points = []
|
||||
|
||||
for result in self.clustering_results['results']:
|
||||
cluster_id = result['cluster']
|
||||
filepath = result['filepath']
|
||||
if 'is_noise' in result:
|
||||
is_noise = result['is_noise']
|
||||
else:
|
||||
is_noise = False
|
||||
|
||||
if is_noise or cluster_id == -1:
|
||||
noise_points.append({
|
||||
'filepath': filepath,
|
||||
'embedding': self.filepath_to_embedding[filepath]
|
||||
})
|
||||
else:
|
||||
if cluster_id not in clusters:
|
||||
clusters[cluster_id] = []
|
||||
clusters[cluster_id].append({
|
||||
'filepath': filepath,
|
||||
'embedding': self.filepath_to_embedding[filepath]
|
||||
})
|
||||
|
||||
return clusters, noise_points
|
||||
|
||||
def calculate_cluster_centroid(self, cluster_points):
|
||||
"""Calculate centroid of a cluster using normalized embeddings"""
|
||||
embeddings = np.array([point['embedding'] for point in cluster_points])
|
||||
embeddings_normalized = normalize(embeddings, norm='l2')
|
||||
|
||||
# For cosine distance, centroid is the normalized mean
|
||||
centroid = np.mean(embeddings_normalized, axis=0)
|
||||
centroid_normalized = normalize(centroid.reshape(1, -1), norm='l2')[0]
|
||||
|
||||
return centroid_normalized
|
||||
|
||||
def calculate_cosine_distances_to_centroid(self, cluster_points, centroid):
|
||||
"""Calculate cosine distances from each point to cluster centroid"""
|
||||
embeddings = np.array([point['embedding'] for point in cluster_points])
|
||||
embeddings_normalized = normalize(embeddings, norm='l2')
|
||||
|
||||
# Calculate cosine distances to centroid
|
||||
distances = cosine_distances(embeddings_normalized, centroid.reshape(1, -1)).flatten()
|
||||
|
||||
return distances
|
||||
|
||||
def filter_cluster(self, cluster_points):
|
||||
"""Lọc điểm trong một cluster dựa trên các tham số đã cấu hình."""
|
||||
if not cluster_points:
|
||||
return []
|
||||
|
||||
selection_ratio = self.selection_ratio
|
||||
center_ratio = self.center_ratio
|
||||
border_ratio = self.border_ratio
|
||||
|
||||
total_points = len(cluster_points)
|
||||
num_to_select = max(15, int(total_points * selection_ratio))
|
||||
if num_to_select >= total_points and selection_ratio != 1:
|
||||
return cluster_points
|
||||
|
||||
centroid = self.calculate_cluster_centroid(cluster_points)
|
||||
distances = self.calculate_cosine_distances_to_centroid(cluster_points, centroid)
|
||||
point_distance_pairs = list(zip(cluster_points, distances))
|
||||
point_distance_pairs.sort(key=lambda x: x[1])
|
||||
|
||||
dis = 0.1 # ngưỡng khoảng cách để phân loại center / border
|
||||
all_center_points = [p for p, d in point_distance_pairs if d < dis]
|
||||
all_border_points = [p for p, d in point_distance_pairs if d >= dis]
|
||||
|
||||
print(f"Number of center points (distance < {dis}): {len(all_center_points)}")
|
||||
print(f"Number of border points (distance >= {dis}): {len(all_border_points)}")
|
||||
|
||||
n_center = len(all_center_points)
|
||||
n_border = len(all_border_points)
|
||||
|
||||
if n_center > 0:
|
||||
center_count = max(1, int(n_center * center_ratio * selection_ratio))
|
||||
center_count = min(center_count, n_center)
|
||||
else:
|
||||
center_count = 0
|
||||
|
||||
if n_border < 70:
|
||||
border_count = n_border
|
||||
else:
|
||||
border_count = max(0, int(n_border * border_ratio * selection_ratio))
|
||||
border_count = min(border_count, n_border)
|
||||
|
||||
random.seed(42)
|
||||
selected_points = []
|
||||
if center_count > 0:
|
||||
selected_points.extend(random.sample(all_center_points, center_count))
|
||||
if border_count > 0:
|
||||
selected_points.extend(random.sample(all_border_points, border_count))
|
||||
|
||||
print(
|
||||
f"Cluster with {total_points} points -> selected {len(selected_points)} points "
|
||||
f"({center_count} center + {border_count} border)"
|
||||
)
|
||||
return selected_points
|
||||
|
||||
def filter_all_clusters(self):
|
||||
"""Filter all clusters according to the specified criteria"""
|
||||
print("\n" + "="*60)
|
||||
print("FILTERING DBSCAN CLUSTERING RESULTS")
|
||||
print("="*60)
|
||||
|
||||
clusters, noise_points = self.group_by_clusters()
|
||||
|
||||
print(f"Found {len(clusters)} clusters and {len(noise_points)} noise points")
|
||||
|
||||
filtered_results = []
|
||||
|
||||
# Process each cluster
|
||||
for cluster_id, cluster_points in clusters.items():
|
||||
print(f"\nProcessing Cluster {cluster_id}:")
|
||||
filtered_points = self.filter_cluster(cluster_points)
|
||||
|
||||
# Add cluster information
|
||||
for point in filtered_points:
|
||||
filtered_results.append({
|
||||
'filepath': point['filepath'],
|
||||
'cluster': cluster_id,
|
||||
'is_noise': False,
|
||||
'selection_type': 'cluster_filtered'
|
||||
})
|
||||
|
||||
# Add all noise points
|
||||
print(f"\nAdding all {len(noise_points)} noise points...")
|
||||
n_noise = len(noise_points)
|
||||
noise_count = max(0, int(n_noise * self.selection_ratio))
|
||||
random.seed(42)
|
||||
selected_noise_points = random.sample(noise_points, noise_count)
|
||||
|
||||
for point in selected_noise_points:
|
||||
filtered_results.append({
|
||||
'filepath': point['filepath'],
|
||||
'cluster': -1,
|
||||
'is_noise': True,
|
||||
'selection_type': 'noise'
|
||||
})
|
||||
|
||||
return filtered_results
|
||||
|
||||
def save_filtered_results(self, filtered_results, output_path=None):
|
||||
"""Save filtered results to JSON file"""
|
||||
if output_path is None:
|
||||
# Generate output filename based on input
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
output_path = f"{base_name}_filtered.json"
|
||||
|
||||
# Create summary statistics
|
||||
cluster_stats = {}
|
||||
noise_count = 0
|
||||
|
||||
for result in filtered_results:
|
||||
if result['is_noise']:
|
||||
noise_count += 1
|
||||
else:
|
||||
cluster_id = result['cluster']
|
||||
if cluster_id not in cluster_stats:
|
||||
cluster_stats[cluster_id] = 0
|
||||
cluster_stats[cluster_id] += 1
|
||||
|
||||
# Prepare output data
|
||||
output_data = {
|
||||
"method": "DBSCAN_FILTERED",
|
||||
"original_n_clusters": self.clustering_results['n_clusters'],
|
||||
"original_n_samples": self.clustering_results['n_samples'],
|
||||
"filtered_n_samples": len(filtered_results),
|
||||
"filtering_criteria": {
|
||||
"cluster_selection_ratio": self.selection_ratio,
|
||||
"center_points_ratio": self.center_ratio,
|
||||
"border_points_ratio": self.border_ratio,
|
||||
"noise_points": "all_selected"
|
||||
},
|
||||
"cluster_statistics": cluster_stats,
|
||||
"noise_points": noise_count,
|
||||
"results": filtered_results
|
||||
}
|
||||
|
||||
with open(output_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(output_data, f, indent=4, ensure_ascii=False)
|
||||
|
||||
print("\n" + "="*60)
|
||||
print("FILTERING SUMMARY")
|
||||
print("="*60)
|
||||
print(f"Original samples: {self.clustering_results['n_samples']}")
|
||||
print(f"Filtered samples: {len(filtered_results)}")
|
||||
print(f"Reduction ratio: {len(filtered_results)/self.clustering_results['n_samples']:.2%}")
|
||||
print("\nCluster breakdown:")
|
||||
for cluster_id, count in sorted(cluster_stats.items()):
|
||||
print(f" Cluster {cluster_id}: {count} points")
|
||||
print(f" Noise points: {noise_count} points")
|
||||
print(f"\nFiltered results saved to: {output_path}")
|
||||
|
||||
return output_path
|
||||
|
||||
def create_filepath_list(self, filtered_results, output_txt_path=None):
|
||||
"""Create a simple text file with filtered filepaths"""
|
||||
if output_txt_path is None:
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
output_txt_path = f"{base_name}_filtered_filepaths.txt"
|
||||
|
||||
filepaths = [result['filepath'] for result in filtered_results]
|
||||
|
||||
with open(output_txt_path, 'w', encoding='utf-8') as f:
|
||||
for filepath in filepaths:
|
||||
f.write(f"{filepath}\n")
|
||||
|
||||
print(f"Filepath list saved to: {output_txt_path}")
|
||||
return output_txt_path
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Filter DBSCAN clustering results")
|
||||
parser.add_argument("--embeddings_path", required=True,
|
||||
help="Path to embeddings JSON file")
|
||||
parser.add_argument("--clustering_results_path", required=True,
|
||||
help="Path to DBSCAN clustering results JSON file")
|
||||
parser.add_argument("--output_path",
|
||||
help="Output path for filtered results (optional)")
|
||||
parser.add_argument("--create_filepath_list", action="store_true",
|
||||
help="Also create a simple text file with filtered filepaths")
|
||||
parser.add_argument("--selection_ratio", type=float, default=0.5,
|
||||
help="Overall ratio of points to sample per cluster (default: 0.5). Minimum 15 points enforced.")
|
||||
parser.add_argument("--center_ratio", type=float, default=0.5,
|
||||
help="Relative ratio applied to center region when sampling (default: 0.5)")
|
||||
parser.add_argument("--border_ratio", type=float, default=0.5,
|
||||
help="Relative ratio applied to border region when sampling (default: 0.5)")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Validate input files exist
|
||||
if not os.path.exists(args.embeddings_path):
|
||||
print(f"Error: Embeddings file not found: {args.embeddings_path}")
|
||||
return
|
||||
|
||||
if not os.path.exists(args.clustering_results_path):
|
||||
print(f"Error: Clustering results file not found: {args.clustering_results_path}")
|
||||
return
|
||||
|
||||
# Initialize filter
|
||||
# Initialize filter with user-provided ratios
|
||||
filter_obj = DBSCANFilter(
|
||||
args.embeddings_path,
|
||||
args.clustering_results_path,
|
||||
selection_ratio=args.selection_ratio,
|
||||
center_ratio=args.center_ratio,
|
||||
border_ratio=args.border_ratio
|
||||
)
|
||||
|
||||
# Load data
|
||||
filter_obj.load_data()
|
||||
|
||||
# Filter clusters
|
||||
filtered_results = filter_obj.filter_all_clusters()
|
||||
|
||||
# Save results
|
||||
filter_obj.save_filtered_results(filtered_results, args.output_path)
|
||||
|
||||
# Create filepath list if requested
|
||||
if args.create_filepath_list:
|
||||
filter_obj.create_filepath_list(filtered_results)
|
||||
|
||||
print("\nFiltering completed successfully!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
376
filter/fillter_all.py
Normal file
@@ -0,0 +1,376 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Universal Clustering Filter
|
||||
|
||||
Filters clustering results for multiple algorithms:
|
||||
- DBSCAN: handles noise points, uses density-based selection
|
||||
- GMM: uses probability-based selection, no noise points
|
||||
- K-Means: standard centroid-based selection
|
||||
|
||||
Uses cosine distance metric for all calculations.
|
||||
"""
|
||||
|
||||
import json
|
||||
import numpy as np
|
||||
from sklearn.preprocessing import normalize
|
||||
from sklearn.metrics.pairwise import cosine_distances
|
||||
import argparse
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
class UniversalClusterFilter:
|
||||
def __init__(self, embeddings_path, clustering_results_path):
|
||||
"""
|
||||
Initialize universal cluster filter
|
||||
|
||||
Args:
|
||||
embeddings_path: Path to embeddings JSON file
|
||||
clustering_results_path: Path to clustering results JSON
|
||||
"""
|
||||
self.embeddings_path = embeddings_path
|
||||
self.clustering_results_path = clustering_results_path
|
||||
self.embeddings = None
|
||||
self.embeddings_normalized = None
|
||||
self.clustering_results = None
|
||||
self.filepath_to_embedding = {}
|
||||
self.algorithm = None
|
||||
|
||||
def load_data(self):
|
||||
"""Load embeddings and clustering results"""
|
||||
print("Loading embeddings...")
|
||||
with open(self.embeddings_path, 'r') as f:
|
||||
embeddings_data = json.load(f)
|
||||
|
||||
# Create mapping from filepath to embedding
|
||||
embeddings_list = []
|
||||
filepaths = []
|
||||
for item in embeddings_data:
|
||||
self.filepath_to_embedding[item['filepath']] = item['embedding']
|
||||
embeddings_list.append(item['embedding'])
|
||||
filepaths.append(item['filepath'])
|
||||
|
||||
self.embeddings = np.array(embeddings_list, dtype=np.float32)
|
||||
self.embeddings_normalized = normalize(self.embeddings, norm='l2')
|
||||
print(f"Loaded {len(embeddings_list)} embeddings")
|
||||
|
||||
print("Loading clustering results...")
|
||||
with open(self.clustering_results_path, 'r') as f:
|
||||
self.clustering_results = json.load(f)
|
||||
|
||||
# Detect algorithm type
|
||||
self.algorithm = self.clustering_results.get('method', 'UNKNOWN')
|
||||
print(f"Detected algorithm: {self.algorithm}")
|
||||
print(f"Loaded clustering results: {self.clustering_results['n_clusters']} clusters, "
|
||||
f"{self.clustering_results['n_samples']} samples")
|
||||
|
||||
def group_by_clusters(self):
|
||||
"""Group data points by cluster labels (algorithm-agnostic)"""
|
||||
clusters = {}
|
||||
noise_points = []
|
||||
|
||||
for result in self.clustering_results['results']:
|
||||
cluster_id = result['cluster']
|
||||
filepath = result['filepath']
|
||||
|
||||
# Check for noise points (DBSCAN specific)
|
||||
is_noise = result.get('is_noise', False)
|
||||
|
||||
if is_noise or cluster_id == -1:
|
||||
noise_points.append({
|
||||
'filepath': filepath,
|
||||
'embedding': self.filepath_to_embedding[filepath],
|
||||
'metadata': result
|
||||
})
|
||||
else:
|
||||
if cluster_id not in clusters:
|
||||
clusters[cluster_id] = []
|
||||
clusters[cluster_id].append({
|
||||
'filepath': filepath,
|
||||
'embedding': self.filepath_to_embedding[filepath],
|
||||
'metadata': result
|
||||
})
|
||||
|
||||
return clusters, noise_points
|
||||
|
||||
def calculate_cluster_centroid(self, cluster_points):
|
||||
"""Calculate centroid of a cluster using normalized embeddings"""
|
||||
embeddings = np.array([point['embedding'] for point in cluster_points])
|
||||
embeddings_normalized = normalize(embeddings, norm='l2')
|
||||
|
||||
# For cosine distance, centroid is the normalized mean
|
||||
centroid = np.mean(embeddings_normalized, axis=0)
|
||||
centroid_normalized = normalize(centroid.reshape(1, -1), norm='l2')[0]
|
||||
|
||||
return centroid_normalized
|
||||
|
||||
def calculate_cosine_distances_to_centroid(self, cluster_points, centroid):
|
||||
"""Calculate cosine distances from each point to cluster centroid"""
|
||||
embeddings = np.array([point['embedding'] for point in cluster_points])
|
||||
embeddings_normalized = normalize(embeddings, norm='l2')
|
||||
|
||||
# Calculate cosine distances to centroid
|
||||
distances = cosine_distances(embeddings_normalized, centroid.reshape(1, -1)).flatten()
|
||||
|
||||
return distances
|
||||
|
||||
def filter_cluster_standard(self, cluster_points, selection_ratio=0.5):
|
||||
"""
|
||||
Standard filtering: 25% center + 75% border of selected points
|
||||
"""
|
||||
if len(cluster_points) == 0:
|
||||
return []
|
||||
|
||||
# Calculate how many points to select
|
||||
total_points = len(cluster_points)
|
||||
num_to_select = max(1, int(total_points * selection_ratio))
|
||||
|
||||
# If we need to select all or almost all points, just return all
|
||||
if num_to_select >= total_points:
|
||||
return cluster_points
|
||||
|
||||
# Calculate centroid
|
||||
centroid = self.calculate_cluster_centroid(cluster_points)
|
||||
|
||||
# Calculate distances to centroid
|
||||
distances = self.calculate_cosine_distances_to_centroid(cluster_points, centroid)
|
||||
|
||||
# Create list of (point, distance) pairs
|
||||
point_distance_pairs = list(zip(cluster_points, distances))
|
||||
|
||||
# Sort by distance (closest to furthest from centroid)
|
||||
point_distance_pairs.sort(key=lambda x: x[1])
|
||||
|
||||
# Calculate how many points to select from center and border
|
||||
center_count = max(1, int(num_to_select * 0.25)) # 25% from center
|
||||
border_count = num_to_select - center_count # 75% from border
|
||||
|
||||
selected_points = []
|
||||
|
||||
# Select center points (closest to centroid)
|
||||
center_points = [pair[0] for pair in point_distance_pairs[:center_count]]
|
||||
for point in center_points:
|
||||
point['selection_type'] = 'center'
|
||||
selected_points.extend(center_points)
|
||||
|
||||
# Select border points (furthest from centroid)
|
||||
if border_count > 0:
|
||||
border_points = [pair[0] for pair in point_distance_pairs[-border_count:]]
|
||||
for point in border_points:
|
||||
point['selection_type'] = 'border'
|
||||
selected_points.extend(border_points)
|
||||
|
||||
print(f"Cluster with {total_points} points -> selected {len(selected_points)} points "
|
||||
f"({center_count} center + {border_count} border)")
|
||||
|
||||
return selected_points
|
||||
|
||||
def filter_cluster_gmm(self, cluster_points, selection_ratio=0.5):
|
||||
"""
|
||||
GMM-specific filtering: consider probability scores if available
|
||||
"""
|
||||
if len(cluster_points) == 0:
|
||||
return []
|
||||
|
||||
# Check if we have probability scores
|
||||
has_probabilities = any('probability' in point['metadata'] for point in cluster_points)
|
||||
|
||||
if has_probabilities:
|
||||
# Use probability-based selection
|
||||
total_points = len(cluster_points)
|
||||
num_to_select = max(1, int(total_points * selection_ratio))
|
||||
|
||||
if num_to_select >= total_points:
|
||||
return cluster_points
|
||||
|
||||
# Sort by probability (highest confidence first)
|
||||
sorted_points = sorted(cluster_points,
|
||||
key=lambda x: x['metadata'].get('probability', 0),
|
||||
reverse=True)
|
||||
|
||||
# Take top probability points
|
||||
selected_points = sorted_points[:num_to_select]
|
||||
for point in selected_points:
|
||||
point['selection_type'] = 'high_probability'
|
||||
|
||||
print(f"GMM Cluster with {total_points} points -> selected {len(selected_points)} points "
|
||||
f"(top probability)")
|
||||
|
||||
return selected_points
|
||||
else:
|
||||
# Fall back to standard filtering
|
||||
return self.filter_cluster_standard(cluster_points, selection_ratio)
|
||||
|
||||
def filter_all_clusters(self, selection_ratio=0.5):
|
||||
"""Filter all clusters according to algorithm-specific criteria"""
|
||||
print("\n" + "="*60)
|
||||
print(f"FILTERING {self.algorithm} CLUSTERING RESULTS")
|
||||
print("="*60)
|
||||
|
||||
clusters, noise_points = self.group_by_clusters()
|
||||
|
||||
print(f"Found {len(clusters)} clusters and {len(noise_points)} noise points")
|
||||
|
||||
filtered_results = []
|
||||
|
||||
# Process each cluster
|
||||
for cluster_id, cluster_points in clusters.items():
|
||||
print(f"\nProcessing Cluster {cluster_id}:")
|
||||
|
||||
# Choose filtering method based on algorithm
|
||||
if self.algorithm.upper() == 'GMM' or 'GAUSSIAN' in self.algorithm.upper():
|
||||
filtered_points = self.filter_cluster_gmm(cluster_points, selection_ratio)
|
||||
else:
|
||||
filtered_points = self.filter_cluster_standard(cluster_points, selection_ratio)
|
||||
|
||||
# Add cluster information
|
||||
for point in filtered_points:
|
||||
filtered_results.append({
|
||||
'filepath': point['filepath'],
|
||||
'cluster': cluster_id,
|
||||
'is_noise': False,
|
||||
'selection_type': point.get('selection_type', 'cluster_filtered'),
|
||||
'original_metadata': point['metadata']
|
||||
})
|
||||
|
||||
# Add all noise points (DBSCAN only)
|
||||
if noise_points:
|
||||
print(f"\nAdding all {len(noise_points)} noise points...")
|
||||
for point in noise_points:
|
||||
filtered_results.append({
|
||||
'filepath': point['filepath'],
|
||||
'cluster': -1,
|
||||
'is_noise': True,
|
||||
'selection_type': 'noise',
|
||||
'original_metadata': point['metadata']
|
||||
})
|
||||
|
||||
return filtered_results
|
||||
|
||||
def save_filtered_results(self, filtered_results, output_path=None):
|
||||
"""Save filtered results to JSON file"""
|
||||
if output_path is None:
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
output_path = f"{base_name}_filtered.json"
|
||||
|
||||
# Create summary statistics
|
||||
cluster_stats = {}
|
||||
noise_count = 0
|
||||
selection_type_stats = {}
|
||||
|
||||
for result in filtered_results:
|
||||
# Cluster stats
|
||||
if result['is_noise']:
|
||||
noise_count += 1
|
||||
else:
|
||||
cluster_id = result['cluster']
|
||||
if cluster_id not in cluster_stats:
|
||||
cluster_stats[cluster_id] = 0
|
||||
cluster_stats[cluster_id] += 1
|
||||
|
||||
# Selection type stats
|
||||
sel_type = result['selection_type']
|
||||
selection_type_stats[sel_type] = selection_type_stats.get(sel_type, 0) + 1
|
||||
|
||||
# Prepare output data
|
||||
output_data = {
|
||||
"method": f"{self.algorithm}_FILTERED",
|
||||
"original_algorithm": self.algorithm,
|
||||
"original_n_clusters": self.clustering_results['n_clusters'],
|
||||
"original_n_samples": self.clustering_results['n_samples'],
|
||||
"filtered_n_samples": len(filtered_results),
|
||||
"filtering_criteria": {
|
||||
"cluster_selection_ratio": 0.5,
|
||||
"center_points_ratio": 0.25,
|
||||
"border_points_ratio": 0.75,
|
||||
"noise_points": "all_selected" if noise_count > 0 else "none_present"
|
||||
},
|
||||
"cluster_statistics": cluster_stats,
|
||||
"selection_type_statistics": selection_type_stats,
|
||||
"noise_points": noise_count,
|
||||
"results": filtered_results
|
||||
}
|
||||
|
||||
with open(output_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(output_data, f, indent=4, ensure_ascii=False)
|
||||
|
||||
print("\n" + "="*60)
|
||||
print("FILTERING SUMMARY")
|
||||
print("="*60)
|
||||
print(f"Algorithm: {self.algorithm}")
|
||||
print(f"Original samples: {self.clustering_results['n_samples']}")
|
||||
print(f"Filtered samples: {len(filtered_results)}")
|
||||
print(f"Reduction ratio: {len(filtered_results)/self.clustering_results['n_samples']:.2%}")
|
||||
print("\nCluster breakdown:")
|
||||
for cluster_id, count in sorted(cluster_stats.items()):
|
||||
print(f" Cluster {cluster_id}: {count} points")
|
||||
if noise_count > 0:
|
||||
print(f" Noise points: {noise_count} points")
|
||||
print("\nSelection type breakdown:")
|
||||
for sel_type, count in selection_type_stats.items():
|
||||
print(f" {sel_type}: {count} points")
|
||||
print(f"\nFiltered results saved to: {output_path}")
|
||||
|
||||
return output_path
|
||||
|
||||
def create_filepath_list(self, filtered_results, output_txt_path=None):
|
||||
"""Create a simple text file with filtered filepaths"""
|
||||
if output_txt_path is None:
|
||||
base_name = Path(self.clustering_results_path).stem
|
||||
output_txt_path = f"{base_name}_filtered_filepaths.txt"
|
||||
|
||||
filepaths = [result['filepath'] for result in filtered_results]
|
||||
|
||||
with open(output_txt_path, 'w', encoding='utf-8') as f:
|
||||
for filepath in filepaths:
|
||||
f.write(f"{filepath}\n")
|
||||
|
||||
print(f"Filepath list saved to: {output_txt_path}")
|
||||
return output_txt_path
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Universal filter for clustering results")
|
||||
parser.add_argument("--embeddings_path", required=True,
|
||||
help="Path to embeddings JSON file")
|
||||
parser.add_argument("--clustering_results_path", required=True,
|
||||
help="Path to clustering results JSON file")
|
||||
parser.add_argument("--output_path",
|
||||
help="Output path for filtered results (optional)")
|
||||
parser.add_argument("--selection_ratio", type=float, default=0.5,
|
||||
help="Ratio of points to select from each cluster (default: 0.5)")
|
||||
parser.add_argument("--create_filepath_list", action="store_true",
|
||||
help="Also create a simple text file with filtered filepaths")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Validate input files exist
|
||||
if not os.path.exists(args.embeddings_path):
|
||||
print(f"Error: Embeddings file not found: {args.embeddings_path}")
|
||||
return
|
||||
|
||||
if not os.path.exists(args.clustering_results_path):
|
||||
print(f"Error: Clustering results file not found: {args.clustering_results_path}")
|
||||
return
|
||||
|
||||
# Initialize filter
|
||||
filter_obj = UniversalClusterFilter(args.embeddings_path, args.clustering_results_path)
|
||||
|
||||
# Load data
|
||||
filter_obj.load_data()
|
||||
|
||||
# Filter clusters
|
||||
filtered_results = filter_obj.filter_all_clusters(args.selection_ratio)
|
||||
|
||||
# Save results
|
||||
filter_obj.save_filtered_results(filtered_results, args.output_path)
|
||||
|
||||
# Create filepath list if requested
|
||||
if args.create_filepath_list:
|
||||
filter_obj.create_filepath_list(filtered_results)
|
||||
|
||||
print("\nFiltering completed successfully!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
105
filter/generate_dbscan_results_filter.py
Normal file
@@ -0,0 +1,105 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Generate filtered DBSCAN results based on images listed in 009_label_data_sample_seed_42.json.
|
||||
|
||||
Rules (v1): keep only entries whose base filename (before _<idx>_scale_* suffix or extension)
|
||||
can be matched with any "image" field in the label JSON. Matching strategy:
|
||||
- Extract filename without extension from each DBSCAN result filepath.
|
||||
- Remove trailing pattern: _<digits>_scale_<anything>
|
||||
- For each image name from labels, keep the DBSCAN entry if:
|
||||
* cleaned_filename startswith(image_name) OR
|
||||
* image_name startswith(cleaned_filename) OR
|
||||
* image_name in cleaned_filename OR cleaned_filename in image_name
|
||||
- This permissive logic aims to cover variations; can be tightened later.
|
||||
|
||||
Outputs file: dbscan_results_filter.json in the same folder with structure:
|
||||
{
|
||||
"method": "DBSCAN_FILTERED",
|
||||
"n_samples": <count_of_original>,
|
||||
"n_filtered": <count_after_filter>,
|
||||
"results": [ ...filtered entries... ]
|
||||
}
|
||||
"""
|
||||
from __future__ import annotations
|
||||
import json
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent
|
||||
# LABEL_FILE = BASE_DIR / "009_label_data_sample_seed_42.json"
|
||||
LABEL_FILE = BASE_DIR / "015_label_data_sample_seed_1997.json"
|
||||
LABEL_FILE = BASE_DIR / "008_label_data_sample_seed_1997.json"
|
||||
|
||||
|
||||
|
||||
# Prefer the clustering output in cluster/ directory relative to project root
|
||||
# DBSCAN_FILE_CANDIDATES = [
|
||||
# BASE_DIR.parent / "cluster" / "dbscan_results.json",
|
||||
# BASE_DIR.parent / "result" / "dbscan_results.json",
|
||||
# ]
|
||||
|
||||
DBSCAN_FILE_CANDIDATES = [
|
||||
BASE_DIR.parent / "cluster" / "dbscan_results.json",
|
||||
BASE_DIR.parent / "result" / "dbscan_results.json",
|
||||
]
|
||||
OUTPUT_FILE = BASE_DIR / "dbscan_results_filter_008.json"
|
||||
|
||||
def load_first_existing(paths):
|
||||
for p in paths:
|
||||
if p.exists():
|
||||
return p
|
||||
raise FileNotFoundError("No dbscan_results.json file found in expected locations: " + ", ".join(map(str, paths)))
|
||||
|
||||
def normalize_image_name(name: str) -> str:
|
||||
return name.strip()
|
||||
|
||||
def cleaned_filename(path: str) -> str:
|
||||
stem = Path(path).stem # remove extension
|
||||
stem = re.sub(r"_[0-9]+_scale_.*$", "", stem)
|
||||
return stem
|
||||
|
||||
def build_image_name_set(label_path: Path) -> set[str]:
|
||||
data = json.loads(label_path.read_text())
|
||||
names: set[str] = set()
|
||||
for entry in data:
|
||||
if not isinstance(entry, dict):
|
||||
continue
|
||||
img = entry.get("image")
|
||||
if isinstance(img, str) and img.strip():
|
||||
names.add(normalize_image_name(img))
|
||||
return names
|
||||
|
||||
def match_entry(core_name: str, image_names: set[str]) -> bool:
|
||||
for img in image_names:
|
||||
if core_name.startswith(img) or img.startswith(core_name):
|
||||
return True
|
||||
if img in core_name or core_name in img:
|
||||
return True
|
||||
return False
|
||||
|
||||
def main():
|
||||
dbscan_file = load_first_existing(DBSCAN_FILE_CANDIDATES)
|
||||
image_names = build_image_name_set(LABEL_FILE)
|
||||
raw = json.loads(dbscan_file.read_text())
|
||||
results = raw.get("results", [])
|
||||
filtered = []
|
||||
for rec in results:
|
||||
filepath = rec.get("filepath")
|
||||
if not filepath:
|
||||
continue
|
||||
core = cleaned_filename(filepath)
|
||||
if match_entry(core, image_names):
|
||||
filtered.append(rec)
|
||||
out = {
|
||||
"method": "DBSCAN_FILTERED",
|
||||
"n_samples": len(results),
|
||||
"n_filtered": len(filtered),
|
||||
"match_ratio": round(len(filtered) / len(results), 4) if results else 0.0,
|
||||
"source_file": str(dbscan_file),
|
||||
"label_source": str(LABEL_FILE),
|
||||
"results": filtered,
|
||||
}
|
||||
OUTPUT_FILE.write_text(json.dumps(out, indent=2, ensure_ascii=False))
|
||||
print(f"Wrote {len(filtered)} filtered results to {OUTPUT_FILE}")
|
||||
|
||||
if __name__ == "__main__": # pragma: no cover
|
||||
main()
|
1454
filter/gmm_final_results_aic_20250805_150636_filtered_filepaths.txt
Normal file
@@ -0,0 +1,460 @@
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-26471195_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26539711_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ee47fa65-6a09-493b-af5e-3d8faf643436_2500016-duvivier-anne-marie-173187397567aa1b97b01b5_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c884bb97-d413-4384-8ec1-6a99735b8be1_facture_opticien_4_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2f91e647-c8b5-42c5-9a4e-e6dc639bd488_2025-02-00097_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27545119_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1070373_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25374417_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f482ebef-e885-4627-a927-96ad54ab5aa0_Facture_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b410345a-31de-4397-a896-bc11d97e524c_FACTURE_OPHTALMOLOGISTE_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/aa50cf96-f4cb-4848-a392-99daa5efa987_Facture_ZINT_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/38b89b50-a6b6-4816-a495-ce2d9e71082f_Kine-28-11-2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27776469_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26556388_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7bc6ff74-13df-435e-8457-ecbb20d9d366_Demande_remboursement_mutuelle_osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25332784_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1212858_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26539712_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/76577d77-1213-4994-9360-9b72f6053892_Document_PDF_2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27703581_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2d21dc04-ddde-4f3f-a9a2-bd0070dc04e4_Factures_ophtalmo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1140659_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie-GED N-R-2391368_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156469375osteopathe_renau_anais_le_31-07-2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/05ec43f1-34ea-40e6-b799-413abcba56a5_IMG_1539_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3c00ec8d-24ad-46c1-aa12-08f7cba34328_17478452286276479334092225478882_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27210547_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27605403_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27708936_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27596405_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27697454_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7e914ee7-a271-4faa-8d0c-3b911e700820_image_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/803f61ed-759c-4773-90f2-d8737ef911ab_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397366294irm_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/RIB-TESTNHIDEUX-U-9-4-2025_152109-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/287b78bf-1861-467f-973f-21aad6be26f1_livret_de_famille_Humez_25022024-3_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25290421_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8c31bae4-5322-4f3b-ae00-d3dbd40446df_facture_Henry_Nadege_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172442507921917133766883857695232286776891989_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6e609e6b-dd09-4dd8-9192-416dd99e3fc6_IMG_20250207_135202_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26729830_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/047b2e29-3030-4b30-b328-8726874f3506_251_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/506fd2ef-84fb-4c32-9ce8-f68335c66bf2_1739272341881936420559325279448_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1071225_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701076_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/03c955b1-c201-4ec2-b5e0-42a11e04908f_facture_osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27672722_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/91efe623-7d6b-4a96-8b03-87199c56566a_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4ba5828c-76aa-45e9-a89f-1257021074c9_Claire_Osteo_20250207_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26592511_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/81fa09d5-04c7-4ed5-8a19-e6e724a47acb_MORIN_MARYLINE_osteopathe_050225_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/smallscreen_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1183799_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27711119_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1106091_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5818c642-d6c2-4cc9-a16d-b66563f0cb0b_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26685506_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25864357_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27559701_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25379394_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26954651_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/comprendre-ma-facture-edf-exemple_F4nHAoq_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/300a47a0-30a0-4419-a27b-a08f7ccd6db3_17392726735678376859314053270035_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0b801a90-3a0a-4b0c-bc7d-56f18b938619_2025-01-23-ophelie-lenoir_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25143901_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ro_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e1c02a95-aff0-4809-b30e-101ad81213b3_osteo_st1_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25293643_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397125678ordo_05.03.2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25863446_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25007101_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a64d7f57-a8ed-44e9-ae38-fae9bb713144_Osteopathe__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ecc107be-fcec-4b98-a0ed-bd325bd27b35_recu-fac-2025-02-031_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724399050400acte_de_naissance_Amaury_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/254612ad-aaea-43d0-8af7-882709c7e1d4_2025-02-00047_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25190194_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25880926_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e6d69c3f-dc5a-4bfc-844c-361b9bfd255e_OSTEO_02.25_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27776257_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/881d86b7-5bdb-4a16-bcbc-57202e0879b1_osteo_fevrier_2025_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ecf337c5-6bab-4630-aa9a-8364b1f542bb_facture_osteo__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c64ad8f0-0d5a-4a5b-aec5-62ec44099520_Screenshot_20250211_100040_Gallery_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/41e00ab7-34ce-4ebd-baae-b7b9e42fb973_17392896793882777076946436275276_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26186342_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26595219_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/preview-promesse-embauche-doc1-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/k-bis-103142_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25847017_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1b105dcc-c530-4799-869e-28c15c685fab_Facture_osteo_Balmelle_Cassandra5_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25270267_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397125640FACTURE_HOSTEO__1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a13a6613-da2d-48b7-96ef-412ba5a88af0_Factures_Clemence__2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a73c367c-878a-4461-a248-1f29d0a4eafb_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie-GED S-Z22-1003800_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/EdiAttAssPermCont_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1196314_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4fa21bd9-393e-41d4-9af2-bf42004f4e94_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27716093_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25414972_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27545715_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25332074_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fc14b93e-73ae-44e1-82b1-0ca50ee622de_Facture_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25203829_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26717084_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27709440_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/caaa1340-dc45-4133-9ff4-8bac8e2f6bbd_Facture_Lunettes_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8c3abdc3-796f-4764-9cc8-4da2481f36e8_IMG_2534_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25361051_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8908ff09-4087-467a-88f1-e415501a95b4_POUVAIT_lunettes_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Extrait acte de naissance - 27052816-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1207573_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658298461facture_podologue_alicia_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/56711b2e-104c-4be3-8308-60c6fb070bd6_IMG_8832_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1071291_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e6272522-cc2a-44b0-af14-9f54d1a76a59_Facture_lunettes__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25093559_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/719ba06c-91ee-44dc-b7b6-4a3132f733af_FievreVillaniCarlaLunettes_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f041f191-6b8f-429a-b8d9-1204957390b2_JANNEAU_DAVID_JANV25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/89b129db-8ec0-4d9f-a40a-a85c38cbf44b_IMG_4581_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2d21dc04-ddde-4f3f-a9a2-bd0070dc04e4_Factures_ophtalmo_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27658074_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a0bbcbed-7ccd-4e43-9e14-296e186afcce_FACTURE_Osteo_AdlaNadia_11022025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6d20c1cc-fa3b-41a9-990e-d115f2c1265b_Facture_MUNOZ_Florian_2025-0002-3_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1224543_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/27c16ad0-3309-4eb1-9432-ab8a546fee7c_osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2212e210-bbbc-466f-b30c-fce89df87489_20250210_134936_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27702790_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f894f446-28ce-491b-b6fb-f138c6406def_Scan_CPN_STL_Siat_20250207161822_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9c09398e-1348-4844-8fce-e0421ad306c9_note-d-honoraire_-_2025-02-05T144527.016_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25417096_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27575418_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/819f6faf-d9f3-4668-9000-e414d92c7f41_ROYER_LUDIVINE_FACTURE_OPHTALMO_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/85e27f49-5723-4dff-a511-885441636918_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3fd4b2e1-0247-47a1-8f27-ef7d95b9bcd2_Facture_M._Delattre_3_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25265881_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658376424KM_C250i24032713020_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6ba7415c-4d85-465b-bc52-d60959b9457f_Facture_NCBL_Cataracte_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25875089_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26772555_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226151775psy_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2ffb844a-d807-42e3-93e8-18ee0285a542_facture-POULAIN_Justine_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2d21dc04-ddde-4f3f-a9a2-bd0070dc04e4_Factures_ophtalmo_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b8feb7cc-40df-4d9a-b250-a06d519fdd3d_IMG_20240522_181521_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425031414recu-fac-2024-04-002327_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658298482BENTO22032024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/73c8aacd-890c-427f-b73d-9590f84fd6cb_20250208_114121_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3e214583-2362-4d68-a96e-ac34df3a2bb7_osteo_ju_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27210605_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/68e26d63-8bae-4e80-8f45-9a0cf6c23ad1_Osteo__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1183772_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27784857_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27631166_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie-GED S-Z22-996335_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4d8f8074-95e0-411a-b29d-25f1180fab97_Facture_Osteo_05.02.25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bef5bd2d-a370-457f-9d30-f7ce27c4dd70_Facture_2024-12-002_-_S_Frederic_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26592510_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/717d0d8d-3065-41d4-99d9-8c42dbcab6a8_Viani_Doris_facture_2025-02-01_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e5200778-8114-415c-8304-539e8e8876a0_CamScanner_07-02-2025_11.49_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/72eca803-8b6c-462c-83b3-ffbccf565a09_invoice-1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/exemple-cvec_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/77645bbd-1bc5-4636-b6c9-1c64713d19b1_facture_Raphael_Braud__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25187935_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6ac3dac2-9705-4daa-848b-86f960b592f6_IMG_1638_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25233928_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4c53616e-7da0-4c6b-9d89-b645e80f1836_FA_25-1000_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25357010_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/cfe63e63-0385-4881-b08a-b65b50e7eeed_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/534b115b-9997-48c3-bc09-ffb89e5bddf3_Screenshot_20250212_150902_com.google.android.apps.docs_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9e0ec80c-7190-4c77-a4f8-3dda603b0b30_Facture_Osteo_-_1ERE_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27579724_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0453c161-70af-4474-8854-27ab0f5d7bc0_2025-02-00044-2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25632679_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/actaadfdfffe_mariage_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6589f4fa-ebac-459a-9ebe-aa84820a2905_FACTURE_LENTILLE_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724399050308image_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/83f38474-d109-4edc-a395-0025e6259d96_Facture_250128_Osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c64d0b90-f96f-432c-8ad7-52567dd9efc4_DRAPERI_Delphine_734_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172560941569217134836825692176214918791820826_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/modele quittance de loyers agricoles_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Extrait acte de naissance - 27049977-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f2d7862b-6953-42c0-8fce-22854ae760f9_Osteopathe__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226151828Facture-FACTURE_2024-1152-MEKELLECHE-31-03-2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701396_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e18c5522-3488-40e9-9237-fd47811fb031_17388342101672092579270573009279_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658298484BENTO29032024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/40e6166e-dce5-4710-aba7-538fa663ec6c_IMG_20250306_093631_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27619324_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25161623_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25166322_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/137586df-491e-440d-97b1-0afd0047318f_Facture_2025-02-008_-_L_Ezra_5_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25184785_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27778112_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f58f9a38-60a6-4f41-98f5-26852a68d8c7_Facture_osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5550f57b-87f9-49dc-966d-aebef8d6c1d0_facture-chaulan-eliane-20250523-1531_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25414972_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26775374_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/085f8bfc-690a-4daf-9559-865274181242_Facture_CIANO_Ophtamologique_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/mobilenew_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e01ef5c0-efc8-4f46-9868-b2b7ea2e85e9_Facture_4_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25182410_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27619261_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/141f7ccc-37ab-4da5-9788-80a27e819b8b_Feuilles_de_soins_Psychologue_x2_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a3745377-917b-49b9-b9fc-3e65d22c5638_BERTIN_Franck_Facture_osteopathie_du_23_01_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a682cca0-0df7-4f71-b366-7525e73fb322_IMG_20250207_115651_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25117961_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a4873987-de63-47b0-b0ef-81044554305f_IMG_20250211_163051_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d1d62a23-a37a-4bae-b6f5-a28a137ef0af_RECTIFY_IMG_20250207_153454_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b0977b46-747a-418c-bd20-9e99472917a2_Screenshot_20250209-143006_Samsung_Notes_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1210953_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27775827_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/511f4232-e9d9-47e2-b8b4-d029f8dc1e6e_2025-01-23_OSTEO_ALCOCK_FAC-2170_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0007983c-1e48-4197-87d8-9291c7928688_LUNETTE_IVANOV_REMI_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27646505_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/106b84f7-29a1-4c06-8cdf-4a297995e678_Facture_lunettes_Amelie_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156681291facture_osteopathe_20_aout_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/419fd893-b8ef-404d-bc49-d637110e06ad_facture_ostheo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26775264_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25300559_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1204645_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3116513f-22b1-4143-8f0b-97527093a9cb_Facture_osteo_fevrier_2024_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e8e0549f-9d27-4508-9f56-1750649f9c1f_17466044538525179769049202853107_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9dfe878b-b49f-4c96-bab5-93bb2ccfc4cf_Facture_DE_LA_RIVIERE_G_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/484d05c2-b89b-4ec0-8968-9ae6a5360f6a_DetailDesPaiements_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25239524_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fe3ade48-89c0-4ac3-81f3-6dae15e20859_Ostheopate_07_02_25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27687795_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701163_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27779029_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/879cf76a-68c1-40d7-b444-0ff3341c97de_facture-zami-isabelle-20250130-1703_1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27702202_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26749684_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/27af0979-5d5f-4dee-b6b3-a8ef17cce646_facture_osteopathie_Dufour_Francois_04-02-2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27776107_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27603799_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e61341e0-47f5-44f0-afdd-b151b4ceb5aa_DEPASSEMENT_FACTURE_IVANOV_R_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/655f9ad1-1759-4ae4-8707-c66a97ef4096_IMG_20250131_162239_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27784722_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie - 27518206_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27701669_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1cbf5b4f-5370-4ad4-b877-1e3aaf3259f6_Document_2025-02-05_105424_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5f424e29-cdd7-4c3f-aceb-28377ea12982_Facture_2500023_Ferre_Bryan_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26765337_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c884bb97-d413-4384-8ec1-6a99735b8be1_facture_opticien_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27771553_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27633719_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25186075_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27651227_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/5bb3a883-f00f-42a5-84e4-007ffa949d76_facture_acquittee_optique_MIHI_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172415668127717241473179067067247267468124453_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17b264a2-4881-49a4-8326-48ace17dd86f_factures_ophtalmo_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27705806_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/455854fe-84e6-4ece-9492-276410b4e422_BORDERES1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie-GED N-R-2391503_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27439925_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27232480_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1498c5f5-22cf-41d4-87f0-9b295ff481f4_IMG_5659_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26550623_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a2487589-0cc9-424b-b7c0-077dc768318b_Renouvin_Ferlicot_Edith_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/exemple-de-facture-e-commerce_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26908261_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b3271922-dc96-4bc0-b79b-f11c1c3c2d8b_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25627904_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fa25423e-b79c-48f9-89ae-32ffd95e3101_Facture_Ophtalmologie_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b1b5e4da-2462-48c1-a9b9-ff75ecd61e37_IMG_20250206_142210_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27617919_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26189649_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1203226_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6e61ced2-f624-4434-b980-a347976b9612_osteopathe_11.02.2025_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26236562_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c865b3cf-c251-465d-97e2-ada7a618dc56_Numerisation_20250207_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27746732_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26441046_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4b0d7324-9a46-4f2c-872b-4b9c06cb0566_595570692474790_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27705767_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/RIB_Mr_Mme_PHAM-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397366242IMG_20240417_135648_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27686489_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/carte-tiers-payant_2025-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25382471_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/afc2330e-295a-4fcf-b12f-eb7de776c7a7_EMERY_Jerome_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226587949AnyScanner_03_25_2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425031408Facture_psy_fevrier_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie-GED A-B22-677661_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b685d5dd-e01e-4fa9-b7aa-17abd1a25b74_IMG_5544_1_scale_0.9.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25192590_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27537844_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26740051_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9c2763f2-fb0c-4fe4-be38-6f94fba64162_optical_facture_lunettes_apres_accident_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27235261_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27201372_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27660322_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1866f267-d6a3-49c5-80c3-e1c5d5ee6e72_HAEFFNER_Esther_Honoraires_osteeo-Schweickart_du_070225_Montant_55_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27776417_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25175989_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b7e34b86-fdb8-4ea4-b646-5bee350b947c_IMG_3542_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1198077_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27011183_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658225850OSTEO1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/b6ecc678-8a40-4e52-bc31-09aab0782121_IMG_5670_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1959c640-25ba-42e8-a898-61d5e0d0eb98_Facture_chiropracteur_07022025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/17243969995252400021-gielczynski-louise-17494429056596ad03d4ae2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27588377_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1221391_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172415667785217241478517061500135449349862696_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1d7b21c7-12f2-475d-aacd-a4b6e48c3291_osteopathe_2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1142197_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1abe7c4f-d458-4575-a0e9-3d2eaa3e0787_20250423133038356_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Elec+gaz 17.05.25 Auray-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/407243a9-16c8-4107-b8b3-5c9ad81c6952_DONNA_Celia_feuille-de-soins_2025-02-11_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27775261_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26748031_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4ef6454c-e7e6-4b35-9e66-f41d56027d94_Facture_MARCIN_Amandine0702_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/28f8623a-8962-4ad1-88bb-4914109e1d42_20241118103848034_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/689164e2-be46-489b-8623-88eb5ef70df8_10-02-2025_Facture_Osteopathe_Mme__SIMOU_Daniele_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25957679_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/preview-locataire-certificat-de-scolarite-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156469378osteopathe_renau_anais_le_31-07-2024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/40003ed8-4072-4398-bddd-0090359e602d_osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27708327_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2b553211-f546-45dd-aa16-d38b138a86c0_IMG_4601_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26729718_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/847603bb-2553-4d83-ace0-2b6ff79fa244_facture_osteo_06-02-2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/831984b8-6c87-4f5d-b0a0-2d0ab5cc9061_20250207_140107_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8be57af2-165f-4a77-9579-8ee89b4c0d88_1000012628_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25167333_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26610949_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1142334_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e358b13d-402c-4e6e-9a65-1160a204353e_Screenshot_20250211_100027_Gallery_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658298467Facture_Osteopatie_Melanie_HAMON_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0bfb5041-2751-421d-b5d5-60d696c361c1_17391960081576654684571490136238_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Capture'_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/dcfae795-497c-4d49-8e5d-1c059f6d5cb4_Facture_Osteopathe__2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/01d6b922-8482-400e-93ea-82cec3190698_1000004180_1_scale_0.7.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d6b93c3d-f00e-49ac-8fce-ebd2c99ec6a5_Feuille_de_soins_PROBST_Annie_20250315_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3e613099-4659-4efd-b33f-811fc5fc764d_IMG_20250206_131824_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d4f310c8-3bcf-4bb5-bf53-27ad74d66c1e_FACTURE_OPTICIEN_OPHTALMO_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25182408_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27756973_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c0625556-2cb1-42c8-9433-e31274c121a3_Livret_de_famille_hamidouna-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26082051_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/719ba06c-91ee-44dc-b7b6-4a3132f733af_FievreVillaniCarlaLunettes_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/3676c6dd-d518-44b9-8c9f-a37b7eb77c2f_17389316237651055174693799784340_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/74441931-f8d0-4cb0-8eb5-df4147a72bbe_mgp_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1078555_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e41a3905-f595-4a23-8b98-cfba5c39052f_OSTEO_du_11_02_2025_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/12ebca6a-2e94-4739-a692-1100f6722a5f_Le_Monnier_Fauche_Nolan_facture_2025-01-17_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/50eeaebf-d552-4a12-92a4-66d185bb992b_facture_optique_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/9496a72b-9c2c-4542-867f-9fc4dad457c1_IMG_20250207_084759_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/42182356-427d-4a67-8ad2-a21775f7bf44_17390334446023078850027382669569_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26723534_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/141d1472-51b6-49f1-a349-e2b5a2adbdde_Facture_osteo__1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ddc16454-d05b-4e9d-b03c-50468919fef3_IMG_9601_1_scale_0.4.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27759503_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397125672fact_osteo_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bcdab145-079b-4ba1-a334-97abfd45d9f8_Cabinet_Perreux_sur_marne_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-27082405_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25224007_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/172563253219717135147262417284755816824044985_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/baadcf11-c68e-4774-bbaf-c7dad90b4e13_DURAND_FABIEN_facture_2025-04-25_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25489070_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/52bf793f-cea7-4827-a719-ac4fae130280_facture_osteo14.01_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0308b7e0-8da0-4bfe-a578-57eb88e0511a_recu-fac-002296_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26765337_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25245480_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27668729_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1148278_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie-GED N-R1-948960_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture psychologie-GED K-M33-235142_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27608383_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ee05efb9-c283-46d5-a7e7-222392db9309_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1112613_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724397121048facture_kine_15-04-24_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/attestationVitale_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27703140_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8dcf02a7-b647-4605-9d95-d3fda3685599_p20250212_14102586_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27238995_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/6ba7415c-4d85-465b-bc52-d60959b9457f_Facture_NCBL_Cataracte_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/fixIBULL_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a593830c-dcbb-4553-860f-b0925a4c30ef_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27781874_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/nom contact_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/15702a02-c595-4c4e-bb3f-9b31e542c13b_FACTURE_POTARD_-_DE_SANTS_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/28a6084a-24a5-4922-b79d-f96dd51c5666_Factures_et_ordonnaces_optique_ABDOUL_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26722802_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/707771f6-bb3b-4e5e-8d7d-acd584a23009_IMG_20240726_142929_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27753021_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/rib-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f40d1b67-7690-4d39-8578-eca04cfd2b3c_Factures_Ethiopathe_Dimitri_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724396999460facture_lentille_garreau1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27679600_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c2dc54e7-025f-4d2a-a569-4548c4064cc4_Document_scanne_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/4f09f855-c993-42ea-97b1-3dd728b53e16_devis_ophtalmo_1_scale_0.8.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/586fa34d-1ecb-4c41-a953-b866443a7793_Osteopathe_001_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f7df49da-2cf8-4584-8306-0d10ea1994a3_Melot_Quentin_facture_2025-02-07_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1c9ac535-bb12-431c-b88f-b3401b30925e_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1062996_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226151866livretDeFamille_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25059182_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/48e19752-3534-4539-8905-e09bdeb9fddd_CamScanner_11-02-2025_21.51_1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27757098_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26957793_3_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/bad0f823-e7d4-41be-87a2-1634254db924_IMG_20250207_130207_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724425079184Facture_Osteopathe_Brousseau_sader_17avr24_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26189648_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658298486BENTO06042024_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/95c188de-0800-4cdc-8f02-4c6fdadf3d66_Facture_Osteo_Annick_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27579295_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/e6c39a83-a53c-48f5-bffe-6bdb57337b33_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27601381_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/eb5561dd-937b-4c0b-b6c6-56da8b528c94_facture_vision_claire_ophtalmo_1_001_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/7bad16be-dff9-4b92-8041-4a9c38638e29_facturation_osteo-1_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25330401_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2af3fe93-a285-4ced-898b-90b4106bef8c_osteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27646193_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27691255_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27576127_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/a9f88b8f-a751-478e-9338-2d31fb1062e7_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27717154_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27784971_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Quittance de Loyer 11.24 Mr NGUYEN-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26691031_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27653858_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25279751_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/0cae671e-6b7f-41aa-a0ab-d74b8e15e424_DIMART_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1196314_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27554784_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658376437factosteo_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25919222_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26729570_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724226151715Facture_Julie_Boissel_2_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1d3b5d22-87f2-4c89-90e5-8b0350bca84e_facture__Surre_Chloe_03_fevrier_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/04fde30d-7891-439d-85e7-285a0d8ffee1_IMG_1550_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25273058_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/2b3ed78c-1a3c-40b3-b997-0e74f6ba497f_FENOLLAR_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156469373facture_psy_DOMI_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26107527_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/d317e79c-0485-42f8-b24d-413d94e7a779_Livret_de_famille-1_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture médecine douce-27710953_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1106092_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/834a074c-811f-4d27-9c19-134a4b9ab2ea_FACTURE-25-02-208-GEORGES_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/c7bbe834-632d-4fb6-8e24-c9c5caf488bc_IMG_4966_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/DDE prestation Facture des lentilles de contact-26723200_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f8c6fe47-9608-4f9e-938b-117bfa4dcd30_ostheopatie_2025-02-12_Grenot-JLuc_Mme-Tabary_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f0395d11-18fb-4b9f-bee1-5ca75d656d14_image_1_scale_0.6.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture des lentilles de contact-27664783_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26592477_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/abd25cab-e2d5-456c-ac6c-d209b698daf2_Le_Monnier_Fauche_Nolan_facture_2025-01-31_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-1105977_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture-quittance toutes spécialités-27474258_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/8d5e5dfe-71a8-4a05-a376-8727cd264ffd_osteopathe_do_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25187936_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724658126141JACOB_Francois_2024-111_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-26368529_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25263730_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/Facture ostéopathe-25330401_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/ab26e47b-d267-439c-9b12-8699c17d5d47_facture_Aurelie_Claude_naturopathe_2_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/47a3ed6d-aade-4da2-8006-1ec798c5e915_Stiegler_Gary_1_scale_1.5.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/f30627ed-f84d-4e7e-aad5-fd4e06475247_livret-de-famille-1-2_1_scale_1.0.jpg
|
||||
/home/nguyendc/model-factory/Finetuning-Automation/etc/data/media/docai_mgp_facture_v2_0/1724156469377Facture_DAURISFlorian_20240815CGEI_1_scale_1.5.jpg
|
2
filter/log_gmm_extensive_update.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
nohup: ignoring input
|
||||
python: can't open file '/home/nguyendc/sonnh/embedding-clustering/filter/gmm_extensive.py': [Errno 2] No such file or directory
|
111
filter/random_sample_data.py
Normal file
@@ -0,0 +1,111 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Script để random pick 50% samples từ label_data.json với 3 seeds khác nhau
|
||||
và lưu thành 3 files riêng biệt.
|
||||
"""
|
||||
|
||||
import json
|
||||
import random
|
||||
import os
|
||||
from typing import List, Dict, Any
|
||||
|
||||
def load_json_data(file_path: str) -> List[Dict[str, Any]]:
|
||||
"""Load dữ liệu từ file JSON"""
|
||||
try:
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
print(f"✅ Đã load {len(data)} samples từ {file_path}")
|
||||
return data
|
||||
except FileNotFoundError:
|
||||
print(f"❌ Không tìm thấy file: {file_path}")
|
||||
return []
|
||||
except json.JSONDecodeError as e:
|
||||
print(f"❌ Lỗi decode JSON: {e}")
|
||||
return []
|
||||
|
||||
def random_sample_data(data: List[Dict[str, Any]], seed: int, sample_ratio: float = 0.5, sample_size = None) -> List[Dict[str, Any]]:
|
||||
"""Random pick samples từ data với seed và tỷ lệ sampling cụ thể"""
|
||||
random.seed(seed)
|
||||
if sample_size is None:
|
||||
sample_size = int(len(data) * sample_ratio)
|
||||
sampled_data = random.sample(data, sample_size)
|
||||
print(f"🎲 Seed {seed}: Đã sample {len(sampled_data)}/{len(data)} samples ({sample_ratio*100:.1f}%)")
|
||||
return sampled_data
|
||||
|
||||
def save_json_data(data: List[Dict[str, Any]], file_path: str) -> bool:
|
||||
"""Lưu dữ liệu vào file JSON"""
|
||||
try:
|
||||
with open(file_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(data, f, ensure_ascii=False, indent=2)
|
||||
print(f"💾 Đã lưu {len(data)} samples vào {file_path}")
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ Lỗi khi lưu file {file_path}: {e}")
|
||||
return False
|
||||
|
||||
def main():
|
||||
"""Hàm chính"""
|
||||
# Đường dẫn file input
|
||||
input_file = "label_data.json"
|
||||
|
||||
# Các seeds cần sử dụng
|
||||
seeds = [1997, 42, 2025]
|
||||
# seeds = [42]
|
||||
|
||||
# Tỷ lệ sampling (50%)
|
||||
|
||||
# 8, 9, 10
|
||||
sample_ratio = 0.5
|
||||
|
||||
# 11,12,13
|
||||
sample_ratio = 0.3
|
||||
|
||||
# 16
|
||||
# sample_ratio = 0.01
|
||||
|
||||
# 15, 17, 18
|
||||
sample_size = 200
|
||||
|
||||
print("🔄 Bắt đầu quá trình random sampling...")
|
||||
print("=" * 50)
|
||||
|
||||
# Load dữ liệu gốc
|
||||
original_data = load_json_data(input_file)
|
||||
if not original_data:
|
||||
print("❌ Không thể load dữ liệu. Thoát chương trình.")
|
||||
return
|
||||
|
||||
print(f"📊 Tổng số samples trong file gốc: {len(original_data)}")
|
||||
print(f"🎯 Sẽ sample {sample_ratio*100:.1f}% = {int(len(original_data) * sample_ratio)} samples")
|
||||
print("=" * 50)
|
||||
|
||||
# Thực hiện sampling với từng seed
|
||||
for seed in seeds:
|
||||
print(f"\n🌱 Xử lý với seed: {seed}")
|
||||
|
||||
# Random sample data
|
||||
sampled_data = random_sample_data(original_data, seed, sample_ratio, sample_size = sample_size)
|
||||
|
||||
# Tạo tên file output
|
||||
output_file = f"label_data_sample_seed_{seed}.json"
|
||||
|
||||
# Lưu file
|
||||
success = save_json_data(sampled_data, output_file)
|
||||
|
||||
if success:
|
||||
print(f"✅ Hoàn thành sampling với seed {seed}")
|
||||
else:
|
||||
print(f"❌ Lỗi khi xử lý seed {seed}")
|
||||
|
||||
print("\n" + "=" * 50)
|
||||
print("🎉 Hoàn thành toàn bộ quá trình!")
|
||||
print("\n📁 Các file đã được tạo:")
|
||||
for seed in seeds:
|
||||
output_file = f"016_no_fine_tune_label_data_sample_seed_{seed}.json"
|
||||
if os.path.exists(output_file):
|
||||
print(f" ✅ {output_file}")
|
||||
else:
|
||||
print(f" ❌ {output_file} (không tồn tại)")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
138
filter/run_filter.sh
Normal file
@@ -0,0 +1,138 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Example script to run DBSCAN filtering
|
||||
# Make sure to update the paths according to your data
|
||||
|
||||
# EMBEDDINGS_PATH="/home/nguyendc/sonnh/embedding-clustering/extract/embeddings_factures_osteopathie_1k_qwen.json"
|
||||
# CLUSTERING_RESULTS_PATH="/home/nguyendc/sonnh/embedding-clustering/cluster/dbscan_results.json"
|
||||
# OUTPUT_PATH="dbscan_filtered_results.json" #0.5 of data, center 0.5, 0.5 border
|
||||
# OUTPUT_PATH="dbscan_filtered_results_v2.json" #0.5 of data, 0.25 center, 0.75 border
|
||||
# OUTPUT_PATH="dbscan_filtered_results_v3.json" #0.75 of data, center 0.25 border 0.75
|
||||
|
||||
|
||||
|
||||
# echo "Running DBSCAN filtering..."
|
||||
# echo "Embeddings: $EMBEDDINGS_PATH"
|
||||
# echo "Clustering results: $CLUSTERING_RESULTS_PATH"
|
||||
# echo "Output: $OUTPUT_PATH"
|
||||
|
||||
# python dbscan.py \
|
||||
# --embeddings_path "$EMBEDDINGS_PATH" \
|
||||
# --clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
# --output_path "$OUTPUT_PATH" \
|
||||
# --create_filepath_list
|
||||
|
||||
# echo "Filtering completed!"
|
||||
|
||||
# EMBEDDINGS_PATH="/home/nguyendc/sonnh/embedding-clustering/extract/embeddings_factures_osteopathie_1k_qwen.json"
|
||||
# CLUSTERING_RESULTS_PATH="/home/nguyendc/sonnh/embedding-clustering/cluster/gmm_final_results_bic_20250805_150636.json"
|
||||
# OUTPUT_PATH="gmm_best_by_BIC_filtered_results.json" #0.75 of data, center 0.25 border 0.75
|
||||
|
||||
|
||||
# echo "Running DBSCAN filtering..."
|
||||
# echo "Embeddings: $EMBEDDINGS_PATH"
|
||||
# echo "Clustering results: $CLUSTERING_RESULTS_PATH"
|
||||
# echo "Output: $OUTPUT_PATH"
|
||||
|
||||
# python dbscan.py \
|
||||
# --embeddings_path "$EMBEDDINGS_PATH" \
|
||||
# --clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
# --output_path "$OUTPUT_PATH" \
|
||||
# --create_filepath_list
|
||||
|
||||
|
||||
|
||||
# echo "Filtering completed!"
|
||||
|
||||
|
||||
|
||||
# EMBEDDINGS_PATH="/home/nguyendc/sonnh/embedding-clustering/extract/embeddings_factures_osteopathie_1k_qwen.json"
|
||||
# CLUSTERING_RESULTS_PATH="/home/nguyendc/sonnh/embedding-clustering/cluster/dbscan_results.json"
|
||||
# OUTPUT_PATH="014_re_run_dbscan_filtered_results_temp.json" #0.75 of data, center 0.25 border 0.75
|
||||
# python dbscan_v2.py \
|
||||
# --embeddings_path "$EMBEDDINGS_PATH" \
|
||||
# --clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
# --output_path "$OUTPUT_PATH" \
|
||||
# --create_filepath_list
|
||||
|
||||
|
||||
# EMBEDDINGS_PATH="/home/nguyendc/sonnh/embedding-clustering/extract/embeddings_factures_osteopathie_1k_qwen.json"
|
||||
# CLUSTERING_RESULTS_PATH="/home/nguyendc/sonnh/embedding-clustering/cluster/gmm_final_results_bic_20250805_150636.json"
|
||||
# OUTPUT_PATH="015_gmm_best_by_BIC_filtered_results_temp.json" #0.75 of data, center 0.25 border 0.75
|
||||
# python dbscan_v2.py \
|
||||
# --embeddings_path "$EMBEDDINGS_PATH" \
|
||||
# --clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
# --output_path "$OUTPUT_PATH" \
|
||||
# --create_filepath_list
|
||||
|
||||
# EMBEDDINGS_PATH="/home/nguyendc/sonnh/embedding-clustering/extract/embeddings_factures_osteopathie_1k_qwen.json"
|
||||
# CLUSTERING_RESULTS_PATH="/home/nguyendc/sonnh/embedding-clustering/cluster/dbscan_results.json"
|
||||
# OUTPUT_DIR="dbscan_v3_out_clusters"
|
||||
|
||||
# # python dbscan_v3_only_one_cluster.py \
|
||||
# # --embeddings_path "$EMBEDDINGS_PATH" \
|
||||
# # --clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
# # --output_dir "$OUTPUT_DIR" \
|
||||
|
||||
# python dbscan_only_one_cluster.py \
|
||||
# --embeddings_path "$EMBEDDINGS_PATH" \
|
||||
# --clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
# --save_full_clusters \
|
||||
# --clusters_output_dir per_clusters
|
||||
|
||||
# EMBEDDINGS_PATH="/home/nguyendc/sonnh/embedding-clustering/extract/embeddings_factures_osteopathie_1k_qwen.json"
|
||||
# CLUSTERING_RESULTS_PATH="/home/nguyendc/sonnh/embedding-clustering/cluster/dbscan_results.json"
|
||||
# OUTPUT_PATH="026_dbscan_v3_filtered_results_temp.json"
|
||||
|
||||
# python dbscan_v3.py \
|
||||
# --embeddings_path "$EMBEDDINGS_PATH" \
|
||||
# --clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
# --output_path "$OUTPUT_PATH" \
|
||||
# --create_filepath_list \
|
||||
# --selection_ratio 1.0 --center_ratio 0.5 --border_ratio 0.5
|
||||
|
||||
# EMBEDDINGS_PATH="/home/nguyendc/sonnh/embedding-clustering/extract/embeddings_factures_osteopathie_1k_qwen.json"
|
||||
# CLUSTERING_RESULTS_PATH="/home/nguyendc/sonnh/embedding-clustering/cluster/dbscan_results.json"
|
||||
# OUTPUT_PATH="027_dbscan_v3_filtered_results_temp.json"
|
||||
|
||||
# python dbscan_v3.py \
|
||||
# --embeddings_path "$EMBEDDINGS_PATH" \
|
||||
# --clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
# --output_path "$OUTPUT_PATH" \
|
||||
# --create_filepath_list \
|
||||
# --selection_ratio 1.0 --center_ratio 0.25 --border_ratio 0.75
|
||||
|
||||
# EMBEDDINGS_PATH="/home/nguyendc/sonnh/embedding-clustering/extract/embeddings_factures_osteopathie_1k_qwen.json"
|
||||
# CLUSTERING_RESULTS_PATH="/home/nguyendc/sonnh/embedding-clustering/cluster/dbscan_results.json"
|
||||
# OUTPUT_PATH="019_dbscan_v3_filtered_results_temp.json"
|
||||
|
||||
# python dbscan_v3.py \
|
||||
# --embeddings_path "$EMBEDDINGS_PATH" \
|
||||
# --clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
# --output_path "$OUTPUT_PATH" \
|
||||
# --create_filepath_list \
|
||||
# --selection_ratio 0.12 --center_ratio 0.25 --border_ratio 0.75
|
||||
|
||||
|
||||
# EMBEDDINGS_PATH="/home/nguyendc/sonnh/embedding-clustering/extract/embeddings_factures_osteopathie_1k_qwen.json"
|
||||
# CLUSTERING_RESULTS_PATH="/home/nguyendc/sonnh/embedding-clustering/cluster/gmm_final_results_bic_20250805_150636.json"
|
||||
# OUTPUT_PATH="028_gmm_best_by_BIC_filtered_results.json" #0.75 of data, center 0.25 border 0.75
|
||||
|
||||
# python dbscan_v3.py \
|
||||
# --embeddings_path "$EMBEDDINGS_PATH" \
|
||||
# --clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
# --output_path "$OUTPUT_PATH" \
|
||||
# --create_filepath_list \
|
||||
# --selection_ratio 1.0 --center_ratio 0.25 --border_ratio 0.75
|
||||
|
||||
|
||||
EMBEDDINGS_PATH="/home/nguyendc/sonnh/embedding-clustering/extract/embeddings_factures_osteopathie_1k_qwen.json"
|
||||
CLUSTERING_RESULTS_PATH="/home/nguyendc/sonnh/embedding-clustering/cluster/dbscan_results.json"
|
||||
OUTPUT_PATH="029_dbscan_v3_filtered_results_temp_30.json" #0.75 of data, center 0.25 border 0.75
|
||||
|
||||
python dbscan_v3.py \
|
||||
--embeddings_path "$EMBEDDINGS_PATH" \
|
||||
--clustering_results_path "$CLUSTERING_RESULTS_PATH" \
|
||||
--output_path "$OUTPUT_PATH" \
|
||||
--create_filepath_list \
|
||||
--selection_ratio 0.6 --center_ratio 0.5 --border_ratio 0.5
|
12
filter/shuffle.py
Normal file
@@ -0,0 +1,12 @@
|
||||
import random
|
||||
|
||||
import json
|
||||
|
||||
with open('/home/nguyendc/sonnh/embedding-clustering/filter/008_label_data_sample_seed_1997.json', 'r') as f:
|
||||
data = json.load(f)
|
||||
|
||||
random.seed(8272025)
|
||||
random.shuffle(data)
|
||||
|
||||
with open('/home/nguyendc/sonnh/embedding-clustering/filter/032_shuffle_008.json', 'w') as f:
|
||||
json.dump(data, f)
|