OrkaJS
Orka.JS

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.

minScore
Safety Gate

Plafonne les métriques comme la toxicité ou l'hallucination.

maxScore
Performance

Monitoring SLA strict. Échoue si le modèle est trop lent.

maxLatency
Budget

Contrôle les coûts en limitant le volume de la réponse.

maxTokens
Compliance

Vérifie la présence de mentions obligatoires ou mots-clés.

contains
Moderation

Bloque les mots interdits ou termes internes sensibles.

notContains
Formatting

Valide la structure de sortie (JSON, Email, IDs).

matchesRegex
Logic

Implémente des règles métier complexes et personnalisées.

customAssertion

Reporters

Dev Mode

Sortie console formatée avec icônes réussite/échec

ConsoleReporter
Archive

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 Tests
on: [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