Test Runner & CI/CD
Automatisez vos tests avec des assertions et reporters avancés, intégrés nativement à vospipelines CI/CD.
import { minScore, maxScore, maxLatency, ConsoleReporter, JUnitReporter } from '@orka-js/evaluation'; const report = await orka.test({ name: 'Regression Tests', dataset: [ { input: 'What is Orka AI?', expectedOutput: 'A TypeScript framework.', knowledge: 'docs' }, ], metrics: ['relevance', 'correctness', 'faithfulness'], assertions: [ minScore('relevance', 0.7), maxScore('hallucination', 0.3), maxLatency(10000), ], reporters: [ new ConsoleReporter(), new JUnitReporter('./test-results.xml'), ],}); if (report.failed > 0) process.exit(1);Assertions
Quality Gate
Impose un seuil minimal de qualité pour les métriques sémantiques.
minScoreSafety Gate
Plafonne les métriques comme la toxicité ou l'hallucination.
maxScorePerformance
Monitoring SLA strict. Échoue si le modèle est trop lent.
maxLatencyBudget
Contrôle les coûts en limitant le volume de la réponse.
maxTokensCompliance
Vérifie la présence de mentions obligatoires ou mots-clés.
containsModeration
Bloque les mots interdits ou termes internes sensibles.
notContainsFormatting
Valide la structure de sortie (JSON, Email, IDs).
matchesRegexLogic
Implémente des règles métier complexes et personnalisées.
customAssertionReporters
Dev Mode
Sortie console formatée avec icônes réussite/échec
ConsoleReporterArchive
Exporter le rapport complet en JSON pour analyse
JsonReporter(path?)Pipeline
Format XML JUnit pour les pipelines CI/CD professionnels
JUnitReporter(path)GitHub Actions
name: AI Quality Testson: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20 - run: npm install - run: npx tsx tests/ai-quality.ts env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} - uses: dorny/test-reporter@v1 if: always() with: name: AI Quality Report path: test-results.xml reporter: java-junit