chore: initial import
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user