Pemilihan gambar menurut ambang lebar
Pilih dari satu hingga 64 pasangan URL-lebar menggunakan lebar tampilan 1–10000 dan rasio kepadatan 1/4 sampai 8.
import math
def image_candidate(candidates, width, ratio):
if type(width) is not int or not 1 <= width <= 10000 or type(ratio) not in (int, float) or not 0.25 <= ratio <= 8 or not math.isfinite(ratio):
raise ValueError("image.viewport")
if type(candidates) is not list or not 1 <= len(candidates) <= 64:
raise ValueError("image.candidates")
sizes, seen = [], set()
for pair in candidates:
if type(pair) not in (list, tuple) or len(pair) != 2:
raise ValueError("image.pair")
url, pixels = pair
if type(url) is not str or not 1 <= len(url) <= 2048 or any(ord(c) < 32 or ord(c) == 127 for c in url):
raise ValueError("image.url")
if type(pixels) is not int or not 1 <= pixels <= 100000 or pixels in seen:
raise ValueError("image.size")
seen.add(pixels)
sizes.append((pixels, url))
sizes.sort()
target = width*ratio
return next((url for pixels, url in sizes if pixels >= target), sizes[-1][1])
- Proyek
- Uji ambang tepat serta cadangan kandidat terbesar, lalu tolak lebar duplikat atau angka tidak valid tanpa mengambil URL terpilih.
- Tinjau sebelum menerapkan
- Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
- Model
- Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.
import math
def image_candidate(candidates, width, ratio):
if type(width) is not int or not 1 <= width <= 10000 or type(ratio) not in (int, float) or not 0.25 <= ratio <= 8 or not math.isfinite(ratio):
raise ValueError("image.viewport")
if type(candidates) is not list or not 1 <= len(candidates) <= 64:
raise ValueError("image.candidates")
sizes, seen = [], set()
for pair in candidates:
if type(pair) not in (list, tuple) or len(pair) != 2:
raise ValueError("image.pair")
url, pixels = pair
if type(url) is not str or not 1 <= len(url) <= 2048 or any(ord(c) < 32 or ord(c) == 127 for c in url):
raise ValueError("image.url")
if type(pixels) is not int or not 1 <= pixels <= 100000 or pixels in seen:
raise ValueError("image.size")
seen.add(pixels)
sizes.append((pixels, url))
sizes.sort()
target = width*ratio
return next((url for pixels, url in sizes if pixels >= target), sizes[-1][1])
Telusuri gambar terpilih kembali ke kebutuhannya
URL gambar yang tidak diharapkan dapat disebabkan logika pemilihan, bukan aset rusak. PixelVeranda memberi penyelidikan itu ruang kerja pemrograman AI Windows. Buka proyek dan minta model yang terhubung memeriksa data kandidat, masukan viewport, serta pemanggil yang menggunakan URL terpilih sebelum mengusulkan perubahan. Sertakan pilihan yang diamati dan yang diharapkan.
Sebagai tugas konkret, Anda dapat meninjau kode yang memilih gambar pertama yang cukup lebar untuk ukuran tampilan dan rasio piksel yang diminta. Tentukan tindakan ketika tidak ada kandidat yang cukup besar dan apakah kandidat masukan sudah terurut. Minta usulan yang menyatakan keputusan ini secara eksplisit, bukan mengandalkan urutan masukan yang kebetulan sesuai.
Periksa tambalan dengan harapan URL yang persis. Jalankan pengujian proyek di sekitar ambang lebar, pada batas penggunaan pilihan cadangan, dan dengan data kandidat tidak valid. Periksa cara pemanggil memperoleh informasi viewport serta menangani penolakan, lalu coba sendiri halaman yang terdampak. URL terpilih adalah satu bagian dari penyajian gambar; usulan tidak boleh menyiratkan bahwa pemilihannya membuktikan gambar akhir yang dirender memenuhi semua kebutuhan.
PixelVeranda mendukung koneksi ke endpoint yang kompatibel dengan OpenAI atau Anthropic. Pilih model AI tanpa sensor jika tersedia melalui layanan Anda, dengan konteks, pembatasan, dan alat yang bergantung pada pengaturan tersebut. Pertahankan kebutuhan pemilihan dalam percakapan dan gunakan hasil aplikasi untuk menilai usulan perubahan.
Meninjau perubahan pemilihan gambar
Bukti apa yang membantu menjelaskan kandidat yang salah?
Berikan lebar dan URL kandidat, lebar tampilan yang diminta, rasio piksel, dan pilihan yang diharapkan. Sertakan kode pemasok nilai tersebut. Ini memungkinkan pembedaan logika pemilihan dari pengukuran keliru atau data kandidat tidak lengkap.
Haruskah fungsi menganggap kandidat sudah terurut?
Hanya jika kontrak masukan menjamin urutan tersebut dan pemanggil menegakkannya. Minta asisten memeriksa sumber daftar. Uji contoh tidak terurut ketika urutan tidak dijamin, dan tinjau pengurutan apa pun yang diperkenalkan tambalan.
Bagaimana seharusnya kasus tanpa kandidat cukup besar ditangani?
Nyatakan kebijakan cadangan secara eksplisit, misalnya memilih kandidat terbesar yang tersedia atau melaporkan kesalahan. Lalu periksa kasus tepat itu dalam proyek. Model tidak boleh memilih kebijakan hanya karena salah satu cabang lebih mudah ditulis.
Apakah memilih URL memastikan kualitas penyajian browser?
Tidak. Verifikasi halaman sebenarnya selain nilai kembali fungsi. Tata letak, pengukuran, dan ketersediaan aset dapat memengaruhi hasil setelah pemilihan. Pertahankan data uji fungsi untuk logika yang tepat dan pemeriksaan aplikasi untuk hasil yang terlihat pengguna.
PixelVeranda · Diperbarui 2026-10-25