Skip to main content

Como avaliar modelos de IA

Teste e compare as saídas do modelo de IA usando avaliadores e métricas de pontuação no GitHub Models.

Visão geral

O GitHub Models fornece um fluxo de trabalho de avaliação simples que ajuda os desenvolvedores a comparar LLMs (modelos de linguagem grandes), refinar prompts e tomar decisões controladas por dados na plataforma do GitHub. Você pode usar o GitHub Models para experimentar novos recursos ou validar alterações de modelo analisando o desempenho, a precisão e o custo por meio de ferramentas de avaliação estruturadas.

Dica

Execute avaliações diretamente na linha de comando usando o comando gh models eval. Ele usa os mesmos avaliadores que a interface do usuário: correspondência de cadeia de caracteres, similaridade, avaliadores LLM-as-a-judge personalizados e muito mais, para que você possa testar seu arquivo .prompt.yml localmente ou na CI.

Casos de uso do GitHub Models

O comportamento do modelo pode variar muito com base no prompt, entrada ou configuração. O GitHub Models ajuda a:

  • Testar e comparar vários LLMs em casos de uso realistas.
  • Otimizar o fraseado, a temperatura e outros parâmetros de prompt.
  • Avaliar saídas de modelo usando métricas estruturadas e repetíveis.
  • Integrar o desenvolvimento de IA ao fluxo de trabalho de desenvolvimento.

Cenário de exemplo

Considere um cenário em que você está criando um recurso para resumir os comentários dos clientes enviados por meio de tíquetes de suporte. Esses resumos serão usados para gerar relatórios internos e tíquetes, portanto, a saída precisa ser clara, relevante e concisa.

Você deseja:

  • Experimente diferentes modelos e configurações de prompt.
  • Avalie a configuração de melhor desempenho com base na qualidade, na consistência e na eficiência.
  • Salve a configuração em seu repositório para reutilização e colaboração.

Teste de prompt no Playground

Para se familiarizar com a criação e o gerenciamento de prompts no GitHub Models, confira Testar um prompt no Playground.

O Playground permite comparar modelos lado a lado, ajustar seus parâmetros e testar variações de prompt.

Nesta etapa, você configurará um modelo para gerar resumos para comentários de suporte ao cliente. Você definirá um prompt do sistema, o testará com uma entrada de exemplo e o refinará para garantir que a saída seja concisa e relevante.

Como definir o prompt do sistema

Defina o comportamento do modelo para sua meta atual. Nesse caso, a meta é resumir os comentários dos clientes. Em Parameters, insira o seguinte prompt do sistema:

You are a helpful assistant that summarizes support ticket responses into concise summaries.

Deixe as outras configurações com seus valores padrão.

Captura de tela do prompt do sistema. A entrada do prompt do sistema está realçada.

Como escrever um prompt de usuário

Agora que o modelo está configurado, insira os seguintes comentários do cliente na caixa de diálogo Prompt:

The app crashes every time I try to upload a PDF from my phone. It works on desktop but not on mobile.

O modelo pode gerar uma resposta como:

The user experiences consistent app crashes when attempting to upload a PDF from their phone. Uploading PDFs works normally on desktop. They request an investigation into the issue.

Usando variáveis em prompts

Observação

Esse recurso está atualmente em versão prévia pública e sujeito a alterações.

Neste ponto, a configuração gera um resumo claro e conciso. Na parte inferior das configurações de Parameters, clique em Create prompt.yml file para abrir o modo de exibição prompt. O prompt do sistema será preenchido previamente de modo automático.

No campo User prompt, insira um prompt que inclua um ou mais espaços reservados variáveis dentro de chaves duplas. Por exemplo:

Travel or shopping assistants using {{city}}, {{intent}}, and {{budget}} to tailor recommendations.

Cada variável listada no prompt aparecerá como um parâmetro no modo de comparação. Ao executar uma avaliação, você será solicitado a fornecer valores para cada variável. Isso permite que os prompts sejam reutilizados com entradas diferentes sem modificar o conteúdo do prompt.

Como alternativa, você pode adicionar variáveis em seu sistema de arquivos ou prompt de usuário do .prompt.yml para automatizar o processo de avaliação com várias variáveis no futuro. Confira Storing prompts in GitHub repositories.

Como adicionar entradas de teste

Na parte superior do modo de exibição Prompts, selecione Compare para alternar a exibição Comparisons. Essa exibição permite que você execute comparações estruturadas em vários prompts ou modelos e aplique avaliadores para medir o desempenho.

Captura de tela da alternância de comparação. A alternância de comparação está realçada.

Na exibição Comparisons, cada linha na tabela representa um único caso de teste, com uma entrada específica e uma saída esperada. Cada coluna apresenta uma configuração de prompt diferente para comparar como vários modelos ou estilos de prompt são executados usando avaliadores.

Clique em Add rows para inserir seus dados de teste. A entrada simula uma mensagem de suporte real e a saída esperada representa o resumo ideal que o modelo deve retornar. A tabela a seguir fornece amostras de entradas de teste e suas saídas esperadas correspondentes para avaliação.

LinhaEntradaSaída esperada
1O aplicativo falha sempre que tento carregar um PDF do meu telefone. Ele funciona no desktop, mas não no celular.O usuário relata que o aplicativo móvel falha sempre que tenta carregar um PDF, enquanto a versão para desktop funciona sem issues.
2Contatei o suporte há dois dias e não recebi resposta. Preciso de ajuda para recuperar minha conta o quanto antes.O usuário está aguardando a resposta de suporte e precisa de assistência urgente para recuperar a conta.
3Adicione o modo escuro. É muito difícil de usar à noite. Meus olhos doem depois do uso prolongado.O usuário solicita o modo escuro devido à tensão ocular durante o uso noturno.

Ajustando parâmetros de modelo

À direita da tabela, clique em para adicionar uma nova configuração de prompt.

Na nova configuração de prompt, você pode atualizar o modelo e ajustar seu comportamento usando as configurações de parâmetros disponíveis. Essas configurações controlam como o modelo gera texto, incluindo seu comprimento, aleatoriedade e repetição.

Como configurar Configurando o modelo

Na lista suspensa Modelo, escolha PHI-4 para criar uma configuração distinta para comparação.

Você pode ajustar os seguintes parâmetros para influenciar a saída do modelo:

  • Max Tokens: define o número máximo de tokens que o modelo pode retornar. Valores mais altos permitem saídas mais longas.
  • Temperature: controla a aleatoriedade na resposta. Valores mais baixos (0,2–0,4) produzem saídas determinísticas mais focadas. Valores mais altos (0,8 a 1,0) introduzem mais variação e criatividade.
  • Top P: controla a diversidade de saída selecionando em um pool das próximas palavras mais prováveis. Valores mais baixos reduzem a variabilidade, semelhante à redução da temperatura.
  • Presence Penalty: desencoraja o modelo a introduzir novos tópicos. Valores mais altos aplicam uma penalidade mais forte. Um valor de 0 costuma ser adequado para resumo.
  • Frequency Penalty: reduz a probabilidade de repetir palavras. Valores mais altos aplicam uma penalidade mais forte. Um valor entre 0 e 0,5 ajuda a manter os resumos limpos e livres de redundância.
  • Stop: especifica uma ou mais cadeias de caracteres que, quando geradas, cortarão a resposta do modelo. Use isso para evitar saídas excessivamente longas ou impor regras de formatação.

A tabela a seguir fornece uma configuração de parâmetro para gerar resumos concisos durante a comparação de modelos.

ParâmetroValorMotivo
Max Tokens128Mantém as respostas curtas e de acordo com o tópico
Temperatura0.3Garante saídas determinísticas e focadas
Top P1.0Permite vocabulário completo, mas mantém a seleção guiada
Presence Penalty0Sem penalidade, os resumos não precisam de variação de tópico
Frequency Penalty0.3Reduz fraseado repetido em resumos compactos
Parar(opcional)Use se quiser encerrar a saída após uma palavra-chave ou símbolo

Depois de aplicar os parâmetros, você pode adicionar colunas para comparar mais modelos ou configurações de prompt lado a lado.

Como avaliar saídas

Depois que o prompt for configurado, execute uma avaliação estruturada para comparar saídas de modelo usando dados reais e métricas repetíveis.

A avaliação de modelo ajuda você a entender como diferentes modelos e configurações de prompt são executadas entre entradas reais. No modo de exibição Prompt, você pode aplicar avaliadores a vários modelos lado a lado e examinar métricas como similaridade, relevância e embasamento.

Os seguintes avaliadores estão disponíveis:

  • Similaridade: mede o quanto a saída de um modelo corresponde a uma resposta esperada ou de referência. É útil quando você deseja confirmar se o modelo retorna respostas consistentes e precisas alinhadas com um resultado conhecido. A pontuação varia de 0 a 1, com valores mais altos indicando maior semelhança.
  • Relevância: refere-se à eficácia com que uma resposta aborda uma pergunta. Ela avalia a precisão, a integridade e a relevância direta da resposta com base apenas nas informações fornecidas. A pontuação varia de 0 a 1, com valores mais altos indicando um alinhamento mais forte com a intenção da entrada.
  • Embasamento: mede o quanto uma resposta está ancorada no contexto fornecido, avaliando sua relevância, precisão e integridade com base exclusivamente nesse contexto. Avalia até que ponto a resposta aborda a pergunta de maneira completa, sem introduzir informações não relacionadas ou incorretas. A pontuação varia de 0 a 1, com valores mais altos indicando maior precisão.
  • Prompt personalizado: permite que você defina seus próprios critérios de avaliação para um LLM avaliar a saída de outro. Isso permite que você marque saídas de modelo com base em suas próprias diretrizes. Você pode escolher entre aprovação/falha ou avaliações pontuadas, tornando-o ideal para cenários em que as métricas padrão não capturam expectativas de teste.

Quando estiver pronto para avaliar, clique em Run para gerar e comparar as saídas em todas as configurações de prompt. Após a conclusão da execução, GitHub Models exibe a saída de cada configuração de prompt, além das pontuações do avaliador.

Captura de tela do conjunto de dados após a execução do avaliador.

Caso de teste: falha no upload de PDF

Entrada: The app crashes every time I try to upload a PDF from my phone. It works on desktop but not on mobile.

As seguintes tabelas exibem a saída de cada modelo e suas pontuações do avaliador:

ModelarSaída
GPT-4.1O usuário relata que o aplicativo falha ao carregar um PDF do dispositivo móvel, embora o carregamento funcione no desktop.
DeepSeek-R1 Ok, o usuário está com problemas com a falha do aplicativo ao tentar carregar um PDF do telefone. Ele funciona no desktop, mas não no celular. Vou detalhar isso. Primeiro, o principal issue é que o aplicativo falha especificamente durante uploads de PDF no celular. O fato de funcionar em desktop sugere que é um problema específico do celular. As possíveis causas podem estar relacionadas à versão do aplicativo móvel, ao SO do telefone, aos limites de tamanho do arquivo em dispositivos móveis ou a issues de compatibilidade com determinados formatos PDF em dispositivos móveis. Preciso verificar se o resumo menciona a falha durante uploads de PDF no celular, observar que funciona em desktop e
Phi-4que o aplicativo falha ao tentar carregar um PDF do celular, embora funcione corretamente na versão para desktop.
ModelarSimilaridadeRelevânciaFundamentaçãoTokens de entradaTokens de saídaLatência
GPT-4.1100%50%100%6120918 ms
DeepSeek-R150%50%75%521282.285 ms
Phi-475%100%100%61661.117 ms

Use as pontuações do avaliador para avaliar e comparar respostas além do fraseado no nível da superfície.

Similaridade

Avalie o quanto a saída de cada modelo se alinha ao resumo esperado. A tabela a seguir mostra as pontuações de relevância para cada modelo.

ModelarPontuação de similaridade
GPT-4.1100%
DeepSeek-R150%
Phi-475%

Embora todos os modelos incluam o conteúdo-chave da entrada, a pontuação de similaridade do DeepSeek-R1 é significativamente menor devido ao seu comentário interno detalhado, que se desvia do formato de resumo conciso esperado. Por outro lado, a resposta do GPT-4.1 corresponde ao fraseado e à estrutura da saída de referência.

Relevância

Avalie o quanto cada modelo captura a intenção principal da entrada. A tabela a seguir mostra as pontuações de relevância para cada modelo.

ModelarClassificação de relevância
GPT-4.150%
DeepSeek-R150%
Phi-4100%

Todos os três modelos reconheceram o principal issue de falha do aplicativo durante uploads de PDF no celular. O Phi-4 obteve uma pontuação de relevância maior para refletir a perspectiva do usuário de modo mais completo. O DeepSeek-R1 perdeu pontos por introduzir causas técnicas especulativas não mencionadas na entrada original.

Fundamentação

Avalie se a saída de cada modelo continua verdadeira para a entrada sem introduzir informações sem suporte. A tabela a seguir mostra as pontuações de relevância para cada modelo.

ModelarPontuação de embasamento
GPT-4.1100%
DeepSeek-R175%
Phi-4100%

Embora o DeepSeek-R1 adicione comentários internos, ele não apresenta alucinação de fatos. Sua frase resumida final reflete corretamente a entrada original.

Caso de teste: solicitação do modo escuro

Entrada: Please add dark mode. It's very hard to use at night. My eyes hurt after prolonged use.

As seguintes tabelas exibem a saída de cada modelo e suas pontuações do avaliador:

ModelarSaída
GPT-4.1O usuário solicita a adição de um recurso de modo escuro devido ao desconforto e à tensão ocular ao usar o aplicativo à noite.
DeepSeek-R1 Ok, o usuário quer adicionar o modo escuro porque é difícil de usar à noite e seus olhos doem. Preciso fazer um resumo conciso. Vou começar com a solicitação principal: adicionar o modo escuro. Em seguida, mencionar o motivo: tensão ocular do uso prolongado à noite. Mantenha-o em uma frase. Talvez estruturá-lo como "Solicitar a implementação do modo escuro para reduzir a tensão ocular durante o uso noturno". Isso abrange os pontos-chave sem detalhes extras. Verifique se isso está abaixo do limite de caracteres. Sim, parece bom. Resumo: solicitar a implementação do modo escuro para reduzir a tensão ocular causada pelo uso prolongado da noite.
Phi-4O cliente está solicitando a adição de um recurso de modo escuro para reduzir a tensão ocular ao usar o produto à noite.
ModelarSimilaridadeRelevânciaFundamentaçãoTokens de entradaTokens de saídaLatência
GPT-4.1100%75%100%57181.286 ms
DeepSeek-R150%0%25%491281.946 ms
Phi-4100%75%100%5820899 ms

Similaridade

Avalie o quanto a saída de cada modelo se alinha ao resumo esperado. A tabela a seguir mostra as pontuações de relevância para cada modelo.

ModelarPontuação de similaridade
GPT-4.1100%
DeepSeek-R150%
Phi-4100%

Embora todos os modelos incluam o conteúdo da chave da entrada, a pontuação de similaridade do DeepSeek-R1 é muito menor devido ao seu comentário interno detalhado.

Relevância

Avalie o quanto cada modelo captura a intenção principal da entrada. A tabela a seguir mostra as pontuações de relevância para cada modelo.

ModelarClassificação de relevância
GPT-4.175%
DeepSeek-R10%
Phi-475%

O GPT-4.1 e o Phi-4 capturaram a principal intenção da solicitação do usuário: a necessidade de modo escuro para reduzir a tensão ocular e melhorar a usabilidade à noite. O DeepSeek-R1 obteve 0% de relevância devido ao comentário interno detalhado que se desviou da saída real.

Fundamentação

Avalie se a saída de cada modelo continua verdadeira para a entrada sem introduzir informações sem suporte. A tabela a seguir mostra as pontuações de relevância para cada modelo.

ModelarPontuação de embasamento
GPT-4.1100%
DeepSeek-R125%
Phi-4100%

O DeepSeek-R1 teve uma pontuação menor devido ao seu bloco <think> prolixo, que incluiu raciocínio especulativo não presente na entrada original.

Salvar a configuração

Depois de concluir suas avaliações, a etapa final é escolher o modelo com o melhor desempenho para seu caso de uso específico. Nos exemplos acima, o Phi-4 e o GPT-4.1 apresentaram resultados fortes e consistentes em todos os avaliadores. O DeepSeek-R1 obteve uma pontuação menor devido ao seu raciocínio prolixo e a saídas menos focadas.

Depois de selecionar o modelo preferencial e a configuração de prompt, adicione um nome descritivo ao arquivo de prompt e clique em Commit changes. Isso salvará o modelo, o prompt, as configurações de parâmetro e o conjunto de dados associado como um arquivo de configuração reutilizável em seu repositório.

Captura de tela do botão confirmar alterações. O botão confirmar alterações está realçado.

A confirmação da configuração de prompt facilita a reutilização, a colaboração e a iteração entre configurações de modelo. Isso torna mais fácil executar novamente as avaliações e acompanhar o desempenho da configuração do prompt ao longo do tempo.

Leitura adicional