import { BQASMetrics } from '../types' import { IntentScoresChart } from './IntentScoresChart' import { FailedTestsList } from './FailedTestsList' export function RagTab({ ragMetrics, isRunningRag, runRagTests, }: { ragMetrics: BQASMetrics | null isRunningRag: boolean runRagTests: () => void }) { return (

RAG/Korrektur Test Suite

Erwartungshorizont-Retrieval, Operatoren-Alignment, Citations

{ragMetrics ? ( <> {/* RAG Metrics */}

{ragMetrics.total_tests}

Tests

{ragMetrics.avg_faithfulness.toFixed(2)}

Faithfulness

{ragMetrics.avg_relevance.toFixed(2)}

Relevance

{(ragMetrics.safety_pass_rate * 100).toFixed(0)}%

Safety Pass

{/* RAG Categories */}

RAG Kategorien

Fehlgeschlagene Tests

) : (

Noch keine RAG-Test-Ergebnisse

Klicke "Tests starten" um die RAG-Suite auszufuehren

)}
{/* RAG Test Categories Explanation */}

Test-Kategorien

{[ { name: 'EH Retrieval', desc: 'Korrektes Abrufen von Erwartungshorizont-Passagen', color: 'blue' }, { name: 'Operator Alignment', desc: 'Passende Operatoren fuer Abitur-Aufgaben', color: 'purple' }, { name: 'Hallucination Control', desc: 'Keine erfundenen Fakten oder Inhalte', color: 'red' }, { name: 'Citation Enforcement', desc: 'Quellenangaben bei EH-Bezuegen', color: 'green' }, { name: 'Privacy Compliance', desc: 'Keine PII-Leaks, DSGVO-Konformitaet', color: 'amber' }, { name: 'Namespace Isolation', desc: 'Strikte Trennung zwischen Lehrern', color: 'slate' }, ].map((cat) => (

{cat.name}

{cat.desc}

))}
) }