QuizManagerService
Der QuizManagerService ermöglicht dir die Erstellung und Verwaltung von KI-generierten Quizzen. Du kannst Quizze aus Texten generieren, den Ablauf steuern und den Fortschritt verfolgen.
Zugriff
const quiz = RAGAI.quiz;
Properties (Getter)
| Property | Typ | Beschreibung |
|---|---|---|
IS_RUNNING | boolean | Gibt an, ob gerade ein Quiz läuft |
QUESTIONS_UPCOMMING | array | Liste der noch bevorstehenden Fragen |
ASKED_QUESTIONS | array | Liste der bereits gestellten Fragen |
ANSWERED_QUESTIONS | array | Liste der beantworteten Fragen |
CURRENT_QUESTION_NUMBER | number | Aktuelle Fragennummer |
if (RAGAI.quiz.IS_RUNNING) {
console.log("Aktuelle Frage:", RAGAI.quiz.CURRENT_QUESTION_NUMBER);
console.log("Noch offen:", RAGAI.quiz.QUESTIONS_UPCOMMING.length);
console.log("Bereits gefragt:", RAGAI.quiz.ASKED_QUESTIONS.length);
}
Konfigurierbare Properties
| Property | Typ | Beschreibung |
|---|---|---|
LOADING_MSG | string | Nachricht, die während des Ladens angezeigt wird |
CONF_QUESTIONS_COUNT | number | Anzahl der zu generierenden Fragen |
CONF_WRONG_ANSWER_COUNT | number | Anzahl der falschen Antwortoptionen pro Frage |
ADDITIONAL_PROMPT_INFO | string | Zusätzliche Informationen für den KI-Prompt |
BUTTON_CLASS | string | CSS-Klasse für die Antwort-Buttons |
RIGHT_ANSWERS | number | Zähler für richtige Antworten |
WRONG_ANSWERS | number | Zähler für falsche Antworten |
// Quiz konfigurieren
RAGAI.quiz.CONF_QUESTIONS_COUNT = 5;
RAGAI.quiz.CONF_WRONG_ANSWER_COUNT = 3;
RAGAI.quiz.LOADING_MSG = "Dein Quiz wird erstellt...";
RAGAI.quiz.ADDITIONAL_PROMPT_INFO = "Erstelle die Fragen auf Deutsch und im Multiple-Choice-Format.";
RAGAI.quiz.BUTTON_CLASS = "quiz-button";
Methoden
startFromText(source)
Startet ein Quiz basierend auf einem Quelltext. Die Fragen werden automatisch mithilfe von KI generiert.
Parameter:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
source | string | Ja | Der Text, aus dem Quizfragen generiert werden |
Rückgabe: Promise<void>
const lerntext = "Die Photosynthese ist ein Prozess, bei dem Pflanzen Lichtenergie in chemische Energie umwandeln...";
await RAGAI.quiz.startFromText(lerntext);
nextQuestion()
Zeigt die nächste Frage des laufenden Quizzes an.
Rückgabe: Promise<void>
await RAGAI.quiz.nextQuestion();
end() / endQuiz()
Beendet das laufende Quiz und zeigt das Ergebnis an.
RAGAI.quiz.end();
// oder
RAGAI.quiz.endQuiz();
cleanupQuiz()
Räumt alle Quiz-Daten auf und setzt den Zustand zurück. Verwende diese Methode, wenn du ein neues Quiz starten möchtest.
RAGAI.quiz.cleanupQuiz();
debug(eventData?)
Startet das Quiz im Debug-Modus. Nützlich für die Entwicklung und Fehlersuche.
Parameter:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
eventData | any | Nein | Optionale Event-Daten für den Debug-Modus |
Rückgabe: Promise<void>
await RAGAI.quiz.debug();
getQuestionsFromText(text)
Generiert Quizfragen aus einem Text, ohne das Quiz zu starten. Nützlich, wenn du die Fragen vorab prüfen oder anpassen möchtest.
Parameter:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
text | string | Ja | Der Quelltext für die Fragengenerierung |
Rückgabe: Promise<string> – Die generierten Fragen.
const fragen = await RAGAI.quiz.getQuestionsFromText(
"Der Zweite Weltkrieg begann 1939 und endete 1945..."
);
console.log(fragen);
showAnswerOptions(currentQuestion)
Zeigt die Antwortoptionen für eine bestimmte Frage an.
Parameter:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
currentQuestion | QuizQuestion | Ja | Das Frage-Objekt mit Antwortoptionen |
Rückgabe: Promise<void>
const aktFrage = RAGAI.quiz.QUESTIONS_UPCOMMING[0];
await RAGAI.quiz.showAnswerOptions(aktFrage);
Vollständiges Beispiel
async function quizStarten(lerntext) {
// 1. Quiz konfigurieren
RAGAI.quiz.CONF_QUESTIONS_COUNT = 5;
RAGAI.quiz.CONF_WRONG_ANSWER_COUNT = 3;
RAGAI.quiz.LOADING_MSG = "Dein Quiz wird vorbereitet...";
RAGAI.quiz.ADDITIONAL_PROMPT_INFO = "Formuliere die Fragen verständlich und auf Deutsch.";
// 2. Quiz starten
await RAGAI.quiz.startFromText(lerntext);
RAGAI.MSG.botMessage(
"Quiz gestartet! Es warten " + RAGAI.quiz.QUESTIONS_UPCOMMING.length + " Fragen auf dich."
);
}
function quizStatusAnzeigen() {
if (!RAGAI.quiz.IS_RUNNING) {
RAGAI.MSG.botMessage("Es läuft gerade kein Quiz.");
return;
}
const richtig = RAGAI.quiz.RIGHT_ANSWERS;
const falsch = RAGAI.quiz.WRONG_ANSWERS;
const aktuell = RAGAI.quiz.CURRENT_QUESTION_NUMBER;
RAGAI.MSG.botMessage(
"Frage " + aktuell + ": " + richtig + " richtig, " + falsch + " falsch."
);
}
function quizBeenden() {
RAGAI.quiz.endQuiz();
RAGAI.quiz.cleanupQuiz();
RAGAI.MSG.botMessage("Das Quiz wurde beendet und zurückgesetzt.");
}