Avaliacao comparativa
Objetivo
Comparar as respostas de diferentes modelos a uma mesma questao aberta, avaliando qualidade relativa em dimensoes especificas.
Como funciona
- Para cada questao, todas as respostas dos modelos sao agrupadas
- Um prompt e montado contendo a questao e todas as respostas (identificadas por modelo)
- O modelo juiz (
llama3.2:3b) avalia cada resposta em tres dimensoes
Dimensoes de avaliacao
| Dimensao | Escala | O que avalia |
|---|---|---|
| Argumentacao | 0-5 | Qualidade da argumentacao juridica |
| Precisao | 0-5 | Precisao e correcao das referencias legais |
| Coesao | 0-5 | Coesao e clareza textual |
Score final
O score final de cada modelo em cada questao e calculado como media ponderada:
Os pesos refletem a maior importancia da argumentacao e precisao no contexto juridico.
Template do prompt
Arquivo: src/templates/judge_comparative.jinja
O prompt configura o modelo como "professor de direito avaliando respostas da prova da OAB" e instrui a retornar apenas JSON, sem explicacoes ou markdown.
Formato de saida esperado:
{
"llama3.2:3b": {"argumentacao": 4, "precisao": 3, "coesao": 4},
"gemma2:2b": {"argumentacao": 2, "precisao": 3, "coesao": 3},
"qwen2.5:3b": {"argumentacao": 3, "precisao": 4, "coesao": 3}
}
Saida
Os resultados sao salvos em src/results/eval_comparative.csv com as colunas:
- question_id, model
- argumentacao, precisao, coesao
- final_score