Poyro es una extensión ligera de Vitest (un marco de prueba moderno con una API de forma de broma) para probar aplicaciones LLM. Familiarizarse con Vitest puede ayudarlo a obtener más de Poyro.
Poyro sigue la mejor práctica de usar LLM para evaluar las salidas de su aplicación LLM. Poyro convierte las condiciones del lenguaje natural en pruebas unitarias binarias. Las pruebas unitarias deben ser gratuitas y de código abierto de forma predeterminada, que incluye aplicaciones de IA, por lo que utilizamos un pequeño LLM de ejecución local para evaluar las salidas de su aplicación.
Para obtener más contexto sobre por qué usar Poyro y ejemplos sobre cómo usarlo junto con las aplicaciones de Vitest to Unit Test LLM, lea nuestros ensayos:
Pruebas de IA como parte de la ingeniería de pila completa
Cómo escribir pruebas unitarias para su aplicación web de IA
Estudio de caso - Probar unitaria una aplicación Legal AI
Ejemplos de código ejecutables para este artículo
Node.js 20 o posterior
Vitest 1.6.0 o posterior
Su proyecto debe tener "tipo": "módulo" en su paquete.json (esta biblioteca es solo ESM)
Recomendado: GPU compatible con CUDA (NVIDIA) o GPU compatible con metal (Silicon de Apple) para el mejor rendimiento, pero no es necesario
Para comenzar rápidamente, simplemente ejecute:
npx poyro init
Para usar los Matchers, cree un archivo con la extensión .test.ts
en cualquier lugar dentro de su proyecto. Aquí hay un ejemplo:
// myfirsttest.test.tsimport {describir, esperar,} de "vitest"; describir ("myFirstTest", () => { it ("debería ser verdadero", async () => {// Reemplazar esto con la salida de su aplicación LLM LLMOUTPUT = "¡Hello, World!"; // Criterio en lenguaje natural: verdadero o falseawait suppiendo (llMoutput) .ToFulFillCriterion (" Dice hola "); }, 10000); // Aumente el tiempo de espera según sea necesario con el tercer argumento});
toFulfillCriterion
puede determinar si una producción de LLM cumple o no cumple con un criterio de lenguaje natural.
La primera vez que ejecute una prueba como la anterior, se descargará el archivo modelo para nuestro LLM localmente ejecutado. Debería tomar un par de minutos.
Ejecute Vitest con su Administrador de paquetes, por ejemplo con npm
:
prueba de NPM
Los comandos similares funcionan con yarn
y pnpm
.
Brindamos soluciones a problemas comunes en nuestra página de solución de problemas. Eche un vistazo a las soluciones allí, y si continúa teniendo problemas, no dude en comunicarse con nosotros.
Puede enviar un problema yendo a nuestro repositorio de GitHub y creando un nuevo problema. Antes de enviar un problema, verifique si ya se ha enviado un problema similar.
Si desea obtener ayuda, haga una lluvia de ideas sobre buenas evals, o si solo desea chatear con otros desarrolladores de Poyro, ¡únase a nuestra comunidad en Discord!
Si desea contribuir a Poyro, lea nuestra guía de contribución.
Comience clonando el repositorio:
Git clon https://github.com/poyro/poyro.git
A continuación, instale todas las dependencias:
instalación de PNPM
Al desarrollar, puede ejecutar pnpm dev
en la raíz, que creará automáticamente todos los paquetes relevantes cuando se realicen cambios, o puede ejecutar pnpm dev
dentro del paquete en el que está trabajando.