feat: inclure l'unité/poids dans la normalisation LLM
fetch_unnormalized() remonte maintenant la colonne `unit` (ex: "250 g", "20 sachets"). Le normaliseur concatène name_raw + unit avant d'envoyer au LLM, qui peut ainsi placer le poids dans le champ format. Résultat : "Haribo dragibus" → "Dragibus | Haribo | 250g" au lieu de "Haribo dragibus" → "Dragibus | Haribo | -" Améliore aussi la qualité du fuzzy matching Picnic ↔ Leclerc. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -140,7 +140,7 @@ def fetch_unnormalized(
|
||||
) -> list[sqlite3.Row]:
|
||||
"""Retourne les articles dont name_normalized est NULL.
|
||||
|
||||
Chaque Row expose les clés : id, name_raw, receipt_id.
|
||||
Chaque Row expose les clés : id, name_raw, unit, receipt_id.
|
||||
Trié par id pour un traitement reproductible.
|
||||
|
||||
Args:
|
||||
@@ -150,7 +150,7 @@ def fetch_unnormalized(
|
||||
Returns:
|
||||
Liste de sqlite3.Row.
|
||||
"""
|
||||
sql = "SELECT id, name_raw, receipt_id FROM items WHERE name_normalized IS NULL ORDER BY id"
|
||||
sql = "SELECT id, name_raw, unit, receipt_id FROM items WHERE name_normalized IS NULL ORDER BY id"
|
||||
if limit is not None:
|
||||
sql += f" LIMIT {int(limit)}"
|
||||
return conn.execute(sql).fetchall()
|
||||
|
||||
Reference in New Issue
Block a user