Poyro ist eine leichte Erweiterung von Vitest (ein modernes Testgerüst mit einer scherzartigen API) zum Testen von LLM-Anwendungen. Wenn Sie sich mit Vitest vertraut machen, können Sie mehr Poyro herausholen.
Poyro folgt der besten Praxis, LLMs zu verwenden, um die Ausgaben Ihrer Anwendung LLM zu bewerten. Poyro wandelt natürliche Sprachbedingungen in Binäreinheiten -Tests um. Unit -Tests sollten standardmäßig kostenlos und Open Source sein - einschließlich AI -Apps -. Daher verwenden wir einen lokal ausgeführten kleinen LLM, um die Ausgänge Ihrer Anwendung zu bewerten.
Weitere Kontext, warum Sie Poyro und Beispiele für die Verwendung von Vitest zu Unit -Test -LLM -Apps verwenden können, lesen Sie unsere Aufsätze:
KI-Tests im Rahmen der Full-Stack-Engineering
So schreiben Sie Unit -Tests für Ihre KI -Web -App
Fallstudie - Unit -Testen einer legalen KI -App
Beispiele für Runnable -Code für diesen Artikel
Node.js 20 oder später
Vitest 1.6.0 oder höher
Ihr Projekt muss "Typ": "Modul" in seinem paket.json haben (diese Bibliothek ist nur ESM)
Empfohlen: CUDA-kompatible GPU (NVIDIA) oder Metallkompatible GPU (Apple Silicon) für die beste Leistung, aber nicht erforderlich
Um schnell loszulegen, rennen Sie einfach:
NPX Poyro init
Erstellen Sie eine Datei mit der Erweiterung .test.ts
überall in Ihrem Projekt. Hier ist ein Beispiel:
// myfirstest.test.tsimport {beschreiben, erwarten, es} von "vitest"; beschreiben ("myfirsttest", () => { IT ("Sollte wahr sein", async () => {// Ersetzen Sie dies durch die Outputconst LLMoutput = "Hallo, Welt!"; // Kriterium in der natürlichen Sprache: True oder Falseoowait erwarten (llMoutput) .tofulfillcriterion ("(" Sagt Hallo "); }, 10000); // Erhöhen Sie die Zeitüberschreitung nach Bedarf mit dem dritten Argument});
toFulfillCriterion
kann bestimmen, ob ein LLM -Ausgang ein natürliches Sprachkriterium erfüllt oder nicht.
Wenn Sie zum ersten Mal einen Test wie die oben genannten ausführen, wird die Modelldatei für unsere lokal ausgeführte LLM heruntergeladen. Es sollte ein paar Minuten dauern.
Führen Sie Vitest mit Ihrem Paketmanager aus, zum Beispiel mit npm
:
NPM -Test
Ähnliche Befehle funktionieren mit yarn
und pnpm
.
Wir bieten Lösungen für gemeinsame Probleme auf unserer Fehlerbehebung. Schauen Sie sich die Lösungen dort an und wenn Sie weiterhin Probleme haben, zögern Sie bitte nicht, uns an uns zu wenden.
Sie können ein Problem einreichen, indem Sie in unser Github -Repository gehen und ein neues Problem erstellen. Vor dem Einreichen eines Problems überprüfen Sie bitte, ob bereits ein ähnliches Problem eingereicht wurde.
Wenn Sie Hilfe erhalten, Brainstorming über gute Evals oder wenn Sie nur mit anderen Poyro -Entwicklern chatten möchten, schließen Sie sich unserer Community auf Discord an!
Wenn Sie zu Poyro beitragen möchten, lesen Sie bitte unseren beitragenden Leitfaden.
Beginnen Sie mit dem Klonen des Repositorys:
Git Clone https://github.com/poyro/poyro.git
Installieren Sie als nächstes alle Abhängigkeiten:
PNPM Installation
Bei der Entwicklung können Sie entweder pnpm dev
am Root ausführen, wodurch automatisch alle relevanten Pakete erstellt werden, wenn Änderungen vorgenommen werden, oder Sie können pnpm dev
in dem Paket ausführen, an dem Sie arbeiten.