File size: 2,337 Bytes
1d355ad 5829c7a 22032f3 1d355ad 5829c7a 22032f3 5829c7a fabb74d 5829c7a 452a07e 5829c7a fabb74d 9d13166 5829c7a fabb74d 7e18433 5829c7a 2adf6be 5829c7a f1863a3 5829c7a c7ae166 39688bd 03d0703 5829c7a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
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) |