
    h                        d dl Z d dlmZ  G d d          Zedk    r e            ZdZ ed           e                    edd	
          Z	e	r ee	            ed           e                    edd
          Z
e
r ee
            ed           e                    edd
          Zer ee           dS dS dS )    N)OpenAIc                       e Zd ZddZddZdS )QuestionGeneratorNc                     |t           j                            d          }|t          d          t	          |          | _        d S )NOPENAI_API_KEYzMOpenAI API key not found. Please set the OPENAI_API_KEY environment variable.)api_key)osenvironget
ValueErrorr   client)selfr   s     '/home/ubuntu/src/question_generation.py__init__zQuestionGenerator.__init__   sL     	7jnn%566G 	nlmmmW---    multiple_choicemediumc                    d| d| d| d| d| d}	 | j         j        j                            ddd	d
d|d
gddid          }|j        d         j        j        }|S # t          $ r}t          d|            Y d }~d S d }~ww xY w)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.)rolecontentusertypejson_objectgffffff?)modelmessagesresponse_formattemperaturer   zError generating question: )	r   chatcompletionscreatechoicesmessager   	Exceptionprint)r   text_contentquestion_type
difficultypromptresponsequestion_dataes           r   generate_questionz#QuestionGenerator.generate_question   s   >K ]g  
  $  '  $	{'3::$%2vww#77 #)- 9 ;  H %,Q/7?M   	 	 	33344444444	s   A
A 
B)BB)N)r   r   )__name__
__module____qualname__r   r-    r   r   r   r      s<        . . . .! ! ! ! ! !r   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 ---
true_falseeasyu;   
--- Generando pregunta de opción múltiple (difícil) ---hard)r	   openair   r   r.   	generatorsample_textr%   r-   mc_questiontf_questionhard_mc_questionr1   r   r   <module>r<      sY   				      ) ) ) ) ) ) ) )V z  !!##IK 
E
=>>>--kIZgo-ppK k	E
;<<<--kbh-iiK k	E
HIII 22;N_lr2ss  )   &   r   