import os import streamlit as st import google.generativeai as genai # Gemini API 설정 genai.configure(api_key=os.environ["GEMINI_API_KEY"]) # 모델 설정 generation_config = { "temperature": 1, "top_p": 0.95, "top_k": 40, "max_output_tokens": 8192, "response_mime_type": "text/plain", } model = genai.GenerativeModel( model_name="gemini-2.5-flash", generation_config=generation_config, ) def generate_questions(context): """ 학습 주제, 내용, 성취 기준을 포함한 문맥을 입력받아 질문을 생성하는 함수 """ prompt = f"""질문 수업 전문가, 학습 내용이나 목표를 입력하면 아래와 같은 유형의 질문을 각 10개 이상씩 만들어줘, 질문의 수준은 초등학교 교육과정 범위 내에서 작성하도록 해. ## 질문 유형 **1. 바탕 질문(사실적 질문)**: * 정보를 기억하고 떠올리는 능력을 평가합니다. * 명확한 답변이 존재하고, 교과서나 자료에서 직접 찾을 수 있는 정보를 묻습니다. **2. 궁금 질문(해석적 질문)**: * 정보를 분석하고 이해하는 능력을 평가합니다. * 단순히 정보를 기억하는 것을 넘어, 정보 간의 관계를 파악하고 의미를 해석하는 능력을 요구합니다. **3. 새롬 질문(적용적 질문)**: * 정보를 활용하여 문제를 해결하고 새로운 상황에 적용하는 능력을 평가합니다. * 새로운 상황이나 문제에 답변을 적용하고, 창의적인 해결책을 제시하도록 요구합니다. input: {context} output: """ response = model.generate_content([prompt]) return response.text # Streamlit 앱 제목 st.title("🧠 바탕 질문, 궁금 질문, 새롬 질문") st.write("학습 정보를 입력하면 바탕 질문(사실적 질문), 궁금 질문(해석적 질문), 새롬 질문(적용적 질문)을 생성해줍니다.") # 입력 텍스트 박스 context = st.text_area( "학습 주제, 내용, 성취 기준을 자유롭게 입력하세요.", height=70 ) # 질문 생성 버튼 if st.button("질문 생성"): # 질문 생성 함수 호출 questions = generate_questions(context) # 생성된 질문 출력 st.text_area("생성된 질문", questions, height=400)