Magurofg/ifeval-pt
IFEval-pt Benchmark de seguimento de instrução em português do Brasil, com 308 itens cuja verificação é feita por código — sem juiz LLM, sem GPU, sem opinião. Reproduzir custa alguns minutos de CPU. O que ele tem de diferente Já existem versões do IFEval em português: amalia-llm/IFEval-mt-pt (541 itens, pt-PT), Polygl0t/IFEval-PT (300), a fatia pt do facebook/Multi-IF (524) e akawaai/Portuguese-IFEval (618). Todas são tradução do conjunto em inglês — medem… See the full description on the dataset page: https://huggingface.co/datasets/Magurofg/ifeval-pt.
IFEval-pt
Benchmark de seguimento de instrução em português do Brasil, com 308 itens cuja verificação é feita por código — sem juiz LLM, sem GPU, sem opinião. Reproduzir custa alguns minutos de CPU.
O que ele tem de diferente
Já existem versões do IFEval em português: amalia-llm/IFEval-mt-pt (541 itens, pt-PT), Polygl0t/IFEval-PT (300), a fatia pt do facebook/Multi-IF (524) e akawaai/Portuguese-IFEval (618). Todas são tradução do conjunto em inglês — medem, portanto, inglês vertido para o português.
Este aqui testa restrições que só existem na língua portuguesa e que uma tradução não poderia conter:
A de próclise é a mais direta: a regra gramatical é o próprio teste — próclise é obrigatória depois de palavra atrativa, então o verificador procura exatamente atrativo + pronome + verbo.
Além dessas, há as restrições genéricas herdadas do IFEval original (número de frases, número de palavras, palavra obrigatória, palavra proibida, começar/terminar com, caixa baixa).
Formato
Mesmas quatro colunas do google/IFEval, para ser compatível de imediato com quem já avalia o original:
{"key": 11,
"prompt": "Explique o que é reciclagem. Use crase pelo menos uma vez na resposta.",
"instruction_id_list": ["ptbr:crase"],
"kwargs": [{}]}308 itens = 14 tarefas-base × 22 restrições. O número foi escolhido por itens por restrição (14), não pelo total: é o que permite reportar taxa por restrição com intervalo de confiança utilizável (±5,5 pontos a 95%, contra ±9,5 se fossem 100 itens).
Duas notas, como no original
- estrita: a restrição vale no texto exatamente como veio.
- frouxa: vale depois de remover marcação de markdown, aspas e espaço sobrando — modelo pequeno erra por embrulhar a resposta, não por desobedecer.
Como rodar
python ifeval_pt.py --url http://SEU-ENDPOINT/v1 --modelo NOME --saida resultado.jsonQualquer endpoint compatível com a API da OpenAI serve. O script está no mesmo repositório e não depende de nada além da biblioteca padrão.
Resultado de referência
O padrão que aparece nesse resultado vale como aviso a quem for usar o benchmark: restrições passivas ("não use crase") são satisfeitas por acidente quando a resposta é curta — 12/14 — enquanto as ativas ("use crase") falham — 1/14. Ao comparar modelos, olhar a tabela por restrição, não só a média.
Armadilhas de medição já tratadas
- Abreviações comuns ("Sr.", "etc.", "p.ex.") não contam como fim de frase — sem isso a contagem infla e o modelo é reprovado por erro do medidor.
- Palavra proibida é detectada com e sem acento: pedir para não usar "você" pega também "voce".
- Contagem de palavras aceita caracteres acentuados.
Licença e citação
Apache 2.0. Se usar, cite este repositório. Construído como parte do projeto Pocket-LM, um modelo de linguagem pt-BR de 269M treinado do zero para rodar offline no celular.
