a
    Oh                     @   s   d dl Z d dlmZ G dd dZedkre ZdZed ejedd	d
Z	e	rXee	 ed ejeddd
Z
e
r|ee
 ed ejeddd
Zeree dS )    N)OpenAIc                   @   s    e Zd ZdddZd	ddZdS )
QuestionGeneratorNc                 C   s4   |d u rt jd}|d u r$tdt|d| _d S )NZOPENAI_API_KEYzMOpenAI API key not found. Please set the OPENAI_API_KEY environment variable.)api_key)osenvironget
ValueErrorr   client)selfr    r   8/var/www/html/moodle/api/manu/src/question_generation.py__init__   s
    zQuestionGenerator.__init__multiple_choicemediumc                 C   s   d| d| d| d| d| d}z@| j jjjddd	d
d|d
gddidd}|jd jj}|W S  ty } ztd|  W Y d }~d S d }~0 0 d S )Nz>
        Basado en el siguiente texto, genera una pregunta de z con dificultad u   .
        Si es de opción múltiple, incluye 4 opciones, una correcta y 3 distractores plausibles. Indica la respuesta correcta.
        Si es de verdadero/falso, indica la respuesta correcta.

        Texto:
        zi

        Formato de salida (JSON):
        {
            "question": "[Pregunta]",
            "type": "z",
            "difficulty": "z",
            "options": ["[Opcion A]", "[Opcion B]", "[Opcion C]", "[Opcion D]"] (solo para multiple_choice),
            "correct_answer": "[Respuesta Correcta]"
        }
        zgpt-4.1-minisystemuB   Eres un asistente experto en la creación de preguntas educativas.)ZrolecontentusertypeZjson_objectgffffff?)modelmessagesZresponse_formatZtemperaturer   zError generating question: )	r	   ZchatZcompletionscreatechoicesmessager   	Exceptionprint)r
   text_contentquestion_type
difficultypromptresponsequestion_dataer   r   r   generate_question   s2    
	z#QuestionGenerator.generate_question)N)r   r   )__name__
__module____qualname__r   r"   r   r   r   r   r      s   
r   __main__u>  
    La fotosíntesis es un proceso bioquímico que realizan las plantas, las algas y algunas bacterias para convertir la energía de la luz solar en energía química. Este proceso es fundamental para la vida en la Tierra, ya que produce oxígeno y compuestos orgánicos que son la base de la cadena alimentaria.
    u0   
--- Generando pregunta de opción múltiple ---r   r   )r   r   z.
--- Generando pregunta de verdadero/falso ---Z
true_falseZeasyu;   
--- Generando pregunta de opción múltiple (difícil) ---Zhard)r   Zopenair   r   r#   	generatorZsample_textr   r"   Zmc_questionZtf_questionZhard_mc_questionr   r   r   r   <module>   s"   +