ll7098ll commited on
Commit
9a41ff4
·
verified ·
1 Parent(s): 2ab8dd5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -4
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 = f"이 학생은 초등학교 {grade_level}학년입니다. 질문과 설명을 이 학년 수준에 맞게 해주세요.(학생의 학년에 맞게 질문과 답하는 내용의 범위를 해당 학년의 교육과정에 맞게 범위를 조정하세요."
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
- grade_level = st.selectbox("📚 학년 수준을 선택하세요:", ["1", "2", "3", "4", "5", "6"], index=0, format_func=lambda x: f"초등학교 {x}학년")
 
 
 
 
 
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 # 메시지 세션 상태 삭제