71 lines
3.1 KiB
Markdown
71 lines
3.1 KiB
Markdown
# Nährwerte vervollständigen
|
|
|
|
Findet Zutaten, bei denen Eigenschaften fehlen, lässt die Lücken schätzen und
|
|
schreibt sie nach Prüfung zurück.
|
|
|
|
## Die drei Schritte
|
|
|
|
**1 · Prüfen** liest alle Zutaten und Eigenschaften und zeigt, wo was fehlt.
|
|
Sortiert nach Rezeptzahl — eine Lücke bei „Zwiebel“ (18 Rezepte) wiegt
|
|
schwerer als bei „Yuzukosho“ (0 Rezepte). Verändert nichts.
|
|
|
|
**2 · Vorschlagen** lässt ein Sprachmodell die fehlenden Werte je 100 g
|
|
schätzen. Geht in Blöcken zu 20 Zutaten an OpenAI. Schreibt eine
|
|
Vorschlagsdatei, in Tandoor passiert nichts.
|
|
|
|
**3 · Übernehmen** zeigt jeden Vorschlag mit Häkchen und änderbarem Wert.
|
|
Erst „Trockenübung“, dann „Übernehmen“. Von jeder geänderten Zutat wird der
|
|
Zustand vorher und nachher gesichert.
|
|
|
|
## Was die Zahlen sind — und was nicht
|
|
|
|
Schätzungen eines Sprachmodells. Für Hausgebrauch und Größenordnung gedacht,
|
|
keine Laboranalyse. Wer Nährwerte medizinisch braucht, prüft sie besser gegen
|
|
eine echte Datenbank. Deshalb ist jeder Wert vor dem Schreiben editierbar.
|
|
|
|
## Wie es mit Tandoor umgeht
|
|
|
|
* Vorhandene Werte werden **nie** überschrieben (außer man hakt es ausdrücklich an).
|
|
* Tandoor ersetzt beim `PATCH` die komplette `properties`-Liste. Das Tool
|
|
schickt deshalb immer den vollständigen Bestand mit — sonst fiele weg, was
|
|
schon da war.
|
|
* Zutaten ohne Bezugsmenge bekommen sie mitgesetzt (Vorgabe: 100 g). Ohne die
|
|
kann Tandoor keine Rezeptwerte rechnen.
|
|
|
|
## Ohne Suite
|
|
|
|
export TANDOOR_URL=https://kitchen.example.de
|
|
export TANDOOR_TOKEN=...
|
|
export OPENAI_API_KEY=...
|
|
|
|
python3 plugins/tandoor-nutrition/tool/nutrition.py pruefen
|
|
python3 plugins/tandoor-nutrition/tool/nutrition.py vorschlagen --limit 20
|
|
python3 plugins/tandoor-nutrition/tool/nutrition.py uebernehmen \
|
|
--vorschlag data/tandoor-nutrition/vorschlaege/<datei>.json --apply
|
|
|
|
## Dateien
|
|
|
|
data/tandoor-nutrition/bericht/bericht.json letzte Prüfung
|
|
data/tandoor-nutrition/bericht/luecken.csv dieselbe als Tabelle
|
|
data/tandoor-nutrition/vorschlaege/<zeit>.json Vorschläge
|
|
data/tandoor-nutrition/laeufe/<zeit>/ Sicherungen je Übernahme
|
|
|
|
## Wenn „Vorschlagen“ nur „ohne Ergebnis“ liefert
|
|
|
|
Kommt ein Lauf mit 0 Vorschlägen und „N ohne Ergebnis“ zurück, ist meist die
|
|
Modell-Abfrage grundsätzlich gescheitert, nicht an einzelnen Zutaten. Der erste
|
|
Fehler steht jetzt in der Vorschlagsdatei (`error`) und im Übernehmen-Reiter.
|
|
|
|
Schnellster Weg zur Ursache: im Reiter „2 · Vorschlagen“ auf **Verbindung
|
|
testen** (oder `nutrition.py probe`). Das macht eine einzelne Beispiel-Abfrage
|
|
und zeigt den vollständigen Fehler. Häufige Ursachen:
|
|
|
|
* **Modellname** nicht vorhanden oder nicht freigeschaltet → in den
|
|
Einstellungen ein anderes Modell setzen (`OPENAI_MODEL`).
|
|
* **API-Key** wird abgelehnt → `OPENAI_API_KEY` prüfen.
|
|
* **Guthaben/Kontingent** erschöpft.
|
|
* **Aufruf-Parameter**: Neuere Modelle lehnen `temperature` ungleich dem
|
|
Standard oder `response_format` ab. Das Tool probiert solche Fälle inzwischen
|
|
selbst mildere Varianten durch und merkt sich die funktionierende — hier ist
|
|
also normalerweise nichts mehr zu tun.
|