3.1 KiB
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
PATCHdie kompletteproperties-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_KEYprüfen. - Guthaben/Kontingent erschöpft.
- Aufruf-Parameter: Neuere Modelle lehnen
temperatureungleich dem Standard oderresponse_formatab. Das Tool probiert solche Fälle inzwischen selbst mildere Varianten durch und merkt sich die funktionierende — hier ist also normalerweise nichts mehr zu tun.