Update app.py
Browse files
app.py
CHANGED
|
@@ -24,44 +24,43 @@ model = genai.GenerativeModel(
|
|
| 24 |
# 프롬프트 설정
|
| 25 |
SYSTEM_PROMPT = """
|
| 26 |
당신은 교수학습 활동 설계 전문가, 교과교육 내용 전문가, 교육공학자입니다.
|
| 27 |
-
선생님들이
|
| 28 |
-
다음은 활동 설계에 필요한 정보입니다.
|
| 29 |
|
| 30 |
-
**활동 구성 요소:**
|
| 31 |
-
1.
|
| 32 |
-
2.
|
| 33 |
-
3. 활동
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
7. 학생에게 제공할 활동 안내 자료
|
| 46 |
* 활동 안내 자료는 초등학생이 이해할 수 있도록 최대한 구체적이고, 단계적, 명시적으로 안내해주세요.
|
| 47 |
"""
|
| 48 |
|
| 49 |
-
def
|
| 50 |
"""
|
| 51 |
-
|
| 52 |
-
아웃풋을 실시간으로 출력합니다.
|
| 53 |
|
| 54 |
Args:
|
| 55 |
-
|
|
|
|
| 56 |
|
| 57 |
Returns:
|
| 58 |
-
str: 생성된 활동
|
| 59 |
"""
|
| 60 |
|
| 61 |
prompt = [
|
| 62 |
SYSTEM_PROMPT,
|
| 63 |
-
f"
|
| 64 |
-
"
|
|
|
|
| 65 |
]
|
| 66 |
|
| 67 |
response = model.generate_content(prompt, stream=True)
|
|
@@ -69,18 +68,47 @@ def generate_curriculum(achievement_standard):
|
|
| 69 |
for token in response:
|
| 70 |
chunk = token.text
|
| 71 |
collected_text += chunk
|
| 72 |
-
yield collected_text
|
| 73 |
-
time.sleep(0.03)
|
| 74 |
|
| 75 |
-
# Gradio 인터페이스 설정
|
| 76 |
iface = gr.Interface(
|
| 77 |
-
fn=
|
| 78 |
-
inputs=
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 82 |
examples=[
|
| 83 |
-
["
|
|
|
|
| 84 |
]
|
| 85 |
)
|
| 86 |
|
|
|
|
| 24 |
# 프롬프트 설정
|
| 25 |
SYSTEM_PROMPT = """
|
| 26 |
당신은 교수학습 활동 설계 전문가, 교과교육 내용 전문가, 교육공학자입니다.
|
| 27 |
+
선생님들이 학습 주제와 사고 루틴을 입력하면, 해당 주제에 적용 가능한 사고 루틴 활동 예시를 상세하게 설명해주세요.
|
|
|
|
| 28 |
|
| 29 |
+
**활동 예시 구성 요소:**
|
| 30 |
+
1. 학습 주제
|
| 31 |
+
2. 적용할 사고 루틴
|
| 32 |
+
3. 활동 목표
|
| 33 |
+
4. 활동 단계별 안내
|
| 34 |
+
- 각 단계별로 사고 루틴을 어떻게 활용하는지 자세하게 설명
|
| 35 |
+
- 예시 질문 포함
|
| 36 |
+
5. 활동 준비물 및 기구
|
| 37 |
+
6. 활동을 위한 자료
|
| 38 |
+
- 활동에 필요한 자료
|
| 39 |
+
- 추가 추천 자료
|
| 40 |
+
7. 활동의 유의점
|
| 41 |
+
- 학생 입장 유의점
|
| 42 |
+
- 교사 입장 유의점
|
| 43 |
+
8. 학생에게 제공할 활동 안내 자료
|
|
|
|
| 44 |
* 활동 안내 자료는 초등학생이 이해할 수 있도록 최대한 구체적이고, 단계적, 명시적으로 안내해주세요.
|
| 45 |
"""
|
| 46 |
|
| 47 |
+
def generate_thinking_routine_example(topic, thinking_routine):
|
| 48 |
"""
|
| 49 |
+
학습 주제와 사고 루틴을 입력받아 활동 예시를 생성합니다.
|
|
|
|
| 50 |
|
| 51 |
Args:
|
| 52 |
+
topic (str): 학습 주제
|
| 53 |
+
thinking_routine (str): 적용할 사고 루틴
|
| 54 |
|
| 55 |
Returns:
|
| 56 |
+
str: 생성된 활동 예시
|
| 57 |
"""
|
| 58 |
|
| 59 |
prompt = [
|
| 60 |
SYSTEM_PROMPT,
|
| 61 |
+
f"**학습 주제:** {topic}",
|
| 62 |
+
f"**적용할 사고 루틴:** {thinking_routine}",
|
| 63 |
+
"**활동 예시:**",
|
| 64 |
]
|
| 65 |
|
| 66 |
response = model.generate_content(prompt, stream=True)
|
|
|
|
| 68 |
for token in response:
|
| 69 |
chunk = token.text
|
| 70 |
collected_text += chunk
|
| 71 |
+
yield collected_text
|
| 72 |
+
time.sleep(0.03)
|
| 73 |
|
| 74 |
+
# Gradio 인터페이스 설정 - 드롭다운 메뉴 추가
|
| 75 |
iface = gr.Interface(
|
| 76 |
+
fn=generate_thinking_routine_example,
|
| 77 |
+
inputs=[
|
| 78 |
+
gr.Textbox(lines=2, label="학습 주제 입력"),
|
| 79 |
+
gr.Dropdown(
|
| 80 |
+
choices=[
|
| 81 |
+
"See-Think-Wonder",
|
| 82 |
+
"Zoom In",
|
| 83 |
+
"Think-Puzzle-Explore",
|
| 84 |
+
"Chalk Talk",
|
| 85 |
+
"321 Bridge",
|
| 86 |
+
"Compass Points",
|
| 87 |
+
"Explanation Game",
|
| 88 |
+
"Headlines",
|
| 89 |
+
"CSI: Color, Symbol, Image",
|
| 90 |
+
"Generate-Sort-Connect-Elaborate-Concept Maps",
|
| 91 |
+
"Connect-Extend-Challenge",
|
| 92 |
+
"The 4 C's",
|
| 93 |
+
"Micro Lab",
|
| 94 |
+
"I used to think…Now I think…",
|
| 95 |
+
"What makes you say that?",
|
| 96 |
+
"Circle Viewpoints",
|
| 97 |
+
"Step Inside",
|
| 98 |
+
"Red Light, Yellow Light",
|
| 99 |
+
"Claim Support Question",
|
| 100 |
+
"Tug of War",
|
| 101 |
+
"Word-Phrase-Sentence"
|
| 102 |
+
],
|
| 103 |
+
label="사고 루틴 선택"
|
| 104 |
+
),
|
| 105 |
+
],
|
| 106 |
+
outputs=gr.Textbox(lines=15, label="사고 루틴 활용 예시"),
|
| 107 |
+
title="학습 활동 설계 도우미: 사고 루틴 활용 편",
|
| 108 |
+
description="선생님이 학습 주제와 사고 루틴을 선택하시면, 해당 주제에 적용 가능한 사고 루틴 활동 예시를 보여줍니다.",
|
| 109 |
examples=[
|
| 110 |
+
["광합성", "See-Think-Wonder"],
|
| 111 |
+
["조선 시대의 과학 기술", "Think-Puzzle-Explore"],
|
| 112 |
]
|
| 113 |
)
|
| 114 |
|