Métodos de avaliação prática para LLMS pronto para empresa-blog N8N

Métodos de avaliação prática para LLMS pronto para empresa-blog N8N

Compartilhe esta postagem

Índice do Conteúdo

Receba nosso boletim

Novos contatos

nossa newsletter

As avaliações do LLMS são o equivalente ao monitoramento de desempenho dos sistemas de TI corporativo. Embora os aplicativos possam funcionar sem eles, eles não serão adequados para implantações de produção.

Neste artigo, descreveremos os métodos de avaliação LLM mais comuns de hoje para ajudá-lo a levar suas implementações de IA para um padrão de nível corporativo.

Também mostraremos como os recursos de avaliação nativa da N8N facilitam a implementação desses métodos diretamente em seus fluxos de trabalho.

Métodos de avaliação correspondentes ao objetivo do LLM

As avaliações nos dizem se uma saída LLM é adequada para o objetivo pretendido. Como tal, o aspecto mais importante a determinar antes de explorar as opções de avaliação é o objetivo pretendido do LLM.

Alguns deles incluem:

  • Fornecendo uma interface de bate -papo para os consumidores
  • Código de escrita
  • Usando o LLM como uma interface de linguagem natural para um produto de software
  • Automatizando processos internos usando agentes de IA
  • Gerando descrições para produtos de varejo
  • Resumindo dados de email não estruturados em uma planilha

Você provavelmente tem um entendimento intuitivo de que alguém que usa o LLMS para escrever código está interessado em uma saída JSON válida, enquanto aqueles que desejam gerar descrições não são. Para ajudar, reunimos uma série de métodos de avaliação disponíveis hoje por meio de código aberto ou de produtos comerciais. Este documento não é um tutorial sobre como usar as avaliações, mas o ajudaria a entender os tipos de avaliações disponíveis hoje, que podem servir melhor o seu caso de uso.

Podemos categorizar as avaliações em quatro categorias amplas:

Categoria

Métodos típicos

Melhor para

Exemplo de uso de uso

Partidas e similaridade

Materia exata, regex, similaridade de Levenshtein, similaridade semântica

Reprodução de alta fidelidade

Conformidade, Legal, Pesquisa da Base de Conhecimento

Avaliações de código

JSON,

Correção funcional,

Sintaxe correção,

Verificação do formato

Geração de código, interfaces de linguagem natural

Fluxos de trabalho de automação, copilotes de codificação

LLM-AS-JUDGE

Útil, correção, factualidade

Tarefas flexíveis e subjetivas

Copilotes de produtos

Segurança

Detecção de PII, injeção imediata, detecção de toxicidade

Aplicativos voltados para o público

Suporte ao cliente Chatbot

O primeiro é Partidas e semelhança, qual é particularmente útil quando você já tem uma resposta de verdade e está interessada no LLM reproduzindo -a em algum grau de fidelidade.

O segundo é sobre Avaliações de código. Embora o caso de uso mais óbvio para isso seja a geração de código, também é importante para casos em que o LLM é usado como uma interface de linguagem natural. Imagine um produto SaaS HR que possua um assistente virtual baseado em LLM. Para interagir com o produto, o LLM escreveria uma consulta de banco de dados, geraria um script ou chamaria a API do produto para executar uma ação, que estaria sujeita às avaliações de código.

A terceira opção é LLM-AS-JUDGEque, apesar de ser um pouco recursivo, também é flexível, altamente configurável e fácil de automatizar. Eu tenho minhas dúvidas sobre o juiz LLMs, pois eles são tão confiáveis ​​quanto os próprios LLMs. Você também pode imaginar cenários em que implementa o LLMS para julgar o juiz LLMS, ad infinitum. Portanto, deve haver algum componente determinístico como parte da abordagem LLM-AS-JUDGE.

Por último, Segurança As avaliações são a base dos corrimãos e medem se a saída do LLM é tóxica ou contém informações confidenciais.

Além de avaliar a saída LLM, pontuar o contexto do LLM, especialmente com relação ao contexto fornecido via RAG, é altamente importante, e exploramos isso mais em Nosso blog post em Avaliações para sistemas de geração aumentada de recuperação (RAG).

Partidas e similaridade

Nesta seção, falamos sobre dois tipos de avaliações. Matches e similaridade, que agrupamos porque geralmente exigem verdade fundamental, ou seja, uma fonte de verdade pré-determinada. Estes podem ser documentos técnicos, contratos, leis, documentos médicos etc.

As correspondências podem ser exatoonde a saída é exatamente igual ao alvo; ou eles podem ser baseado em regexverificando se a expressão regular especificada pode ser encontrada na saída.

As correspondências são importantes para casos de uso, como re-gerar conteúdo literalmente da documentação técnica. Imagine um usuário pedindo a um assistente de LLM “como abrir um ticket de suporte”. Uma correspondência exata recriaria o mesmo conteúdo da página de documentação técnica, enquanto uma correspondência baseada em Regex toleraria algum conteúdo adicional do LLM, como o seu típico “Claro! Aqui está como abrir um ticket de suporte”.

Indo de partidas à semelhança, é importante observar o Taxa de similaridade de Levenshtein, que mede similaridade de string. É a diferença entre duas cordas como o número mínimo de edições de caracteres únicos (inserções, deleções ou substituições) necessárias para alterar uma string na outra.

A similaridade é mais complexa, mas também mais útil. Similaridade semântica Incorporar palavras em vetores para compará-las em um valor numérico de 0-1onde as palavras que são semelhantes pontuam mais e as palavras que não têm pontuação mais baixas. Como tal, podemos medir o quão semelhante é uma saída LLM para uma fonte original com base no que significa o conteúdo.

Avaliações de código

Comparado ao texto normal, o código também possui um componente funcional. Avaliando o código gerado por um LLM significa determinar se o código 1) é executado e 2) é executado conforme o pretendido. Como discutido anteriormente, também quero expandir essa área para incluir interfaces de linguagem natural que geram código para interagir com um produto de software.

  • Validade JSON – Verifique se a saída é válida JSON, garantindo primeiro que a saída seja JSON e, em seguida, verificando o esquema em conformidade com uma estrutura.
  • Correção funcional Avalia a precisão das tarefas de geração de NL para código quando o LLMS tiver a tarefa de gerar código para uma tarefa específica na linguagem natural. Nesse contexto, a avaliação da correção funcional é usada para avaliar se o código gerado produz a saída desejada para uma determinada entrada. Os avisos de linguagem natural podem ser emparelhados com um conjunto de Testes de unidade para verificar o comportamento semântico cobrindo saídas corretas, casos de borda, manuseio de fluxo de controle, uso da API, etc.
  • Sintaxe correção: Essa métrica mede se o código gerado está em conformidade com as regras de sintaxe da linguagem de programação que está sendo usada. Essa métrica pode ser avaliada usando um conjunto de regras que verificam erros de sintaxe comuns. Alguns exemplos de erros de sintaxe comuns estão ausentes de semicolons, nomes de variáveis ​​incorretos ou chamadas de função incorretas.
  • Verificação do formato Avalia se gerado está usando boas práticas de formatação, como indentação, quebras de linha e espaço em branco.

LLM-AS-JUDGE

LLMs independentes podem ser usados ​​para avaliar se as respostas são satisfatórias. Alguns exemplos de avaliações que podem ser executados pelo juiz LLMs incluem utilidade, correção, equivalência de consultas e factualidade.

Útil Avalia se a saída de um LLM é relevante para a consulta original. Ele usa uma combinação de incorporação de similaridade e avaliação de LLM para determinar a relevância. Ele usa um LLM para gerar perguntas em potencial que a saída pode estar respondendo e compara essas perguntas com a consulta original usando a semelhança de incorporação e, finalmente, calcula uma pontuação de relevância com base nas pontuações de similaridade.

Correção Avalia se a resposta da IA ​​é fiel ao contexto fornecido, verificando alucinações ou reivindicações não suportadas. Faz isso por analisando A relação entre o contexto fornecido e a resposta da IA, identificando reivindicações na resposta que não são suportadas pelo contexto.

Equivalência de consulta SQL Verifica se a consulta SQL é equivalente a uma referência, usando um LLM para inferir se gerar os mesmos resultados, dados os esquemas da tabela.

A factualidade avalia a consistência factual entre uma saída LLM e uma resposta de referência. Evalas do Openai são usados ​​por vários fornecedores para determinar se a saída é factualmente consistente com a referência. O verificador de factualidade compara os resultados com base no seguinte:

  • A saída é um subconjunto da referência e é totalmente consistente
  • A saída é um superconjunto da referência e é totalmente consistente
  • A saída contém todos os mesmos detalhes que a referência
  • Saída e referência discordam
  • Saída e referência diferem, mas as diferenças não importam para a factualidade

Na N8N, as avaliações de LLM-AS-JUDGE estão incluídas nas métricas de ajuda e correção integradas. Os usuários também podem criar uma métrica personalizada e incluir um LLM como juiz em um fluxo de sub-trabalho que gera pontuações nas saídas e as passa de volta como métricas.

Segurança

Avaliações de segurança Verifique se a resposta do LLM contém informações de identificação pessoal, tentativas de injeção imediata ou conteúdo tóxico. Isso é particularmente importante ao expor o aplicativo LLM a consumidores ou outros casos de uso externo.

  • Detecção PII Encontra e higieniza informações de identificação pessoal em texto, incluindo números de telefone, endereços de email e números de previdência social. Permite a personalização do limite de detecção e os tipos específicos de PII verificar.
  • Injeção imediata e detecção de jailbreak Identifica as tentativas feitas pelos usuários para jailbreak do sistema e produzir resultados não intencionais. Tentativas na entrada
  • Segurança de conteúdo Detecta conteúdo potencialmente inseguro no texto, incluindo discurso de ódio, auto-mutilação, conteúdo sexual e violência.

Avaliações baseadas em métricas no N8N

Em N8N, avaliações são uma parte nativa dos fluxos de trabalho e podem ser usados ​​para entender o comportamento do LLM em relação a um conjunto de dados de teste. Avaliações baseadas em métricas pode atribuir uma ou mais pontuações a cada execução de teste, que pode ser comparada às execuções anteriores para ver como as métricas mudam e se perfuram nos motivos para essas alterações.

Avaliações baseadas em métricas no N8N
Avaliações baseadas em métricas no N8N

As avaliações são simplesmente implementadas nos fluxos de trabalho com o acionador de avaliações. Ele atua como uma execução separada que não afeta seu fluxo de trabalho de produção de forma alguma. Ele é acionado manualmente e puxa automaticamente os conjuntos de dados da planilha do Google atribuída. Por fim, você precisa preencher a (s) coluna (s) de saída do seu conjunto de dados quando a avaliação é executada inserindo a ação ‘Set Outputs’ do nó de avaliação e conectá -lo ao seu fluxo de trabalho depois de produzir as saídas que você está avaliando.

https://www.youtube.com/watch?v=qkciqpotqbq

O N8N suporta avaliações determinísticas e baseadas em LLM e pode medir se o significado da saída é consistente com uma saída de referência, se corresponde exatamente à saída esperada, se a resposta aborda a pergunta, as ferramentas usadas e determine a queda de uma saída de referência. Os usuários também podem criar métricas personalizadas.

Aqui está um Exemplo de fluxo de trabalho de uma avaliação baseada em LLMonde o fluxo de trabalho coleta a resposta do agente e os documentos recuperados e depois usa um LLM para avaliar se o primeiro é baseado no último. Uma pontuação alta indica a aderência e o alinhamento LLM, enquanto uma pontuação baixa pode sinalizar um prompt inadequado ou modelar alucinação.

Avalie a precisão da resposta a trapos com o OpenAI: Métrica de Groundnessness
Avalie a precisão da resposta a trapos com o OpenAI: Métrica de Groundnessness

Outro Exemplo de fluxo de trabalho usa a metodologia Ragas, o que é útil quando a resposta do agente é permitida mais detalhada e conversadora. A resposta do agente é classificada em três baldes: verdadeira positiva (em resposta e verdade fundamental), falsa positiva (em resposta, mas não na verdade fundamental) e falso negativo (não em resposta, mas na verdade fundamental). Uma pontuação alta indica que o agente é preciso, enquanto uma pontuação baixa pode indicar que o agente possui dados de treinamento incorretos ou não está fornecendo uma resposta suficiente.

Avalie a correção da resposta do agente de IA com a metodologia OpenAi e Ragas
Avalie a correção da resposta do agente de IA com a metodologia OpenAi e Ragas

Embrulhar

A implementação de avaliações como parte de seus fluxos de trabalho de IA pode ajudar a levar sua lógica de automação para um nível de grau corporativa. As métricas embutidas no N8N fornecem todas as ferramentas para testar o desempenho dos seus modelos de IA sem a necessidade de bibliotecas ou aplicativos externos. Saiba mais sobre Avaliações baseadas em métricas aqui.

Créditos Para n8n Oficial

Assine a nossa newsletter

Receba atualizações e aprenda com os melhores

explore mais conteúdo

aprenda mais com vídeos

você que impulsionar seu negócio?

entre em contato conosco e saiba como

contatos midiapro
small_c_popup.png

Saiba como ajudamos mais de 100 das principais marcas a obter sucesso

Vamos bater um papo sem compromisso!