O Poyro é uma extensão leve da Vitest (uma estrutura de testes modernos com uma API do tipo JEST) para testar as aplicações LLM. Familiarizar -se com o Vitest pode ajudá -lo a tirar mais de Poyro.
O Poyro segue as melhores práticas de usar o LLMS para avaliar as saídas do seu aplicativo LLM. Poyro converte condições de linguagem natural em testes de unidade binária. O teste de unidade deve ser gratuito e de código aberto por padrão - que inclui aplicativos de IA -, por isso, usamos um pequeno LLM com execução localmente para avaliar as saídas do seu aplicativo.
Para mais contexto sobre o porquê de usar o Poyro e os exemplos sobre como usá -lo, juntamente com os aplicativos Vitest to Unit Test LLM, leia nossos ensaios:
Teste de IA como parte da engenharia de pilha completa
Como escrever testes de unidade para o seu aplicativo da Web de AI
Estudo de caso - Testando uma unidade de um aplicativo legal de IA
Exemplos de código executáveis para este artigo
Node.js 20 ou mais tarde
Vitest 1.6.0 ou mais tarde
Seu projeto deve ter "tipo": "módulo" em seu package.json (esta biblioteca é apenas ESM)
Recomendado: GPU compatível com CUDA (NVIDIA) ou GPU compatível com metal (Apple Silicon) para melhor desempenho, mas não é necessário
Para começar rapidamente, basta correr:
NPX Poyro Init
Para usar os Matchers, crie um arquivo com a extensão .test.ts
em qualquer lugar do seu projeto. Aqui está um exemplo:
// myfirsttest.test.tsimport {descreva, espere, ele} de "Vitest"; descrever ("myFirstTest", () => { ele ("deve ser verdadeiro", async () => {// Substitua -o pelo saída de saída do seu aplicativo LLM llmoutput = "Hello, World!"; // Critério na linguagem natural: True ou Falseawait Espera (llmOutput) .tofulfillcriterion (" Diz olá "); }, 10000); // aumenta o tempo limite conforme necessário com o terceiro argumento});
toFulfillCriterion
pode determinar se uma saída LLM atende ou não atende a um critério de linguagem natural.
Na primeira vez em que você executa um teste como o acima, o arquivo de modelo para o nosso LLM Run Localmente será baixado. Deve levar alguns minutos.
Faça o Vitest com o seu gerenciador de pacotes, por exemplo, com npm
:
teste NPM
Comandos semelhantes funcionam com yarn
e pnpm
.
Fornecemos soluções para problemas comuns em nossa página de solução de problemas. Dê uma olhada nas soluções lá e, se você continuar a ter problemas, não hesite em alcançar conosco.
Você pode enviar um problema indo ao nosso repositório do GitHub e criando um novo problema. Antes de enviar um problema, verifique se um problema semelhante já foi enviado.
Se você quiser obter ajuda, debater -se no Good Evals, ou se quiser apenas conversar com outros desenvolvedores de Poyro, junte -se à nossa comunidade no Discord!
Se você deseja contribuir com o Poyro, leia nosso guia contribuinte.
Comece clonando o repositório:
Git clone https://github.com/poyro/poyro.git
Em seguida, instale todas as dependências:
Instalação do PNPM
Ao desenvolver, você pode executar pnpm dev
na raiz, que criará automaticamente todos os pacotes relevantes quando as alterações forem feitas, ou você pode executar pnpm dev
dentro do pacote em que está trabalhando.