Selección de imágenes por umbral de ancho
Elige entre una y 64 parejas URL-ancho con ancho de visualización de 1–10000 y densidad de 1/4 a 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])
- Proyecto
- Prueba umbrales exactos y retorno al candidato mayor, rechazando anchos duplicados o números inválidos sin descargar la URL.
- Revisa antes de aplicar
- Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
- Modelos
- Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
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])
Relaciona la imagen seleccionada con los requisitos
Una URL de imagen inesperada puede deberse a la lógica de selección y no a un recurso defectuoso. PixelVeranda ofrece a esa investigación un espacio de programación con IA para Windows. Abre el proyecto y pide al modelo conectado que examine los datos de candidatas, las entradas del área de visualización y el código que utiliza la URL seleccionada antes de proponer un cambio. Incluye las elecciones observada y esperada.
Como tarea concreta, puedes revisar código que elige la primera imagen con anchura suficiente para un tamaño de visualización y una proporción de píxeles solicitados. Especifica qué debe ocurrir cuando ninguna candidata sea lo bastante grande y si las candidatas de entrada llegan ordenadas. Pide una propuesta que haga explícitas esas decisiones en vez de depender de un orden de entrada conveniente.
Comprueba el cambio con expectativas exactas de URL. Ejecuta pruebas del proyecto alrededor de los umbrales de anchura, en el límite de la alternativa y con datos de candidatas no válidos. Examina cómo obtiene el consumidor la información del área de visualización y cómo gestiona el rechazo, y prueba después tú mismo la página afectada. La URL seleccionada es una parte de la entrega de imágenes; la propuesta no debe implicar que elegirla demuestre que la imagen finalmente mostrada cumple todos los requisitos.
PixelVeranda admite conexiones a endpoints compatibles con OpenAI o de Anthropic. Elige un modelo de IA sin censura donde esté disponible mediante tu servicio, con contexto, restricciones y herramientas dependientes de esa configuración. Mantén los requisitos de selección en la conversación y usa los resultados de tu aplicación para juzgar los cambios propuestos.
Revisar un cambio en la selección de imágenes
¿Qué evidencia ayuda a explicar una candidata incorrecta?
Proporciona las anchuras y URL de las candidatas, la anchura de visualización solicitada, la proporción de píxeles y la elección esperada. Incluye el código que proporciona esos valores. Así se puede distinguir la lógica de selección de mediciones incorrectas o datos incompletos de candidatas.
¿Debe la función asumir que las candidatas están ordenadas?
Solo si el contrato de entrada garantiza ese orden y los consumidores lo hacen cumplir. Pide al asistente que examine el origen de la lista. Prueba un ejemplo desordenado cuando no se garantice el orden y revisa cualquier ordenación que introduzca el cambio.
¿Cómo debe tratarse el caso sin candidatas suficientemente grandes?
Indica explícitamente la política alternativa, como seleccionar la candidata más grande disponible o comunicar un error. Comprueba después ese caso exacto en el proyecto. El modelo no debe elegir una política solo porque una rama sea más fácil de escribir.
¿Seleccionar una URL confirma la calidad de entrega en el navegador?
No. Verifica la página real además del valor devuelto por la función. La disposición visual, las mediciones y la disponibilidad de recursos pueden afectar al resultado tras la selección. Conserva casos de función para la lógica precisa y una comprobación de la aplicación para el resultado visible al usuario.
PixelVeranda · Actualizado 2026-10-25