# 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/.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/.json Vorschläge data/tandoor-nutrition/laeufe// 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.