Sebuah contoh Python yang diterbitkan pada 25 September oleh pengembang Allan Riordan Boll memperluas permintaan keputusan bergaya Jev dengan lampiran gambar. Contoh itu mengirim setiap bingkai webcam ke model visi bersama pertanyaan singkat, lalu mengubah probabilitas token berikutnya dari model menjadi nilai ya/tidak, pilihan, atau skor. Contoh ini adalah pembungkus independen, bukan fitur visi Jev atau pengujian terhadap model Jev.
Hal yang berguna bagi pengembang adalah memahami batas teknik ini. Model visi dapat menjawab pertanyaan terbatas tanpa menulis deskripsi, tetapi probabilitas pilihan yang dikembalikan bergantung pada prompt, alternatif token yang tersedia, dan modelnya. Tulisan tersebut memberi pola kerja untuk ditelaah, bukan studi akurasi.
Perubahan besar
- Yang berubah: Seorang pengembang menerapkan format keputusan ringkas yang dikaitkan dengan Jev pada gambar menggunakan model visi umum. Gambar dilampirkan pada setiap permintaan, sedangkan jawaban satu huruf mengubah pertanyaan visual menjadi nilai yang dapat ditangani perangkat lunak.
- Mengapa ini penting: Pengembang dapat mengubah kriteria visual dalam teks dan menerima hasil terstruktur tanpa membuat pengklasifikasi gambar terpisah untuk setiap pertanyaan. Contoh ini mencakup orang dan tanaman yang terlihat, latar dalam atau luar ruangan, serta tingkat kecerahan; contoh ini tidak membuktikan seberapa andal penilaian tersebut berlaku pada kamera atau pemandangan lain.
- Yang perlu dicermati: Keputusan praktisnya adalah apakah model dan endpoint yang dipilih mengembalikan skor token alternatif yang diperlukan secara konsisten untuk tugas tersebut. Kecepatan pemrosesan bingkai dan mutu keputusan perlu diukur bersama-sama pada gambar yang mewakili penggunaan sebenarnya sebelum hasil webcam digunakan untuk memicu tindakan.
Cara kerja keputusan gambar
Panduan cepat Jev dari TypeSafe AI mendokumentasikan sebuah state dan sekumpulan pertanyaan bertipe questions: noul untuk nilai ya/tidak, choice untuk alternatif bernama, dan score untuk tingkat yang berurutan. Skrip Boll menggunakan nama-nama itu dan menambahkan sebuah attachments berupa larik jalur gambar atau URL data base64. Kolom tersebut adalah perluasan yang dibuatnya sendiri pada objek permintaan; panduan cepat Jev yang dirujuk menjelaskan status teks dan tidak mendokumentasikan kolom itu sebagai masukan API Jev.
Untuk setiap pertanyaan, skrip menyusun prompt dengan opsi berhuruf seperti [A] true dan [B] false. Model diminta menjawab dengan huruf terbaik, lalu skrip membaca top_logprobs. Skrip mengubah kembali log probabilitas yang diterima menjadi eksponensial, menormalisasi bobot di antara huruf yang tercantum, lalu memetakannya ke jenis pertanyaan. Jenis choice mengembalikan opsi berbobot tertinggi beserta distribusinya. Jenis noul mengembalikan bobot untuk true. Jenis score menghasilkan rata-rata berbobot dari tingkat yang berurutan. Skrip menolak respons jika token opsi yang tidak disertakan masih mungkin memiliki bobot berarti.
Gambar disertakan pada setiap pertanyaan. Contoh ini mengirim permintaan terpisah, alih-alih meminta semua jawaban dalam satu panggilan model. Jalur OpenAI menggunakan Responses API dengan input_image, top_logprobs, dan message.output_text.logprobs; jalur llama.cpp lokal menggunakan Chat Completions dengan elemen konten image_url serta log probabilitas. Panduan gambar OpenAI mendokumentasikan URL data gambar base64, dan referensi Responses mendokumentasikan keluaran log probabilitas serta batas maksimal 20 alternatif yang dikembalikan untuk setiap posisi token. Dokumentasi server llama.cpp menjelaskan URL gambar pada antarmuka chat-nya. Sumber-sumber tersebut mendukung pola permintaan ini; kami belum menjalankan contoh tersebut pada salah satu endpoint.
Apa yang diukur contoh webcam
Skrip mengambil bingkai dengan OpenCV, mengodekannya sebagai JPEG, lalu mengajukan empat pertanyaan: apakah terlihat orang atau tanaman, apakah latarnya di dalam atau luar ruangan, dan seberapa terang gambar itu. Worker latar belakang mengevaluasi satu bingkai pada satu waktu sementara pratinjau tetap berjalan. Pengaturan kameranya menggunakan Linux V4L2, sehingga berkas yang dipublikasikan bukan konfigurasi webcam portabel tanpa perubahan. Teks artikel menyebut tiga pertanyaan per bingkai, tetapi kode yang dipublikasikan berisi empat; hitungan di sini didasarkan pada kode.
Boll melaporkan sekitar satu bingkai yang dievaluasi per detik dengan model Gemma 4 12B QAT yang dijalankan secara lokal pada RTX 3090, dan sekitar 0,2 bingkai per detik menggunakan GPT-6 Luna yang di-host. Ia menduga koneksi berulang mungkin turut memengaruhi hasil layanan ter-host. Tulisan tersebut tidak memberikan perbandingan terkendali atas perangkat keras, jaringan, ukuran gambar, caching, akurasi, atau waktu permintaan. Angka itu menggambarkan pengaturan dan kode penulis ini, bukan pemeringkatan umum kecepatan model. OpenAI mencantumkan GPT-6 Luna sebagai model yang menerima masukan gambar, dan panduan modelnya menyatakan Luna mendukung pengaturan none penalaran yang digunakan contoh ini.
Bagi pengembang yang mengadaptasi skrip tersebut, pemeriksaan awalnya jelas: pastikan model menerima masukan gambar dan menyediakan alternatif token pertama yang diperlukan; periksa apakah semua huruf opsi muncul; lalu nilai keputusan yang dikembalikan menggunakan gambar berlabel dari kamera atau kumpulan data sasaran. Bobot yang dinormalisasi relatif terhadap token huruf yang tercantum. Dengan sendirinya, bobot itu bukan probabilitas terukur bahwa penilaian visualnya benar. Buku resep logprob OpenAI yang lebih lama menjelaskan gagasan probabilitas token, tetapi ditandai sebagai arsip dan mungkin berisi contoh API yang sudah usang.
Pembungkus ini juga memperjelas hal-hal yang tetap harus ditangani kode aplikasi meski hasilnya sudah terstruktur. Model menilai gambar yang diberikan berdasarkan kriteria tertulis. Aplikasi memilih bingkai, menangani skor yang hilang, dan memutuskan apakah suatu hasil cukup aman untuk ditindaklanjuti. Contoh Boll mencetak tabel; contoh itu tidak menunjukkan tindakan otomatis atau penerapan yang diukur.
Sumber & bacaan lebih lanjut
- Allan Riordan Boll, “Pembungkus mirip Jev untuk LLM, termasuk model visi,” 25 September 2026: contoh kode Python asli, alur kerja webcam, dan kecepatan bingkai yang dilaporkan penulis. Teks menyebut tiga pertanyaan per bingkai; kode mendefinisikan empat. Waktu yang dilaporkan bukan tolok ukur independen atau terkendali.
- TypeSafe AI, Panduan cepat Jev: mendokumentasikan status teks dan jenis pertanyaan
noul,choice, danscore. Panduan itu tidak mendokumentasikan kolom khususattachmentsbuatan penulis sebagai fitur API Jev. - OpenAI, Gambar dan visi: mendokumentasikan
input_image, URL gambar, dan URL data base64 untuk masukan visi. Referensi Responses API menjelaskanmessage.output_text.logprobsdan batas alternatif yang dikembalikan. - OpenAI, GPT-6 Luna dan panduan model: mengonfirmasi masukan gambar dan pengaturan penalaran
nonemodel tersebut; panduan model merinci kompatibilitas parameter. Dokumen-dokumen ini tidak memverifikasi kecepatan yang dilaporkan penulis blog. - Dokumentasi server llama.cpp: menjelaskan endpoint chat yang kompatibel dengan OpenAI dan masukan URL gambar. Dukungan backend dan daftar token yang dikembalikan tetap perlu diperiksa pada versi serta model yang benar-benar digunakan.
- Buku resep OpenAI, Menggunakan logprob: penjelasan latar tentang probabilitas token. OpenAI menandai resep ini sebagai arsip dan memperingatkan bahwa contoh untuk sejumlah model atau API mungkin sudah usang.



