KI-Schritte bei der Erfassung #20

Closed
opened 2026-10-08 11:07:06 +02:00 by lena · 3 comments
Collaborator

Ziel

Die Erfassung (#4) wird zunaechst ohne KI gebaut (Entscheidung Lena 08.10.2026). Dieses Issue schliesst die KI-Schritte an, sobald der Qualitaetstest (#19) zeigt, welches Modell wofuer taugt.

Grundlage

PRD Kapitel 07 (Eingabekanaele, Hintergrund), 08 (Fotoeingaben, Sofort-Pruefung, Modell pro Aufgabe); aus #4 herausgeloeste Kriterien.

Abhaengig von

#4, #19

Akzeptanzkriterien

  • AK-1 Foto lesen (bisher #4 AK-9, AK-21): Der Text eines Rezeptfotos (auch mehrerer Fotos eines Rezepts, in der gewaehlten Reihenfolge) wird von der KI gelesen. Ein unlesbares Foto wird "nicht erkannt"; das Foto bleibt.
  • AK-2 Seitentext (bisher #4 AK-7, AK-20): Hat eine verlinkte Seite keine strukturierten Rezeptdaten, liest die KI den Seitentext. Findet sie kein Rezept, wird der Eintrag "nicht erkannt" mit konkretem Hinweis.
  • AK-3 Sofort-Pruefung (bisher #4 AK-13): Ist ein Foto unscharf, zu dunkel oder ohne erkennbaren Text, fragt die App innerhalb weniger Sekunden "Das Foto ist unscharf. Nochmal aufnehmen?" - noch bevor die grosse Verarbeitung laeuft.
  • AK-4 Foto ohne Rezepttext (bisher #4 AK-14): Zeigt ein Foto ein Gericht statt Rezepttext, bietet die App an: als Bild zu einem bestehenden Rezept hinzufuegen / als Merkzettel anlegen / nochmal aufnehmen.
  • AK-5 Mehrere Rezepte (bisher #4 AK-22, soweit nur die KI sie erkennen kann): Erkennt die KI mehrere Rezepte in einer Quelle, fragt die App, welche uebernommen werden.
  • AK-6 Geschwindigkeit (bisher #4 AK-17): Ein Rezeptfoto ist in unter 1 Minute verarbeitet (bei normaler Verbindung, gemessen mit den Testrezepten aus #19).
  • AK-7 Ohne KI weiter nutzbar: Faellt die KI aus oder ist kein Schluessel eingetragen, bleibt alles aus #4 nutzbar; betroffene Eintraege warten oder werden "nicht erkannt" mit dem Hinweis, den Text selbst einzugeben.
  • AK-8 Datenschutz: An die KI gehen nur Rezeptinhalte; Namen von Haushaltsmitgliedern werden vorher ersetzt (automatischer Test).

Nicht in dieser Stufe

  • Strukturieren in Zutaten und Schritte und die Pruefansicht (#5)

Offene Fragen

  • keine (das Modell pro Aufgabe ergibt sich aus #19)
## Ziel Die Erfassung (#4) wird zunaechst ohne KI gebaut (Entscheidung Lena 08.10.2026). Dieses Issue schliesst die KI-Schritte an, sobald der Qualitaetstest (#19) zeigt, welches Modell wofuer taugt. ## Grundlage PRD Kapitel 07 (Eingabekanaele, Hintergrund), 08 (Fotoeingaben, Sofort-Pruefung, Modell pro Aufgabe); aus #4 herausgeloeste Kriterien. ## Abhaengig von #4, #19 ## Akzeptanzkriterien - **AK-1 Foto lesen (bisher #4 AK-9, AK-21):** Der Text eines Rezeptfotos (auch mehrerer Fotos eines Rezepts, in der gewaehlten Reihenfolge) wird von der KI gelesen. Ein unlesbares Foto wird "nicht erkannt"; das Foto bleibt. - **AK-2 Seitentext (bisher #4 AK-7, AK-20):** Hat eine verlinkte Seite keine strukturierten Rezeptdaten, liest die KI den Seitentext. Findet sie kein Rezept, wird der Eintrag "nicht erkannt" mit konkretem Hinweis. - **AK-3 Sofort-Pruefung (bisher #4 AK-13):** Ist ein Foto unscharf, zu dunkel oder ohne erkennbaren Text, fragt die App innerhalb weniger Sekunden "Das Foto ist unscharf. Nochmal aufnehmen?" - noch bevor die grosse Verarbeitung laeuft. - **AK-4 Foto ohne Rezepttext (bisher #4 AK-14):** Zeigt ein Foto ein Gericht statt Rezepttext, bietet die App an: als Bild zu einem bestehenden Rezept hinzufuegen / als Merkzettel anlegen / nochmal aufnehmen. - **AK-5 Mehrere Rezepte (bisher #4 AK-22, soweit nur die KI sie erkennen kann):** Erkennt die KI mehrere Rezepte in einer Quelle, fragt die App, welche uebernommen werden. - **AK-6 Geschwindigkeit (bisher #4 AK-17):** Ein Rezeptfoto ist in unter 1 Minute verarbeitet (bei normaler Verbindung, gemessen mit den Testrezepten aus #19). - **AK-7 Ohne KI weiter nutzbar:** Faellt die KI aus oder ist kein Schluessel eingetragen, bleibt alles aus #4 nutzbar; betroffene Eintraege warten oder werden "nicht erkannt" mit dem Hinweis, den Text selbst einzugeben. - **AK-8 Datenschutz:** An die KI gehen nur Rezeptinhalte; Namen von Haushaltsmitgliedern werden vorher ersetzt (automatischer Test). ## Nicht in dieser Stufe - Strukturieren in Zutaten und Schritte und die Pruefansicht (#5) ## Offene Fragen - keine (das Modell pro Aufgabe ergibt sich aus #19)
Author
Collaborator

Entscheidungen 08.10.2026 (Lena) - damit ist das Issue bereit (nach #19):

  1. Modell pro Aufgabe: Claude stellt nach dem Bericht von #19 selbst ein: je Aufgabe das guenstigste Modell, das bestanden hat (Ziel: z-ai/glm-5.3-flash fuer alles). Hat keines bestanden, wird Lena gefragt. Anbieter OpenRouter, Anfragen mit data_collection: "deny".
  2. Sofort-Pruefung (AK-3): ohne KI auf dem Server (Schaerfe und Helligkeit messen) - schnell und kostenlos.
  3. Foto zeigt ein Gericht (AK-4): vorerst nur "als Merkzettel anlegen" und "nochmal aufnehmen"; "zu einem bestehenden Rezept hinzufuegen" kommt mit #6.

status/entwurf entfernt.

Entscheidungen 08.10.2026 (Lena) - damit ist das Issue bereit (nach `#19`): 1. **Modell pro Aufgabe:** Claude stellt nach dem Bericht von `#19` selbst ein: je Aufgabe das guenstigste Modell, das bestanden hat (Ziel: `z-ai/glm-5.3-flash` fuer alles). Hat keines bestanden, wird Lena gefragt. Anbieter OpenRouter, Anfragen mit `data_collection: "deny"`. 2. **Sofort-Pruefung (AK-3):** ohne KI auf dem Server (Schaerfe und Helligkeit messen) - schnell und kostenlos. 3. **Foto zeigt ein Gericht (AK-4):** vorerst nur "als Merkzettel anlegen" und "nochmal aufnehmen"; "zu einem bestehenden Rezept hinzufuegen" kommt mit `#6`. `status/entwurf` entfernt.
lena self-assigned this 2026-10-09 05:23:09 +02:00
Author
Collaborator

Claimed by session "Loop go #12 -> #19 -> #20 -> #5 [acbb06]"

Claimed by session "Loop go #12 -> #19 -> #20 -> #5 [acbb06]"
Author
Collaborator

Fertig gebaut (Commits 8d93671, 57c9092, 1c81c5a, cb928c0).

Was gebaut wurde

  • AK-1 Foto lesen: Die KI (openai/gpt-6.1-sol über OpenRouter, laut Qualitätstest #19 das einzige Modell, das alles bestanden hat) liest alle Fotos eines Entwurfs zusammen in der gewählten Reihenfolge. Unlesbare Fotos werden "nicht erkannt", das Foto bleibt.
  • AK-2 Seitentext: Seiten ohne Rezeptdaten liest die KI aus dem Seitentext; dazu gehört jetzt die Seitenbeschreibung, damit Instagram-Beiträge funktionieren. Kein Rezept -> "nicht erkannt" mit Hinweis.
  • AK-3 Sofort-Prüfung: ohne KI auf dem Server (Schärfe und Helligkeit, an den Testfotos eingestellt). Die App fragt sofort "Das Foto ist unscharf. Nochmal aufnehmen?" bzw. "zu dunkel" - beim Erfassen und beim Nachreichen. Ohne Verbindung wird nicht gefragt.
  • AK-4 Foto zeigt ein Gericht: "Als Merkzettel anlegen" oder "Nochmal aufnehmen" (das neue Foto kommt zum selben Entwurf). "Zu einem bestehenden Rezept hinzufügen" kommt mit #6.
  • AK-5 Mehrere Rezepte: Die App fragt, welche übernommen werden (alle vorausgewählt); jedes wird ein eigener Entwurf mit Kopie der Originale. Höchstens 20 Rezepte pro Quelle.
  • AK-6 Geschwindigkeit: Qualitätstest mit der Anweisung der App: Fotos in 13 und 25 Sekunden (docs/ki-qualitaetstest/ergebnisse/2026-10-09_0538.md). Im Test-Container: Waffelkarte in ca. 16 Sekunden gelesen.
  • AK-7 Ohne KI: ohne Schlüssel oder bei Ausfall bleibt alles aus #4 nutzbar: zwei Versuche, dann "Die KI war gerade nicht erreichbar ..." mit "Erneut versuchen"; nachgereichter Text wird genommen.
  • AK-8 Datenschutz: Namen der Haushaltsmitglieder werden in Texten vor dem Senden ersetzt (auch "Lenas ...") und danach wieder eingesetzt; automatischer Test prüft, dass weder Namen noch Personen/Unverträglichkeiten mitgehen. Bei OpenRouter nur Anbieter ohne Speicherung und Training. Fotos gehen unverändert an die KI - Namen auf einem Foto lassen sich nicht vorher entfernen.

Wichtige Entscheidungen

  • Die KI liefert das Rezept gleich strukturiert (Zutaten, Schritte, Markierungen); das Ergebnis liegt am Entwurf als Grundlage für #5, so wie die Rezeptdaten von Webseiten.
  • Die Anweisung an die KI liegt in der App (Kochbuch/Ai/RecipePrompt.cs); der Qualitätstest nutzt dieselbe.
  • Fotos, die bisher mit "Fotos liest bald die KI" warteten, werden beim Update automatisch gelesen.
  • Schlüssel nur auf dem Server: Ai__ApiKey; im Test-Container aus OPENROUTER_API_KEY.

Wie getestet

  • 34 neue Server-Tests mit nachgebauter KI (keine echten Anfragen), u. a. Datenschutz, Ausfall, Sofort-Prüfung an echten und verschlechterten Fotos; alle 336 Server-Tests grün.
  • 6 neue Oberflächen-Tests; alle 104 grün, Build und Lint ohne Fehler.
  • Sicherheitsprüfung: keine Lücke; sechs kleine Funde behoben (u. a. Obergrenzen, Zustandsprüfung, keine blockierende Sofort-Prüfung).
  • Echter Lauf im Test-Container mit der Waffelkarte.

Bekannte Grenze

  • Ein Name, der auch ein gewöhnliches Wort ist (z. B. "Rosa"), wird in Texten überall ersetzt - das kann das Rezept verfälschen ("[Name1] Pfeffer"). Bei den jetzigen Namen kein Problem.

So probierst du es aus (http://localhost:8090, Passwort kochbuch-test)

  1. Rezept erfassen -> Foto -> ein Rezeptfoto aufnehmen (z. B. die Waffelkarte) -> Speichern. Nach etwa 20 Sekunden steht bei den Entwürfen der Titel, "bereit zur Prüfung".
  2. Absichtlich verwackelt fotografieren: Die App fragt sofort "Das Foto ist unscharf. Nochmal aufnehmen?".
  3. Ein Foto von einem Teller Essen: Der Entwurf zeigt "Als Merkzettel anlegen" / "Nochmal aufnehmen".
  4. Die Kochbuchseite mit Dätscher und Gerupftem: Der Entwurf fragt, welche Rezepte übernommen werden.
  5. Ein Link zu einem Instagram-Rezept: Die KI liest das Rezept aus dem Beitragstext.
    Jedes gelesene Foto kostet etwa 1-2 Cent.
Fertig gebaut (Commits `8d93671`, `57c9092`, `1c81c5a`, `cb928c0`). **Was gebaut wurde** - **AK-1 Foto lesen:** Die KI (`openai/gpt-6.1-sol` über OpenRouter, laut Qualitätstest `#19` das einzige Modell, das alles bestanden hat) liest alle Fotos eines Entwurfs zusammen in der gewählten Reihenfolge. Unlesbare Fotos werden "nicht erkannt", das Foto bleibt. - **AK-2 Seitentext:** Seiten ohne Rezeptdaten liest die KI aus dem Seitentext; dazu gehört jetzt die Seitenbeschreibung, damit Instagram-Beiträge funktionieren. Kein Rezept -> "nicht erkannt" mit Hinweis. - **AK-3 Sofort-Prüfung:** ohne KI auf dem Server (Schärfe und Helligkeit, an den Testfotos eingestellt). Die App fragt sofort "Das Foto ist unscharf. Nochmal aufnehmen?" bzw. "zu dunkel" - beim Erfassen und beim Nachreichen. Ohne Verbindung wird nicht gefragt. - **AK-4 Foto zeigt ein Gericht:** "Als Merkzettel anlegen" oder "Nochmal aufnehmen" (das neue Foto kommt zum selben Entwurf). "Zu einem bestehenden Rezept hinzufügen" kommt mit `#6`. - **AK-5 Mehrere Rezepte:** Die App fragt, welche übernommen werden (alle vorausgewählt); jedes wird ein eigener Entwurf mit Kopie der Originale. Höchstens 20 Rezepte pro Quelle. - **AK-6 Geschwindigkeit:** Qualitätstest mit der Anweisung der App: Fotos in 13 und 25 Sekunden (`docs/ki-qualitaetstest/ergebnisse/2026-10-09_0538.md`). Im Test-Container: Waffelkarte in ca. 16 Sekunden gelesen. - **AK-7 Ohne KI:** ohne Schlüssel oder bei Ausfall bleibt alles aus `#4` nutzbar: zwei Versuche, dann "Die KI war gerade nicht erreichbar ..." mit "Erneut versuchen"; nachgereichter Text wird genommen. - **AK-8 Datenschutz:** Namen der Haushaltsmitglieder werden in Texten vor dem Senden ersetzt (auch "Lenas ...") und danach wieder eingesetzt; automatischer Test prüft, dass weder Namen noch Personen/Unverträglichkeiten mitgehen. Bei OpenRouter nur Anbieter ohne Speicherung und Training. **Fotos gehen unverändert an die KI** - Namen auf einem Foto lassen sich nicht vorher entfernen. **Wichtige Entscheidungen** - Die KI liefert das Rezept gleich strukturiert (Zutaten, Schritte, Markierungen); das Ergebnis liegt am Entwurf als Grundlage für `#5`, so wie die Rezeptdaten von Webseiten. - Die Anweisung an die KI liegt in der App (`Kochbuch/Ai/RecipePrompt.cs`); der Qualitätstest nutzt dieselbe. - Fotos, die bisher mit "Fotos liest bald die KI" warteten, werden beim Update automatisch gelesen. - Schlüssel nur auf dem Server: `Ai__ApiKey`; im Test-Container aus `OPENROUTER_API_KEY`. **Wie getestet** - 34 neue Server-Tests mit nachgebauter KI (keine echten Anfragen), u. a. Datenschutz, Ausfall, Sofort-Prüfung an echten und verschlechterten Fotos; alle 336 Server-Tests grün. - 6 neue Oberflächen-Tests; alle 104 grün, Build und Lint ohne Fehler. - Sicherheitsprüfung: keine Lücke; sechs kleine Funde behoben (u. a. Obergrenzen, Zustandsprüfung, keine blockierende Sofort-Prüfung). - Echter Lauf im Test-Container mit der Waffelkarte. **Bekannte Grenze** - Ein Name, der auch ein gewöhnliches Wort ist (z. B. "Rosa"), wird in Texten überall ersetzt - das kann das Rezept verfälschen ("[Name1] Pfeffer"). Bei den jetzigen Namen kein Problem. **So probierst du es aus** (http://localhost:8090, Passwort `kochbuch-test`) 1. Rezept erfassen -> Foto -> ein Rezeptfoto aufnehmen (z. B. die Waffelkarte) -> Speichern. Nach etwa 20 Sekunden steht bei den Entwürfen der Titel, "bereit zur Prüfung". 2. Absichtlich verwackelt fotografieren: Die App fragt sofort "Das Foto ist unscharf. Nochmal aufnehmen?". 3. Ein Foto von einem Teller Essen: Der Entwurf zeigt "Als Merkzettel anlegen" / "Nochmal aufnehmen". 4. Die Kochbuchseite mit Dätscher und Gerupftem: Der Entwurf fragt, welche Rezepte übernommen werden. 5. Ein Link zu einem Instagram-Rezept: Die KI liest das Rezept aus dem Beitragstext. Jedes gelesene Foto kostet etwa 1-2 Cent.
lena 2026-10-09 05:50:27 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
robert/rezeptbuch#20
No description provided.