Processamento em lote é a forma mais barata de rodar um prompt sobre muitas linhas, por cerca de metade do preço interativo, e o arquivo que ele quer é implacável num ponto específico: os resultados voltam na ordem em que terminam. O identificador personalizado é a única coisa que liga um resultado à linha de onde veio, então um id duplicado são dois resultados que você não consegue distinguir — em silêncio, depois de o trabalho ter rodado. Isto expande seu modelo sobre as linhas, deriva um id de uma coluna ou gera um, renomeia duplicatas em vez de deixá-las colidir e dimensiona o trabalho para você saber o que envia antes de enviar.
Recursos
Uma requisição por linha, a partir de um modelo e uma tabela
Identificador vindo da coluna que você escolher, ou gerado
Ids duplicados renomeados em vez de deixados colidir
Ids saneados para os caracteres que o campo aceita
Avisa por linha quando um marcador não teve valor
Tamanho do trabalho: número de requisições, tokens estimados e peso
Emite tanto o corpo da requisição quanto as requisições em JSONL
Divide um trabalho grande demais e mostra como enviá-lo
Como usar Construtor de lotes
Cole o modelo de prompt e as linhas
Escolha o modelo e o limite de tokens por requisição
Escolha qual coluna vira o identificador
Baixe o corpo da requisição e envie
Exemplo
Entrada
"custom_id": "Acme-Ltd"
Saída
Row 2 repeats the id “Acme-Ltd”; renamed to “Acme-Ltd-2”
Resultados chegam fora de ordem, então o id é a única volta até a linha.
Erros comuns e solução de problemas
Não consigo casar resultados com linhas. — Use o identificador como chave, nunca a posição: os resultados voltam na ordem de conclusão. Duplicatas são renomeadas aqui justamente por isso.
O envio é rejeitado. — O endpoint aceita um corpo JSON com um array requests, não o arquivo JSONL. Os dois são produzidos; envie o .json.
Um prompt contém um marcador literal. — Aquela linha não tinha valor para ele. Todas as linhas afetadas são listadas, com o marcador nomeado.
O trabalho é grande demais. — Divida. Arquivos de no máximo dez mil requisições são oferecidos automaticamente quando o número passa disso.
Perguntas frequentes
Por que processamento em lote é mais barato?
Porque não é interativo. O trabalho entra numa fila e roda quando há capacidade, algo muito mais fácil de agendar, e por isso é precificado por cerca da metade. O que se troca é latência, não qualidade.
Para que serve o identificador personalizado?
Para casar resultados com entradas. Os resultados chegam na ordem de conclusão e não na de envio, então o id é o único vínculo confiável com a linha de onde um resultado veio.
O que acontece se duas linhas tiverem o mesmo id?
Num trabalho real, dois resultados que você não distingue. Aqui a duplicata é renomeada e apontada, que é uma hora muito melhor para descobrir.
Para que serve a saída JSONL se o endpoint aceita JSON?
Para ferramentas orientadas a linha: dividir um trabalho grande, comparar duas versões de um, ou alimentar outro executor. O corpo JSON é o que se envia.
Como escolho o max_tokens?
Alto o bastante para nenhuma resposta ser truncada, já que um resultado truncado precisa ser refeito. O teto mostrado supõe que toda requisição usa a cota inteira, o que é um pior caso e não uma estimativa.