Seleção de imagens por limite de largura
Escolha entre uma e 64 duplas URL-largura com largura de exibição de 1–10000 e densidade 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])
- Projeto
- Teste limiares exatos e retorno ao maior candidato, rejeitando larguras duplicadas ou números inválidos sem buscar a URL.
- Revise antes de aplicar
- Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
- Modelos
- Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
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])
Relacione a imagem selecionada aos requisitos
Uma URL de imagem inesperada pode ser resultado da lógica de seleção, e não de um recurso defeituoso. PixelVeranda oferece a essa investigação um ambiente de programação com IA para Windows. Abra o projeto e peça ao modelo conectado que examine os dados dos candidatos, as entradas da área de exibição e o chamador que usa a URL selecionada antes de propor uma mudança. Inclua as escolhas observada e esperada.
Como tarefa concreta, você pode revisar código que escolhe a primeira imagem suficientemente larga para um tamanho de exibição e uma proporção de pixels solicitados. Especifique o que deve acontecer quando nenhum candidato for grande o bastante e se os candidatos de entrada chegam ordenados. Peça uma proposta que explicite essas decisões, em vez de depender de uma ordenação conveniente da entrada.
Confira a alteração com expectativas exatas de URL. Execute testes do projeto ao redor dos limiares de largura, no ponto de uso da alternativa de reserva e com dados de candidatos inválidos. Examine como o chamador obtém informações da área de exibição e trata a rejeição; depois, experimente pessoalmente a página afetada. A URL selecionada é uma parte da entrega de imagens; a proposta não deve implicar que sua escolha prova que a imagem final renderizada atende a todos os requisitos.
PixelVeranda permite conexões a endpoints compatíveis com OpenAI ou da Anthropic. Escolha um modelo de IA sem censura onde estiver disponível pelo seu serviço, com contexto, restrições e ferramentas dependentes dessa configuração. Mantenha os requisitos de seleção na conversa e use os resultados da aplicação para avaliar as alterações propostas.
Revise uma mudança na seleção de imagens
Quais evidências ajudam a explicar o candidato errado?
Forneça as larguras e URLs dos candidatos, a largura de exibição solicitada, a proporção de pixels e a escolha esperada. Inclua o código que fornece esses valores. Isso permite distinguir a lógica de seleção de medidas incorretas ou dados incompletos dos candidatos.
A função deve presumir que os candidatos estão ordenados?
Somente se o contrato de entrada garantir essa ordem e os chamadores a impuserem. Peça ao assistente que examine a origem da lista. Teste um exemplo desordenado quando a ordem não for garantida e revise qualquer ordenação introduzida pela alteração.
Como deve funcionar o caso em que nenhum candidato é grande o suficiente?
Declare explicitamente a política de reserva, como selecionar o maior candidato disponível ou informar um erro. Depois, verifique esse caso exato no projeto. O modelo não deve escolher uma política apenas porque um ramo é mais fácil de escrever.
Selecionar uma URL confirma a qualidade da entrega no navegador?
Não. Verifique a página real, além do valor retornado pela função. Layout, medição e disponibilidade dos recursos podem afetar o resultado após a seleção. Mantenha casos da função para a lógica precisa e uma verificação da aplicação para o resultado visível ao usuário.
PixelVeranda · Atualizado 2026-10-25