diff --git a/app.py b/app.py index 1f4573d..133e5ff 100644 --- a/app.py +++ b/app.py @@ -143,10 +143,13 @@ st.session_state.user_answers = {} # Générer de nouvelles questions + liste_choix = ["Automatique"] + list(range(1, 101, 1)) + nbquestions = st.select_slider("Nombre de questions à générer", liste_choix) + st.info(f"Nombre de questions qui seront générées : {nbquestions}") if st.button("Générer des questions"): try: with st.spinner("Génération des questions en cours..."): - new_questions = generate_questions(selected_note, note_content) + new_questions = generate_questions(selected_note, note_content, nbquestions) if new_questions: with open(json_file_path, "w") as file: @@ -172,6 +175,7 @@ user_answer = st.text_area( "Votre réponse", key=answer_key, + placeholder="Entrez une réponse", height=100 ) st.session_state.user_answers[answer_key] = user_answer diff --git a/utils/question_generator.py b/utils/question_generator.py index 0083c81..f6f4248 100644 --- a/utils/question_generator.py +++ b/utils/question_generator.py @@ -19,17 +19,28 @@ api_key=api_key, ) -def generate_questions(note_title, note_content): +def generate_questions(note_title, note_content, nbquestions="Automatique"): """ Génère des questions à partir du contenu des notes en utilisant l'API DeepSeek. :param note_title: Titre de la note :param note_content: Contenu de la note + :param nbquestions: Nombre de question à générer :return: Une liste de questions générées """ try: - prompt = ( + if nbquestions == "Automatique": + prompt = ( + f"À partir de ce texte, crée des questions relativement ouvertes qui permettent l'apprentissage actif. " + f"Tu choisiras un nombre de questions adéquat en fonction de la longueur du texte.\n" + f"Pour chaque question, retourne un JSON avec deux clés : " + f"'text' pour la question et 'reponse' pour la réponse correcte.\n" + f"Texte : {note_content}\n" + f"Retourne uniquement du JSON, rien d'autre." + ) + else: + prompt = ( f"À partir de ce texte, crée des questions relativement ouvertes qui permettent l'apprentissage actif. " - f"Tu choisiras un nombre de questions adéquat en fonction de la longueur du texte.\n" + f"Tu génèreras exactement {nbquestions} questions de difficultés diverses, par rapport au nombre.\n" f"Pour chaque question, retourne un JSON avec deux clés : " f"'text' pour la question et 'reponse' pour la réponse correcte.\n" f"Texte : {note_content}\n"