DUNIA TERUS BERGERAK.RSS
BIG CHANGE.

Edisi Markdown

AI-translated from English; not yet reviewed by a fluent editor.

# Pembungkus Visi Mirip Jev Mengubah Pertanyaan Gambar Menjadi Pilihan Terstruktur

> Contoh Python independen menggunakan probabilitas token model visi untuk menghasilkan keputusan terstruktur dari gambar. Kecepatan webcam yang dilaporkan berasal dari penulis, dan akurasinya belum diuji.

By BIG CHANGE Editorial

Published: 2026-09-26T10:09:47.074Z
Updated: 2026-09-26T10:09:47.074Z
Canonical: https://bigchange.ai/blog/jev-like-llm-vision-wrapper-logprobs

![Conceptual charcoal illustration of a webcam clipped to a monitor and facing a leafy plant on a shelf.](https://bigchange.ai/api/media/file/jev-vision-webcam-plant-hero-v1.png)
AI-generated conceptual illustration by BIG CHANGE.

Sebuah [contoh Python yang diterbitkan pada 25 September oleh pengembang Allan Riordan Boll](https://allanrbo.blogspot.com/2026/09/a-jev-like-wrapper-for-llms-including.html) 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](https://docs.typesafe.ai/introduction/quickstart) 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](https://developers.openai.com/api/docs/guides/images-vision) mendokumentasikan URL data gambar base64, dan [referensi Responses](https://developers.openai.com/api/reference/resources/responses/methods/create) mendokumentasikan keluaran log probabilitas serta batas maksimal 20 alternatif yang dikembalikan untuk setiap posisi token. [Dokumentasi server llama.cpp](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md) 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](https://developers.openai.com/api/docs/models/gpt-6-luna), dan [panduan modelnya](https://developers.openai.com/api/docs/guides/latest-model) 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](https://developers.openai.com/cookbook/examples/using_logprobs) 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](https://allanrbo.blogspot.com/2026/09/a-jev-like-wrapper-for-llms-including.html): 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](https://docs.typesafe.ai/introduction/quickstart): mendokumentasikan status teks dan jenis pertanyaan `noul`, `choice`, dan `score`. Panduan itu tidak mendokumentasikan kolom khusus `attachments` buatan penulis sebagai fitur API Jev.
- [OpenAI, Gambar dan visi](https://developers.openai.com/api/docs/guides/images-vision): mendokumentasikan `input_image`, URL gambar, dan URL data base64 untuk masukan visi. [Referensi Responses API](https://developers.openai.com/api/reference/resources/responses/methods/create) menjelaskan `message.output_text.logprobs` dan batas alternatif yang dikembalikan.
- [OpenAI, GPT-6 Luna dan panduan model](https://developers.openai.com/api/docs/models/gpt-6-luna): mengonfirmasi masukan gambar dan pengaturan penalaran `none` model tersebut; [panduan model](https://developers.openai.com/api/docs/guides/latest-model) merinci kompatibilitas parameter. Dokumen-dokumen ini tidak memverifikasi kecepatan yang dilaporkan penulis blog.
- [Dokumentasi server llama.cpp](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md): 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](https://developers.openai.com/cookbook/examples/using_logprobs): penjelasan latar tentang probabilitas token. OpenAI menandai resep ini sebagai arsip dan memperingatkan bahwa contoh untuk sejumlah model atau API mungkin sudah usang.

## Sources

- [Allan Riordan Boll: Pembungkus mirip Jev untuk LLM, termasuk model visi](https://allanrbo.blogspot.com/2026/09/a-jev-like-wrapper-for-llms-including.html) — Kode Python independen dan pengamatan webcam yang dilaporkan penulis. Kode mendefinisikan empat pertanyaan meskipun teks di sekitarnya menyebut tiga; tidak ada tolok ukur terkendali atau studi akurasi independen.
- [TypeSafe AI: Panduan cepat Jev](https://docs.typesafe.ai/introduction/quickstart) — Mendokumentasikan status teks, jenis pertanyaan, dan contoh isi permintaan. Penulis blog menambahkan lampiran pada objek permintaan Jev-like miliknya; panduan ini tidak mendokumentasikan kolom tersebut.
- [OpenAI: Gambar dan visi](https://developers.openai.com/api/docs/guides/images-vision) — Mendokumentasikan masukan gambar dan URL data base64. Mendukung pola permintaan, bukan kecepatan yang diamati penulis.
- [OpenAI: Membuat respons model](https://developers.openai.com/api/reference/resources/responses/methods/create) — Mendokumentasikan masukan gambar, message.output_text.logprobs, dan hingga 20 log probabilitas teratas per posisi token, terkadang lebih sedikit.
- [OpenAI: GPT-6 Luna dan panduan model](https://developers.openai.com/api/docs/models/gpt-6-luna) — Mencantumkan masukan gambar dan tingkat penalaran none; panduan model OpenAI menjelaskan batas parameter logprob berdasarkan tingkat penalaran.
- [README server llama.cpp](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md) — Mendokumentasikan endpoint chat yang kompatibel dengan OpenAI dan masukan image_url. Backend dan versi model yang tepat belum diuji secara independen di sini.
- [Buku Resep OpenAI: Menggunakan logprob](https://developers.openai.com/cookbook/examples/using_logprobs) — Latar penjelasan mengenai probabilitas token. OpenAI menandai contoh buku resep ini sebagai arsip dan menyatakan contoh tersebut mungkin sudah usang untuk model atau API saat ini.