Update app.py
Browse files
app.py
CHANGED
|
@@ -9,15 +9,24 @@ openai.api_key = openai_api_key
|
|
| 9 |
def openai_chat(text, grade_level):
|
| 10 |
try:
|
| 11 |
# 학년 수준에 따른 프롬프트 추가
|
| 12 |
-
grade_prompt =
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
# 시스템 메시지를 세션 시작 시 한 번만 추가
|
| 15 |
if not any(message["role"] == "system" for message in st.session_state.messages):
|
| 16 |
st.session_state.messages.append({"role": "system", "content": grade_prompt})
|
| 17 |
else:
|
| 18 |
# 기존 시스템 메시지 업데이트 (선택 사항)
|
| 19 |
st.session_state.messages[0]["content"] = grade_prompt
|
| 20 |
-
|
| 21 |
response = openai.ChatCompletion.create(
|
| 22 |
model="gpt-4o",
|
| 23 |
messages=st.session_state.messages, # 전체 대화 세션 전달
|
|
@@ -112,7 +121,12 @@ assistant_icon_url = "https://cdn-icons-png.flaticon.com/512/4323/4323008.png"
|
|
| 112 |
|
| 113 |
# 학년 수준 선택
|
| 114 |
with st.sidebar:
|
| 115 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
# 초기화 버튼
|
| 117 |
if st.button("💡 초기화"):
|
| 118 |
del st.session_state.messages # 메시지 세션 상태 삭제
|
|
|
|
| 9 |
def openai_chat(text, grade_level):
|
| 10 |
try:
|
| 11 |
# 학년 수준에 따른 프롬프트 추가
|
| 12 |
+
grade_prompt = ""
|
| 13 |
+
if grade_level.startswith("초등학교"):
|
| 14 |
+
grade_num = grade_level[5:].rstrip("학년")
|
| 15 |
+
grade_prompt = f"이 학생은 초등학교 {grade_num}학년입니다. 질문과 설명을 이 학년 수준에 맞게 해주세요.(학생의 학년에 맞게 질문과 답하는 내용의 범위를 해당 학년의 교육과정에 맞게 범위를 조정하세요."
|
| 16 |
+
elif grade_level.startswith("중학교"):
|
| 17 |
+
grade_num = grade_level[3:].rstrip("학년")
|
| 18 |
+
grade_prompt = f"이 학생은 중학교 {grade_num}학년입니다. 질문과 설명을 이 학년 수준에 맞게 해주세요.(학생의 학년에 맞게 질문과 답하는 내용의 범위를 해당 학년의 교육과정에 맞게 범위를 조정하세요."
|
| 19 |
+
elif grade_level.startswith("고등학교"):
|
| 20 |
+
grade_num = grade_level[4:].rstrip("학년")
|
| 21 |
+
grade_prompt = f"이 학생은 고등학교 {grade_num}학년입니다. 질문과 설명을 이 학년 수준에 맞게 해주세요.(학생의 학년에 맞게 질문과 답하는 내용의 범위를 해당 학년의 교육과정에 맞게 범위를 조정하세요."
|
| 22 |
+
|
| 23 |
# 시스템 메시지를 세션 시작 시 한 번만 추가
|
| 24 |
if not any(message["role"] == "system" for message in st.session_state.messages):
|
| 25 |
st.session_state.messages.append({"role": "system", "content": grade_prompt})
|
| 26 |
else:
|
| 27 |
# 기존 시스템 메시지 업데이트 (선택 사항)
|
| 28 |
st.session_state.messages[0]["content"] = grade_prompt
|
| 29 |
+
|
| 30 |
response = openai.ChatCompletion.create(
|
| 31 |
model="gpt-4o",
|
| 32 |
messages=st.session_state.messages, # 전체 대화 세션 전달
|
|
|
|
| 121 |
|
| 122 |
# 학년 수준 선택
|
| 123 |
with st.sidebar:
|
| 124 |
+
grade_level_options = [
|
| 125 |
+
"초등학교 1학년", "초등학교 2학년", "초등학교 3학년", "초등학교 4학년", "초등학교 5학년", "초등학교 6학년",
|
| 126 |
+
"중학교 1학년", "중학교 2학년", "중학교 3학년",
|
| 127 |
+
"고등학교 1학년", "고등학교 2학년", "고등학교 3학년"
|
| 128 |
+
]
|
| 129 |
+
grade_level = st.selectbox("📚 학년 수준을 선택하세요:", grade_level_options, index=0)
|
| 130 |
# 초기화 버튼
|
| 131 |
if st.button("💡 초기화"):
|
| 132 |
del st.session_state.messages # 메시지 세션 상태 삭제
|