[Jarvis] Foto/Bild-Erkennung — Vision API Integration #34

Closed
opened 2026-03-15 13:03:50 +00:00 by orbitalo · 2 comments
Owner

Ziel

Bot kann Fotos empfangen, analysieren und Infos daraus im Memory speichern.

Use Cases

  • Boarding-Pass Foto → Flugnummer, Gate, Sitzplatz merken
  • Rechnung/Beleg → Betrag, Datum extrahieren
  • Whiteboard/Notizen → Text erkennen
  • Produkt/Gegenstand → Beschreibung

Technik

  • Telegram Photo-Handler (wie Voice-Handler, ~30 Zeilen)
  • Bild als Base64 an Vision-Model senden
  • Model-Optionen: GPT-4o-mini (OpenAI) oder Gemini 2.5 Flash (OpenRouter)
  • Extrahierte Info → normale LLM-Pipeline (mit memory_suggest)

Aufwand

~1-2 Stunden. Einfacher als Voice weil kein Audio-Encoding noetig.

Abhaengigkeiten

  • OpenAI API Key (vorhanden)
  • Oder OpenRouter + Gemini (vorhanden)
## Ziel Bot kann Fotos empfangen, analysieren und Infos daraus im Memory speichern. ## Use Cases - Boarding-Pass Foto → Flugnummer, Gate, Sitzplatz merken - Rechnung/Beleg → Betrag, Datum extrahieren - Whiteboard/Notizen → Text erkennen - Produkt/Gegenstand → Beschreibung ## Technik - Telegram Photo-Handler (wie Voice-Handler, ~30 Zeilen) - Bild als Base64 an Vision-Model senden - Model-Optionen: GPT-4o-mini (OpenAI) oder Gemini 2.5 Flash (OpenRouter) - Extrahierte Info → normale LLM-Pipeline (mit memory_suggest) ## Aufwand ~1-2 Stunden. Einfacher als Voice weil kein Audio-Encoding noetig. ## Abhaengigkeiten - OpenAI API Key (vorhanden) - Oder OpenRouter + Gemini (vorhanden)
orbitalo added the
jarvis
label 2026-03-15 13:03:50 +00:00
Author
Owner

Morgen (16.03.) umsetzen — vor dem Flug am 18.03. fertig haben.

Morgen (16.03.) umsetzen — vor dem Flug am 18.03. fertig haben.
Author
Owner

Umsetzungsplan

1. vision.py (neues Modul)

  • Bild als Base64 an OpenAI GPT-4o-mini Vision API senden
  • Prompt: "Analysiere dieses Bild. Extrahiere alle relevanten Daten (Texte, Zahlen, Termine, Namen). Antworte auf Deutsch."
  • Rueckgabe: extrahierter Text

2. telegram_bot.py

  • handle_photo() Handler (wie handle_voice)
  • Foto runterladen, an vision.py schicken
  • Ergebnis durch LLM-Pipeline (memory_suggest greift automatisch)
  • source_type: telegram_photo

3. llm.py

  • Prompt erweitern: "Wenn der User ein Foto schickt, analysiere die extrahierten Daten und speichere relevante Fakten"

4. context.py

  • source_type telegram_photo hinzufuegen

Test

  • Foto vom Flugplan senden → Bot erkennt Flugnummern, Daten, Zeiten → speichert automatisch
## Umsetzungsplan ### 1. vision.py (neues Modul) - Bild als Base64 an OpenAI GPT-4o-mini Vision API senden - Prompt: "Analysiere dieses Bild. Extrahiere alle relevanten Daten (Texte, Zahlen, Termine, Namen). Antworte auf Deutsch." - Rueckgabe: extrahierter Text ### 2. telegram_bot.py - `handle_photo()` Handler (wie handle_voice) - Foto runterladen, an vision.py schicken - Ergebnis durch LLM-Pipeline (memory_suggest greift automatisch) - source_type: `telegram_photo` ### 3. llm.py - Prompt erweitern: "Wenn der User ein Foto schickt, analysiere die extrahierten Daten und speichere relevante Fakten" ### 4. context.py - source_type `telegram_photo` hinzufuegen ### Test - Foto vom Flugplan senden → Bot erkennt Flugnummern, Daten, Zeiten → speichert automatisch
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: orbitalo/homelab-brain#34
No description provided.