@push('scripts') @endpush

Evaluation Runner

Test your agents with comprehensive evaluations

@if(session()->has('message'))

{{ session('message') }}

@endif
@if(count($availableEvaluations) > 0)
@else

No Evaluations Found

Create an evaluation to get started

php artisan vizra:make:eval MyEvaluation
@endif
@if($selectedEvaluation && !$isRunning && count($results) == 0) @php $selectedEval = collect($availableEvaluations)->firstWhere('class', $selectedEvaluation); $csvPath = base_path($selectedEval['csv_path'] ?? ''); $testCount = 0; if (File::exists($csvPath)) { $testCount = count(file($csvPath)) - 1; } @endphp

{{ $selectedEval['name'] }}

Ready to test {{ $selectedEval['agent_name'] }} with {{ $testCount }} test cases

@if(!empty($currentStatus))

{{ $currentStatus }}

@endif

Estimated time: ~{{ ceil($testCount * 2 / 60) }} minutes

@endif @if($isRunning) @php $contextEval = collect($availableEvaluations)->firstWhere('class', $selectedEvaluation); @endphp

Running: {{ $contextEval['name'] ?? 'Evaluation' }}

Testing {{ $contextEval['agent_name'] ?? 'agent' }} • {{ $currentRowIndex }}/{{ $totalRows }} tests completed

{{ $progress }}% Complete @php $remainingRows = $totalRows - $currentRowIndex; $estimatedMinutes = $remainingRows > 0 ? ceil($remainingRows * 2 / 60) : 0; @endphp ~{{ $estimatedMinutes }} min remaining

{{ $currentStatus }}

{{ $passCount }}

Passed

{{ $failCount }}

Failed

@php $livePassRate = $totalRows > 0 ? round(($passCount / $totalRows) * 100, 1) : 0; @endphp

{{ $livePassRate }}%

Pass Rate

@endif @if(count($results) > 0 || ($showResults && !empty($resultSummary))) @php $contextEval = collect($availableEvaluations)->firstWhere('class', $selectedEvaluation); $finalPassRate = isset($resultSummary['pass_rate']) ? $resultSummary['pass_rate'] : ($totalRows > 0 ? round(($passCount / $totalRows) * 100, 1) : 0); @endphp
@if($isRunning) @else @endif

{{ $contextEval['name'] ?? 'Evaluation' }} @if(!$isRunning) - {{ $finalPassRate >= 80 ? 'Excellent!' : ($finalPassRate < 50 ? 'Needs Work' : 'Good') }} @endif

@if($isRunning) Running live results • {{ $passCount }}/{{ $currentRowIndex }} passed so far @else Final results • {{ $contextEval['agent_name'] ?? 'Agent' }} achieved {{ $finalPassRate }}% pass rate @endif

{{ $totalRows ?: (isset($resultSummary['total_rows']) ? $resultSummary['total_rows'] : 0) }}

Total

{{ $passCount ?: (isset($resultSummary['passed']) ? $resultSummary['passed'] : 0) }}

Passed

{{ $failCount ?: (isset($resultSummary['failed']) ? $resultSummary['failed'] : 0) }}

Failed

{{ $finalPassRate }}%

Pass Rate

@if(count($results) > 0)

@if($isRunning) Live Test Results @else Test Results @endif

@foreach($results as $result)
{{ $result['row_index'] }}
{{ $result['passed'] ? 'PASSED' : 'FAILED' }} @if(isset($result['evaluation_result']['assertions'])) @php $assertions = $result['evaluation_result']['assertions']; $passedAssertions = collect($assertions)->where('status', 'pass')->count(); $totalAssertions = count($assertions); @endphp {{ $passedAssertions }}/{{ $totalAssertions }} checks @endif
@if(isset($result['row_data']['prompt']))

{{ Str::limit($result['row_data']['prompt'], 100) }}

@endif @if(in_array($result['row_index'], $expandedRows))
Full Response:
{{ $result['llm_response'] }}
@if(isset($result['evaluation_result']['assertions']) && count($result['evaluation_result']['assertions']) > 0)
Assertion Results:
@foreach($result['evaluation_result']['assertions'] as $assertion)
@if($assertion['status'] === 'pass') @else @endif {{ $assertion['name'] ?? 'Check' }}: {{ $assertion['message'] ?? strtoupper($assertion['status']) }}
@endforeach
@endif
@endif
@endforeach
@endif @if(!$isRunning)
@if($selectedEvaluation) @endif @if($outputPath) @endif
@endif
@endif