File size: 12,472 Bytes
829f184
22a5c64
829f184
22a5c64
cc9698d
829f184
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
768f592
829f184
 
 
 
768f592
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
829f184
 
 
 
 
 
 
 
 
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
import streamlit as st
import openai 
import json
from annotated_text import annotated_text 
import os

# OpenAI API μ„€μ • (ν™˜κ²½ λ³€μˆ˜μ—μ„œ μ½μ–΄μ˜΄)
openai.api_key = os.getenv("OPENAI_API_KEY")  

#gptμ΄μš©ν•΄μ„œ μΆ”λ‘ ν•¨μˆ˜ λ§Œλ“€κΈ°
def generate_annotated_text(text):
    response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo-16k",
    messages=[
        {
        "role": "system",
        "content": "μ„±μ·¨κΈ°μ€€ 기반 ν•™μƒμ˜ νŠΉμ„± 및 ν™œλ™ 평가 생성\n성취기쀀을 μž…λ ₯ν•˜μ‹œλ©΄, ν•΄λ‹Ή 성취기쀀에 κΈ°λ°˜ν•œ ν•™μƒμ˜ νŠΉμ„± 및 ν™œλ™μ— λŒ€ν•œ 평가λ₯Ό annotated_text ν˜•μ‹μœΌλ‘œ μ œκ³΅ν•©λ‹ˆλ‹€. 성취기쀀을 보며 ν•™μƒμ˜ νŠΉμ • ν™œλ™, μ„±μ·¨ μˆ˜μ€€, κ΅μ‚¬μ˜ 총평, 그리고 ν•™μƒμ˜ μ—­λŸ‰μ„ κ³ λ €ν•˜μ—¬ μ²΄κ³„μ μœΌλ‘œ κ΅¬μ„±λœ 좜λ ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. μ£Όμ–΄λŠ” λ°˜λ“œμ‹œ μƒλž΅ν•©λ‹ˆλ‹€. \n\n예제:\nμž…λ ₯: ```μ„±μ·¨κΈ°μ€€: [6κ΅­01-07]μƒλŒ€κ°€ μ²˜ν•œ 상황을 μ΄ν•΄ν•˜κ³  κ³΅κ°ν•˜λ©° λ“£λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€, [6κ΅­01-02] μ˜κ²¬μ„ μ œμ‹œν•˜κ³  ν•¨κ»˜ μ‘°μ •ν•˜λ©° ν† μ˜ν•œλ‹€.```\n좜λ ₯: ```annotated_text(\n    (\"ν‰μ†Œ μžμ‹ μ˜ 생각을 일λͺ©μš”μ—°ν•˜κ²Œ μ •λ¦¬ν•˜λŠ” μŠ΅κ΄€μ΄ 있음.\", \"μ—­λŸ‰\", \"rgba(255, 0, 0, 0.3)\"),\n    (\"μ‚¬νšŒ ν˜„μ•ˆμ— κ΄€ν•œ μ£Όμž₯ν•˜λŠ” κΈ€μ“°κΈ°λ₯Ό μž˜ν•¨.\", \"μ„±μ·¨μˆ˜μ€€\", \"rgba(0, 0, 255, 0.3)\"),\n    (\"친ꡬ의 고민을 ν•΄κ²°ν•΄μ£ΌλŠ” μ—­ν• κ·Ήμ—μ„œ μƒλŒ€λ°©μ„ λ°°λ €ν•˜μ—¬ ν•΄κ²° κ°€λŠ₯ν•œ λ°©μ•ˆμ„ μ œμ•ˆν•¨.\", \"μˆ˜ν–‰\", \"rgba(0, 128, 0, 0.3)\"),\n    (\"μƒλŒ€κ°€ μ²˜ν•œ 상황을 μ΄ν•΄ν•˜κ³  κ³΅κ°ν•˜λŠ” νƒœλ„λ₯Ό 가지고 μΉœκ΅¬λ“€κ³Ό μ›λ§Œν•œ 관계λ₯Ό λ§Ίκ³  κ°ˆλ“±μ„ 쑰정함.\", \"ꡐ사총평\", \"rgba(128, 128, 128, 0.3)\"),\n    (\"쀑간 놀이 μ‹œκ°„μ— μš΄λ™μž₯을 μ‚¬μš©ν•˜λŠ” 방법 μ •ν•˜κΈ°λ₯Ό 주제둜 ν•œ ν† μ˜μ—μ„œ μ•Œλ§žμ€ 근거와 λ’·λ°›μΉ¨ν•  수 μžˆλŠ” 자료λ₯Ό ν† λŒ€λ‘œ μžμ‹ μ˜ μ˜κ²¬μ„ νƒ€λ‹Ήν•˜κ²Œ μ œμ‹œν•˜λ©΄μ„œ λ‹€λ₯Έ μ‚¬λžŒμ˜ μ˜κ²¬μ„ λŠ₯λ™μ μœΌλ‘œ μˆ˜μš©ν•˜κ³  효과적으둜 μ˜κ²¬μ„ μ‘°μ •ν•˜λŠ” λŠ₯λ ₯을 λ³΄μž„.\", \"μˆ˜ν–‰\", \"rgba(0, 128, 0, 0.3)\"),\n    (\"μƒλŒ€μ˜ μ˜κ²¬μ„ μ‘΄μ€‘ν•˜κ³  ν˜‘λ ₯ν•˜λŠ” νƒœλ„λ₯Ό λ³΄μž„.\", \"μ—­λŸ‰\", \"rgba(255, 0, 0, 0.3)\")\n)\n```"
        },
        {
        "role": "user",
        "content": "[6κ΅­01-02]μ˜κ²¬μ„ μ œμ‹œν•˜κ³  ν•¨κ»˜ μ‘°μ •ν•˜λ©° ν† μ˜ν•œλ‹€."
        },
        {
        "role": "assistant",
        "content": "```annotated_text(\n    (\"ν† λ‘ μ΄λ‚˜ ν† μ˜ ν™œλ™μ— 적극적으둜 μ°Έμ—¬ν•˜λ©° μžμ‹ μ˜ μ˜κ²¬μ„ λ…Όλ¦¬μ μœΌλ‘œ 잘 μ œμ‹œν•¨.\", \"μ„±μ·¨μˆ˜μ€€\", \"rgba(0, 0, 255, 0.3)\"),\n    (\"νŒ€ ν”„λ‘œμ νŠΈμ—μ„œ λ‹€λ₯Έ νŒ€μ›λ“€μ˜ μ˜κ²¬μ„ μ‘΄μ€‘ν•˜κ³  κ³΅λ™μ˜ λͺ©ν‘œλ₯Ό μœ„ν•΄ μ˜κ²¬μ„ 잘 μ‘°μ •ν•˜λŠ” λŠ₯λ ₯을 보여 μ£Όμ—ˆμŒ.\", \"μˆ˜ν–‰\", \"rgba(0, 128, 0, 0.3)\"),\n    (\"μžμ‹ μ˜ 생각과 μ˜κ²¬μ„ 효과적으둜 λΆ„λͺ…ν•˜κ²Œ ν‘œν˜„ν•˜λŠ”λ° 어렀움이 μ—†λŠ” κ²ƒμœΌλ‘œ λ³΄μž„.\", \"μ—­λŸ‰\", \"rgba(255, 0, 0, 0.3)\"),\n    (\"학생은 μ„ μ˜μ˜ μΆ©λŒμ„ 톡해 μ„±μž₯ν•˜κ³  있으며, 이λ₯Ό 톡해 배렀와 ν˜‘λ ₯에 λŒ€ν•œ μ€‘μš”μ„±μ„ μΈμ§€ν•˜κ³  있음.\", \"ꡐ사총평\", \"rgba(128, 128, 128, 0.3)\")\n)\n```"
        }
    ],
    temperature=1,
    max_tokens=4308,
    top_p=1,
    frequency_penalty=0,
    presence_penalty=0
    )
    return response['choices'][0]['message']['content']


    
# Streamlit μ•±μ˜ 제λͺ© 및 μ„€λͺ…
st.title("μ„±μ·¨κΈ°μ€€ 기반 ν•™μƒμ˜ νŠΉμ„± 및 ν™œλ™ 평가 생성")
st.write("성취기쀀을 μž…λ ₯ν•˜μ‹œλ©΄, ν•΄λ‹Ή 성취기쀀에 κΈ°λ°˜ν•œ ν•™μƒμ˜ νŠΉμ„± 및 ν™œλ™μ— λŒ€ν•œ 평가λ₯Ό \n\n [학생 ν™œλ™, μ„±μ·¨ μˆ˜μ€€, κ΅μ‚¬μ˜ 총평, 학생 μ—­λŸ‰] 4가지 μš”μ†Œλ₯Ό μ‘°ν•©ν•˜μ—¬ μ œκ³΅ν•©λ‹ˆλ‹€.")

achievement_standards = {
    "1~2ν•™λ…„κ΅°": [
        "[2κ΅­01-01] 상황에 μ–΄μšΈλ¦¬λŠ” 인사말을 μ£Όκ³ λ°›λŠ”λ‹€.",
        "[2κ΅­01-02] 일이 μΌμ–΄λ‚œ μˆœμ„œλ₯Ό κ³ λ €ν•˜λ©° λ“£κ³  λ§ν•œλ‹€.",
        "[2κ΅­01-01] 상황에 μ–΄μšΈλ¦¬λŠ” 인사말을 μ£Όκ³ λ°›λŠ”λ‹€.",
        "[2κ΅­01-02] 일이 μΌμ–΄λ‚œ μˆœμ„œλ₯Ό κ³ λ €ν•˜λ©° λ“£κ³  λ§ν•œλ‹€.",
        "[2κ΅­01-03] μžμ‹ μ˜ 감정을 ν‘œν˜„ν•˜λ©° λŒ€ν™”λ₯Ό λ‚˜λˆˆλ‹€.",
        "[2κ΅­01-04] λ“£λŠ” 이λ₯Ό 바라보며 λ°”λ₯Έ μžμ„Έλ‘œ μžμ‹  있게 λ§ν•œλ‹€.",
        "[2κ΅­01-05] λ§ν•˜λŠ” 이와 말의 λ‚΄μš©μ— μ§‘μ€‘ν•˜λ©° λ“£λŠ”λ‹€.",
        "[2κ΅­01-06] λ°”λ₯΄κ³  고운 말을 μ‚¬μš©ν•˜μ—¬ λ§ν•˜λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[2κ΅­02-01] κΈ€μž, 낱말, λ¬Έμž₯을 μ†Œλ¦¬ λ‚΄μ–΄ μ½λŠ”λ‹€.",
        "[2κ΅­02-02] λ¬Έμž₯κ³Ό 글을 μ•Œλ§žκ²Œ 띄어 μ½λŠ”λ‹€.",
        "[2κ΅­02-03] 글을 읽고 μ£Όμš” λ‚΄μš©μ„ ν™•μΈν•œλ‹€.",
        "[2κ΅­02-04] 글을 읽고 인물의 μ²˜μ§€μ™€ λ§ˆμŒμ„ μ§μž‘ν•œλ‹€.",
        "[2κ΅­02-05] 읽기에 ν₯λ―Έλ₯Ό 가지고 즐겨 μ½λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[2κ΅­03-01] κΈ€μžλ₯Ό λ°”λ₯΄κ²Œ μ“΄λ‹€.",
        "[2κ΅­03-02] μžμ‹ μ˜ 생각을 λ¬Έμž₯으둜 ν‘œν˜„ν•œλ‹€.",
        "[2κ΅­03-03] μ£Όλ³€μ˜ μ‚¬λžŒμ΄λ‚˜ 사물에 λŒ€ν•΄ 짧은 글을 μ“΄λ‹€.",
        "[2κ΅­03-04] 인상 κΉŠμ—ˆλ˜ μΌμ΄λ‚˜ κ²ͺ은 일에 λŒ€ν•œ μƒκ°μ΄λ‚˜ λŠλ‚Œμ„ μ“΄λ‹€.",
        "[2κ΅­03-05] 쓰기에 ν₯λ―Έλ₯Ό 가지고 즐겨 μ“°λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[2κ΅­04-01] ν•œκΈ€ 자λͺ¨μ˜ 이름과 μ†Œλ¦Ώκ°’μ„ μ•Œκ³  μ •ν™•ν•˜κ²Œ λ°œμŒν•˜κ³  μ“΄λ‹€.",
        "[2κ΅­04-02] μ†Œλ¦¬μ™€ ν‘œκΈ°κ°€ λ‹€λ₯Ό 수 μžˆμŒμ„ μ•Œκ³  낱말을 λ°”λ₯΄κ²Œ 읽고 μ“΄λ‹€.",
        "[2κ΅­04-03] λ¬Έμž₯에 따라 μ•Œλ§žμ€ λ¬Έμž₯ λΆ€ν˜Έλ₯Ό μ‚¬μš©ν•œλ‹€.",
        "[2κ΅­04-04] κΈ€μž, 낱말, λ¬Έμž₯을 관심 있게 μ‚΄νŽ΄λ³΄κ³  ν₯λ―Έλ₯Ό 가진닀.",
        "[2κ΅­05-01] λŠλ‚Œκ³Ό λΆ„μœ„κΈ°λ₯Ό μ‚΄λ € κ·Έλ¦Όμ±…, μ‹œλ‚˜ λ…Έλž˜, 짧은 이야기λ₯Ό λ“€λ €μ£Όκ±°λ‚˜ λ“£λŠ”λ‹€.",
        "[2κ΅­05-02] 인물의 λͺ¨μŠ΅, 행동, λ§ˆμŒμ„ μƒμƒν•˜λ©° κ·Έλ¦Όμ±…, μ‹œλ‚˜ λ…Έλž˜, 이야기λ₯Ό κ°μƒν•œλ‹€.",
        "[2κ΅­05-03] μ—¬λŸ¬ 가지 말놀이λ₯Ό 톡해 말의 재미λ₯Ό λŠλ‚€λ‹€.",
        "[2κ΅­05-04] μžμ‹ μ˜ μƒκ°μ΄λ‚˜ κ²ͺ은 일을 μ‹œλ‚˜ λ…Έλž˜, 이야기 λ“±μœΌλ‘œ ν‘œν˜„ν•œλ‹€.",
        "[2κ΅­05-05] μ‹œλ‚˜ λ…Έλž˜, 이야기에 ν₯λ―Έλ₯Ό 가진닀.",
    ],
    "3~4ν•™λ…„κ΅°": [
        "[4κ΅­01-01] λŒ€ν™”μ˜ 즐거움을 μ•Œκ³  λŒ€ν™”λ₯Ό λ‚˜λˆˆλ‹€.",
        "[4κ΅­01-02] νšŒμ˜μ—μ„œ μ˜κ²¬μ„ 적극적으둜 κ΅ν™˜ν•œλ‹€.",
        "[4κ΅­01-03] 원인과 결과의 관계λ₯Ό κ³ λ €ν•˜λ©° λ“£κ³  λ§ν•œλ‹€.",
        "[4κ΅­01-04] μ μ ˆν•œ ν‘œμ •, λͺΈμ§“, 말투둜 λ§ν•œλ‹€.",
        "[4κ΅­01-05] λ‚΄μš©μ„ μš”μ•½ν•˜λ©° λ“£λŠ”λ‹€.",
        "[4κ΅­01-06] 예의λ₯Ό 지킀며 λ“£κ³  λ§ν•˜λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[4κ΅­02-01] 문단과 κΈ€μ˜ 쀑심 생각을 νŒŒμ•…ν•œλ‹€.",
        "[4κ΅­02-02] κΈ€μ˜ μœ ν˜•μ„ κ³ λ €ν•˜μ—¬ λŒ€κ°•μ˜ λ‚΄μš©μ„ κ°„μΆ”λ¦°λ‹€.",
        "[4κ΅­02-03] κΈ€μ—μ„œ λ‚±λ§μ˜ μ˜λ―Έλ‚˜ μƒλž΅λœ λ‚΄μš©μ„ μ§μž‘ν•œλ‹€.",
        "[4κ΅­02-04] 글을 읽고 사싀과 μ˜κ²¬μ„ κ΅¬λ³„ν•œλ‹€.",
        "[4κ΅­02-05] 읽기 κ²½ν—˜κ³Ό λŠλ‚Œμ„ λ‹€λ₯Έ μ‚¬λžŒκ³Ό λ‚˜λˆ„λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[4κ΅­03-01] 쀑심 λ¬Έμž₯κ³Ό λ’·λ°›μΉ¨ λ¬Έμž₯을 κ°–μΆ”μ–΄ 문단을 μ“΄λ‹€.",
        "[4κ΅­03-02] μ‹œκ°„μ˜ 흐름에 따라 μ‚¬κ±΄μ΄λ‚˜ 행동이 λ“œλŸ¬λ‚˜κ²Œ 글을 μ“΄λ‹€.",
        "[4κ΅­03-03] 관심 μžˆλŠ” μ£Όμ œμ— λŒ€ν•΄ μžμ‹ μ˜ 의견이 λ“œλŸ¬λ‚˜κ²Œ 글을 μ“΄λ‹€.",
        "[4κ΅­03-04] μ½λŠ” 이λ₯Ό κ³ λ €ν•˜λ©° μžμ‹ μ˜ λ§ˆμŒμ„ ν‘œν˜„ν•˜λŠ” 글을 μ“΄λ‹€.",
        "[4κ΅­03-05] 쓰기에 μžμ‹ κ°μ„ κ°–κ³  μžμ‹ μ˜ 글을 적극적으둜 λ‚˜λˆ„λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[4κ΅­04-01] 낱말을 λΆ„λ₯˜ν•˜κ³  κ΅­μ–΄μ‚¬μ „μ—μ„œ μ°ΎλŠ”λ‹€.",
        "[4κ΅­04-02] 낱말과 λ‚±λ§μ˜ 의미 관계λ₯Ό νŒŒμ•…ν•œλ‹€.",
        "[4κ΅­04-03] 기본적인 λ¬Έμž₯의 μ§œμž„μ„ μ΄ν•΄ν•˜κ³  μ‚¬μš©ν•œλ‹€.",
        "[4κ΅­04-04] λ†’μž„λ²•μ„ μ•Œκ³  μ–Έμ–΄ μ˜ˆμ ˆμ— 맞게 μ‚¬μš©ν•œλ‹€.",
        "[4κ΅­04-05] ν•œκΈ€μ„ μ†Œμ€‘νžˆ μ—¬κΈ°λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[4κ΅­05-01] μ‹œκ°μ΄λ‚˜ 청각 λ“± 감각적 ν‘œν˜„μ— μ£Όλͺ©ν•˜λ©° μž‘ν’ˆμ„ κ°μƒν•œλ‹€.",
        "[4κ΅­05-02] 인물, 사건, 배경에 μ£Όλͺ©ν•˜λ©° μž‘ν’ˆμ„ μ΄ν•΄ν•œλ‹€.",
        "[4κ΅­05-03] μ΄μ•ΌκΈ°μ˜ 흐름을 νŒŒμ•…ν•˜μ—¬ μ΄μ–΄μ§ˆ λ‚΄μš©μ„ μƒμƒν•˜κ³  ν‘œν˜„ν•œλ‹€.",
        "[4κ΅­05-04] μž‘ν’ˆμ„ λ“£κ±°λ‚˜ μ½κ±°λ‚˜ 보고 λ– μ˜€λ₯Έ λŠλ‚Œκ³Ό 생각을 λ‹€μ–‘ν•˜κ²Œ ν‘œν˜„ν•œλ‹€.",
        "[4κ΅­05-05] μž¬λ―Έλ‚˜ 감동을 느끼며 μž‘ν’ˆμ„ 즐겨 κ°μƒν•˜λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
    ],
    "5~6ν•™λ…„κ΅°": [
        "[6κ΅­01-01] ꡬ어 μ˜μ‚¬μ†Œν†΅μ˜ νŠΉμ„±μ„ λ°”νƒ•μœΌλ‘œ ν•˜μ—¬ λ“£κΈ°β€€λ§ν•˜κΈ° ν™œλ™μ„ ν•œλ‹€.",
        "[6κ΅­01-02] μ˜κ²¬μ„ μ œμ‹œν•˜κ³  ν•¨κ»˜ μ‘°μ •ν•˜λ©° ν† μ˜ν•œλ‹€.",
        "[6κ΅­01-03] μ ˆμ°¨μ™€ κ·œμΉ™μ„ 지킀고 κ·Όκ±°λ₯Ό μ œμ‹œν•˜λ©° ν† λ‘ ν•œλ‹€.",
        "[6κ΅­01-04] 자료λ₯Ό μ •λ¦¬ν•˜μ—¬ 말할 λ‚΄μš©μ„ μ²΄κ³„μ μœΌλ‘œ κ΅¬μ„±ν•œλ‹€.",
        "[6κ΅­01-05] 맀체 자료λ₯Ό ν™œμš©ν•˜μ—¬ λ‚΄μš©μ„ 효과적으둜 λ°œν‘œν•œλ‹€.",
        "[6κ΅­01-06] λ“œλŸ¬λ‚˜μ§€ μ•Šκ±°λ‚˜ μƒλž΅λœ λ‚΄μš©μ„ μΆ”λ‘ ν•˜λ©° λ“£λŠ”λ‹€.",
        "[6κ΅­01-07] μƒλŒ€κ°€ μ²˜ν•œ 상황을 μ΄ν•΄ν•˜κ³  κ³΅κ°ν•˜λ©° λ“£λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[6κ΅­02-01] μ½κΈ°λŠ” 배경지식을 ν™œμš©ν•˜μ—¬ 의미λ₯Ό κ΅¬μ„±ν•˜λŠ” κ³Όμ •μž„μ„ μ΄ν•΄ν•˜κ³  글을 μ½λŠ”λ‹€.",
        "[6κ΅­02-02] κΈ€μ˜ ꡬ쑰λ₯Ό κ³ λ €ν•˜μ—¬ κΈ€ μ „μ²΄μ˜ λ‚΄μš©μ„ μš”μ•½ν•œλ‹€.",
        "[6κ΅­02-03] 글을 읽고 글쓴이가 λ§ν•˜κ³ μž ν•˜λŠ” μ£Όμž₯μ΄λ‚˜ 주제λ₯Ό νŒŒμ•…ν•œλ‹€.",
        "[6κ΅­02-04] 글을 읽고 λ‚΄μš©μ˜ 타당성과 ν‘œν˜„μ˜ μ μ ˆμ„±μ„ νŒλ‹¨ν•œλ‹€.",
        "[6κ΅­02-05] 맀체에 λ”°λ₯Έ λ‹€μ–‘ν•œ 읽기 방법을 μ΄ν•΄ν•˜κ³  μ μ ˆν•˜κ²Œ μ μš©ν•˜λ©° μ½λŠ”λ‹€.",
        "[6κ΅­02-06] μžμ‹ μ˜ 읽기 μŠ΅κ΄€μ„ μ κ²€ν•˜λ©° 슀슀둜 글을 μ°Ύμ•„ μ½λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[6κ΅­03-01] μ“°κΈ°λŠ” μ ˆμ°¨μ— 따라 의미λ₯Ό κ΅¬μ„±ν•˜κ³  ν‘œν˜„ν•˜λŠ” κ³Όμ •μž„μ„ μ΄ν•΄ν•˜κ³  글을 μ“΄λ‹€.",
        "[6κ΅­03-02] λͺ©μ μ΄λ‚˜ μ£Όμ œμ— 따라 μ•Œλ§žμ€ λ‚΄μš©κ³Ό 맀체λ₯Ό μ„ μ •ν•˜μ—¬ 글을 μ“΄λ‹€.",
        "[6κ΅­03-03] λͺ©μ μ΄λ‚˜ λŒ€μƒμ— 따라 μ•Œλ§žμ€ ν˜•μ‹κ³Ό 자료λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„€λͺ…ν•˜λŠ” 글을 μ“΄λ‹€.",
        "[6κ΅­03-04] μ μ ˆν•œ 근거와 μ•Œλ§žμ€ ν‘œν˜„μ„ μ‚¬μš©ν•˜μ—¬ μ£Όμž₯ν•˜λŠ” 글을 μ“΄λ‹€.",
        "[6κ΅­03-05] μ²΄ν—˜ν•œ 일에 λŒ€ν•œ 감상이 λ“œλŸ¬λ‚˜κ²Œ 글을 μ“΄λ‹€.",
        "[6κ΅­03-06] λ…μžλ₯Ό μ‘΄μ€‘ν•˜κ³  λ°°λ €ν•˜λ©° 글을 μ“°λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[6κ΅­04-01] μ–Έμ–΄λŠ” 생각을 ν‘œν˜„ν•˜λ©° λ‹€λ₯Έ μ‚¬λžŒκ³Ό 관계λ₯Ό λ§ΊλŠ” μˆ˜λ‹¨μž„μ„ μ΄ν•΄ν•˜κ³  κ΅­μ–΄μƒν™œμ„ ν•œλ‹€.",
        "[6κ΅­04-02] κ΅­μ–΄μ˜ 낱말 ν™•μž₯ 방법을 νƒκ΅¬ν•˜κ³  μ–΄νœ˜λ ₯을 λ†’μ΄λŠ” 데에 μ μš©ν•œλ‹€.",
        "[6κ΅­04-03] 낱말이 상황에 따라 λ‹€μ–‘ν•˜κ²Œ 해석됨을 νƒκ΅¬ν•œλ‹€.",
        "[6κ΅­04-04] κ΄€μš© ν‘œν˜„μ„ μ΄ν•΄ν•˜κ³  μ μ ˆν•˜κ²Œ ν™œμš©ν•œλ‹€.",
        "[6κ΅­04-05] κ΅­μ–΄μ˜ λ¬Έμž₯ 성뢄을 μ΄ν•΄ν•˜κ³  ν˜Έμ‘ 관계가 μ˜¬λ°”λ₯Έ λ¬Έμž₯을 κ΅¬μ„±ν•œλ‹€.",
        "[6κ΅­04-06] μΌμƒμƒν™œμ—μ„œ κ΅­μ–΄λ₯Ό λ°”λ₯΄κ²Œ μ‚¬μš©ν•˜λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€.",
        "[6κ΅­05-01] 문학은 κ°€μΉ˜ μžˆλŠ” λ‚΄μš©μ„ μ–Έμ–΄λ‘œ ν‘œν˜„ν•˜μ—¬ 아름닀움을 느끼게 ν•˜λŠ” ν™œλ™μž„μ„ μ΄ν•΄ν•˜κ³  λ¬Έν•™ ν™œλ™μ„ ν•œλ‹€.",
        "[6κ΅­05-02] μž‘ν’ˆ 속 세계와 ν˜„μ‹€ 세계λ₯Ό λΉ„κ΅ν•˜λ©° μž‘ν’ˆμ„ κ°μƒν•œλ‹€.",
        "[6κ΅­05-03] λΉ„μœ μ  ν‘œν˜„μ˜ νŠΉμ„±κ³Ό 효과λ₯Ό μ‚΄λ € 생각과 λŠλ‚Œμ„ λ‹€μ–‘ν•˜κ²Œ ν‘œν˜„ν•œλ‹€.",
        "[6κ΅­05-04] μΌμƒμƒν™œμ˜ κ²½ν—˜μ„ μ΄μ•ΌκΈ°λ‚˜ 극의 ν˜•μ‹μœΌλ‘œ ν‘œν˜„ν•œλ‹€.",
        "[6κ΅­05-05] μž‘ν’ˆμ— λŒ€ν•œ 이해와 감상을 λ°”νƒ•μœΌλ‘œ ν•˜μ—¬ λ‹€λ₯Έ μ‚¬λžŒκ³Ό 적극적으둜 μ†Œν†΅ν•œλ‹€.",
        "[6κ΅­05-06] μž‘ν’ˆμ—μ„œ 얻은 κΉ¨λ‹¬μŒμ„ λ°”νƒ•μœΌλ‘œ ν•˜μ—¬ λ°”λžŒμ§ν•œ μ‚Άμ˜ κ°€μΉ˜λ₯Ό λ‚΄λ©΄ν™”ν•˜λŠ” νƒœλ„λ₯Ό μ§€λ‹Œλ‹€."
    ]
}

# ν•™λ…„ 선택 λ“œλ‘­λ‹€μš΄
grade = st.selectbox("학년을 μ„ νƒν•˜μ„Έμš”:", list(achievement_standards.keys()))

# μ„ νƒλœ 학년에 λ”°λ₯Έ μ„±μ·¨κΈ°μ€€ λͺ©λ‘
selected_standards = achievement_standards[grade]
selected_standard = st.selectbox("성취기쀀을 μ„ νƒν•˜μ„Έμš”:", selected_standards)

# μ„ νƒλœ 성취기쀀을 ν…μŠ€νŠΈ μž…λ ₯창의 κΈ°λ³Έκ°’μœΌλ‘œ μ‚¬μš©
achievement_standard = st.text_input("μ„±μ·¨κΈ°μ€€ μž…λ ₯:", value=selected_standard)


# "평가 생성" λ²„νŠΌ 클릭 μ‹œμ˜ λ™μž‘
if st.button("평가 생성"):
    result = generate_annotated_text(achievement_standard) 
    # κ²°κ³Ό 좜λ ₯
    # st.text(result.replace('```', '')) #κ²°κ³Όμ—μ„œ ``` 제거
    exec(result.replace('```', ''))