Ein vom Entwickler Allan Riordan Boll am 25. September veröffentlichtes Python-Beispiel erweitert eine Jev-ähnliche Entscheidungsanfrage um Bildanhänge. Es sendet jedes Webcam-Bild zusammen mit kurzen Fragen an ein Bildmodell und wandelt anschließend die Wahrscheinlichkeiten für das jeweils nächste Token in Ja/Nein-Werte, eine Auswahl oder eine Bewertung um. Das Beispiel ist ein unabhängiger Wrapper, keine Bildfunktion von Jev und kein Test des Jev-Modells.

Für Entwickler ist vor allem die Grenze dieses Verfahrens aufschlussreich. Ein Bildmodell kann eine eingegrenzte Frage beantworten, ohne eine Bildbeschreibung zu verfassen. Die Wahrscheinlichkeiten der zurückgegebenen Antwortoptionen hängen jedoch vom Prompt, den verfügbaren Token-Alternativen und dem Modell ab. Der Beitrag bietet ein nachvollziehbares Implementierungsmuster, keine Genauigkeitsstudie.

Die große Veränderung

  • Was sich geändert hat: Ein Entwickler hat das mit Jev verbundene Format für kleine Entscheidungen mithilfe allgemeiner Bildmodelle auf Bilder übertragen. Das Bild wird jeder Anfrage beigefügt; eine Antwort mit einem Buchstaben macht aus einer visuellen Frage einen Wert, den Software weiterverarbeiten kann.
  • Warum das wichtig ist: Entwickler können das visuelle Kriterium im Text ändern und ein typisiertes Ergebnis erhalten, ohne für jede Frage einen eigenen Bildklassifikator zu erstellen. Das Beispiel behandelt sichtbare Personen und Pflanzen, die Umgebung drinnen oder draußen sowie Helligkeit. Es belegt nicht, wie zuverlässig sich diese Bewertungen auf andere Kameras oder Szenen übertragen lassen.
  • Worauf es ankommt: Entscheidend ist, ob das gewählte Modell und der Endpunkt die benötigten Wahrscheinlichkeiten alternativer Tokens konsistent genug für die jeweilige Aufgabe zurückgeben. Bildrate und Entscheidungsqualität müssen gemeinsam an repräsentativen Bildern gemessen werden, bevor ein Webcam-Ergebnis eine Handlung auslöst.

Wie die Bildentscheidung funktioniert

Jev-Schnellstart von TypeSafe AI dokumentiert einen state und eine Reihe typisierter questions: noul für einen Ja/Nein-Wert, choice für benannte Alternativen und score für geordnete Stufen. Bolls Skript verwendet diese Bezeichnungen und ergänzt das Anfrageobjekt um ein attachments als Array mit Bildpfaden oder Base64-Daten-URLs. Dieses Feld ist seine Erweiterung der Anfrage; der zitierte Jev-Schnellstart beschreibt einen Textstatus und dokumentiert es nicht als Jev-API-Eingabe.

Für jede Frage erstellt das Skript einen Prompt mit Optionen, die durch Buchstaben gekennzeichnet sind, etwa [A] true und [B] false. Es fordert das Modell auf, mit dem besten Buchstaben zu antworten, und liest die Log-Wahrscheinlichkeiten des ersten Ausgabetokens aus: top_logprobs. Die zurückgegebenen Log-Wahrscheinlichkeiten werden potenziert, die Gewichte über die aufgeführten Buchstaben hinweg normiert und anschließend dem Fragetyp zugeordnet. Eine choice gibt die Option mit dem höchsten Gewicht und deren Verteilung zurück. Ein noul liefert das Gewicht für true. Ein score bildet den gewichteten Mittelwert der geordneten Stufen. Das Skript verwirft eine Antwort, wenn ausgelassene Optionstokens noch ein erhebliches Gewicht haben könnten.

Das Bild wird mit jeder Frage mitgesendet. Das Beispiel stellt mehrere einzelne Anfragen, statt alle Antworten in einem Modellaufruf einzuholen. Für OpenAI verwendet es die Responses API mit input_image, top_logprobs und message.output_text.logprobs; der lokale Pfad über llama.cpp nutzt Chat Completions mit einem image_url-Inhaltselement und Log-Wahrscheinlichkeiten. OpenAIs Bildleitfaden dokumentiert Base64-Daten-URLs für Bilder; die Responses-Referenz beschreibt die Ausgabe von Log-Wahrscheinlichkeiten und höchstens 20 zurückgegebene Alternativen je Tokenposition. Die Serverdokumentation von llama.cpp beschreibt Bild-URLs in seiner Chat-Schnittstelle. Diese Quellen stützen das Anfrageformat; wir haben das Beispiel nicht gegen einen der beiden Endpunkte ausgeführt.

Was das Webcam-Beispiel misst

Das Skript erfasst mit OpenCV ein Bild, kodiert es als JPEG und stellt vier Fragen: ob eine Person oder Pflanze zu sehen ist, ob die Szene drinnen oder draußen ist und wie hell sie ist. Ein Hintergrundprozess wertet jeweils ein Bild aus, während die Vorschau weiterläuft. Die Kameraeinrichtung verwendet Linux V4L2; ohne Änderungen ist die veröffentlichte Datei daher keine portable Webcam-Lösung. Der Artikeltext nennt drei Fragen pro Bild, der veröffentlichte Code enthält jedoch vier. Für diese Anzahl ist hier der Code maßgeblich.

Boll berichtet von etwa einem ausgewerteten Bild pro Sekunde mit einem lokal bereitgestellten Gemma-4-12B-QAT-Modell auf einer RTX 3090 und etwa 0,2 Bildern pro Sekunde mit dem gehosteten Modell GPT-6 Luna. Er vermutet, dass wiederholte Verbindungen zum gehosteten Ergebnis beitragen könnten. Der Beitrag enthält keinen kontrollierten Vergleich von Hardware, Netzwerk, Bildgröße, Zwischenspeicherung, Genauigkeit oder Anfragedauer. Die Zahlen beschreiben die Konfiguration und den Code dieses Autors, keinen allgemeinen Geschwindigkeitsvergleich der Modelle. OpenAI führt GPT-6 Luna als bildfähig auf, und laut den Modellhinweisen unterstützt Luna die Einstellung none als Reasoning-Einstellung, die im Beispiel verwendet wird.

Für Entwickler, die das Skript anpassen, sind die ersten Prüfungen konkret: Bestätigen Sie, dass das Modell Bilder akzeptiert und die benötigten Alternativen für das erste Token bereitstellt; prüfen Sie, ob alle Optionsbuchstaben auftauchen; und bewerten Sie anschließend die zurückgegebenen Entscheidungen anhand gekennzeichneter Bilder von der vorgesehenen Kamera oder aus dem Zieldatensatz. Die normierten Gewichte beziehen sich relativ auf die aufgeführten Buchstaben-Tokens. Für sich genommen sind sie keine gemessenen Wahrscheinlichkeiten dafür, dass eine visuelle Bewertung richtig ist. OpenAIs älteres logprobs-Cookbook erläutert das Prinzip der Token-Wahrscheinlichkeiten, ist aber als archiviert gekennzeichnet und kann veraltete API-Beispiele enthalten.

Dieser Wrapper zeigt auch, was bei einem typisierten Ergebnis der Anwendungslogik überlassen bleibt. Das Modell bewertet das bereitgestellte Bild anhand des schriftlich festgelegten Kriteriums. Die Anwendung wählt die Bilder aus, behandelt fehlende Bewertungen und entscheidet, ob ein Ergebnis sicher genug ist, um darauf zu reagieren. Bolls Beispiel gibt eine Tabelle aus; es dokumentiert weder eine automatisierte Handlung noch einen Einsatz mit gemessenen Ergebnissen.

Quellen und weiterführende Informationen