Yescia commited on
Commit
6daacde
ยท
verified ยท
1 Parent(s): 10d93fc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -9
app.py CHANGED
@@ -129,8 +129,8 @@ def get_study_tip_for_keyword(keyword, api_key):
129
  # 5. Streamlit UI
130
  # -------------------------------
131
  def main():
132
- st.set_page_config(page_title="Solar ๊ณต๋ถ€ ๋ฉ˜ํ† ", layout="wide")
133
- st.title("๐Ÿ”ŽSolar ๊ณต๋ถ€ ๋ฉ˜ํ† ")
134
 
135
  api_key = st.text_input("๐Ÿ” Upstage API Key", type="password")
136
  uploaded_file = st.file_uploader("๐Ÿ“Ž ๋ฌธ์ œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ", type=["pdf", "png", "jpg", "jpeg"])
@@ -153,17 +153,24 @@ def main():
153
  st.session_state.html_text = html_text
154
  st.success("๋ฌธ์„œ ํŒŒ์‹ฑ ์„ฑ๊ณต โœ…")
155
 
156
- # ๋ฌธ์„œ๊ฐ€ ์ค€๋น„๋œ ๊ฒฝ์šฐ โ†’ ์ขŒ์šฐ ๋ ˆ์ด์•„์›ƒ ์‹œ์ž‘
157
  if st.session_state.html_text:
158
- left_col, right_col = st.columns([1, 2])
159
 
160
  with left_col:
161
- st.image(uploaded_file, caption="๐Ÿ–ผ๏ธ ์—…๋กœ๋“œํ•œ ๋ฌธ์ œ ์ด๋ฏธ์ง€", use_column_width=True)
162
 
163
  with right_col:
 
 
 
 
 
 
164
  st.subheader("โ“ ๊ถ๊ธˆํ•œ ๋‚ด์šฉ์„ ์งˆ๋ฌธํ•ด๋ณด์„ธ์š”")
165
  user_question = st.text_input("์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜๊ณ  ์•„๋ž˜ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋ณด์„ธ์š”", key="question_input")
166
 
 
 
167
  if st.button("๐Ÿ’ฌ Solar์—๊ฒŒ ๋ฌผ์–ด๋ณด๊ธฐ") and user_question:
168
  with st.spinner("Solar ์„ ์ƒ๋‹˜์ด ๋‹ต๋ณ€ ์ค‘์ž…๋‹ˆ๋‹ค..."):
169
  answer, history, err = chat_with_solar_document(
@@ -179,19 +186,21 @@ def main():
179
  st.chat_message("user").write(user_question)
180
  st.chat_message("assistant").write(answer)
181
 
182
- # ํ‚ค์›Œ๋“œ ์ถ”์ฒœ ์ƒ์„ฑ
 
 
183
  st.session_state.keywords = get_recommended_keywords(
184
  st.session_state.html_text,
185
  user_question,
186
  api_key
187
  )
188
 
189
- # ์ด์ „ ๋Œ€ํ™” ํ‘œ์‹œ
190
- for user, bot in st.session_state.chat_history:
191
  st.chat_message("user").write(user)
192
  st.chat_message("assistant").write(bot)
193
 
194
- # ํ‚ค์›Œ๋“œ ์ถ”์ฒœ ์Šคํฌ๋กค ๋ฐ•์Šค
195
  if st.session_state.keywords:
196
  st.markdown("### ๐Ÿ”Ž ์ถ”์ฒœ ๊ณต๋ถ€ ํ‚ค์›Œ๋“œ")
197
  st.markdown(
@@ -210,6 +219,10 @@ def main():
210
 
211
  st.markdown("</div>", unsafe_allow_html=True)
212
 
 
 
 
213
  # ์‹คํ–‰
214
  if __name__ == "__main__":
215
  main()
 
 
129
  # 5. Streamlit UI
130
  # -------------------------------
131
  def main():
132
+ st.set_page_config(page_title="AI ๊ณต๋ถ€ ๋ฉ˜ํ† ", layout="wide")
133
+ st.title("๐Ÿ‘ฉโ€๐Ÿซ Solar Study Mentor")
134
 
135
  api_key = st.text_input("๐Ÿ” Upstage API Key", type="password")
136
  uploaded_file = st.file_uploader("๐Ÿ“Ž ๋ฌธ์ œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ", type=["pdf", "png", "jpg", "jpeg"])
 
153
  st.session_state.html_text = html_text
154
  st.success("๋ฌธ์„œ ํŒŒ์‹ฑ ์„ฑ๊ณต โœ…")
155
 
 
156
  if st.session_state.html_text:
157
+ left_col, right_col = st.columns([1, 2], gap="large")
158
 
159
  with left_col:
160
+ st.image(uploaded_file, caption="๐Ÿ–ผ๏ธ ๋ฌธ์ œ ์ด๋ฏธ์ง€", use_container_width=True)
161
 
162
  with right_col:
163
+ # ์Šคํฌ๋กค ๊ฐ€๋Šฅํ•œ ์˜ค๋ฅธ์ชฝ ์ „์ฒด ๋ฐ•์Šค
164
+ st.markdown(
165
+ "<div style='height: 85vh; overflow-y: auto; padding-right: 20px;'>",
166
+ unsafe_allow_html=True
167
+ )
168
+
169
  st.subheader("โ“ ๊ถ๊ธˆํ•œ ๋‚ด์šฉ์„ ์งˆ๋ฌธํ•ด๋ณด์„ธ์š”")
170
  user_question = st.text_input("์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜๊ณ  ์•„๋ž˜ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋ณด์„ธ์š”", key="question_input")
171
 
172
+ show_history = st.session_state.chat_history # ๊ธฐ๋ณธ๊ฐ’
173
+
174
  if st.button("๐Ÿ’ฌ Solar์—๊ฒŒ ๋ฌผ์–ด๋ณด๊ธฐ") and user_question:
175
  with st.spinner("Solar ์„ ์ƒ๋‹˜์ด ๋‹ต๋ณ€ ์ค‘์ž…๋‹ˆ๋‹ค..."):
176
  answer, history, err = chat_with_solar_document(
 
186
  st.chat_message("user").write(user_question)
187
  st.chat_message("assistant").write(answer)
188
 
189
+ # ๊ฐ™์€ ์งˆ๋ฌธ ์ค‘๋ณต ๋ฐฉ์ง€ ์œ„ํ•ด ๋งˆ์ง€๋ง‰ ํ•ญ๋ชฉ ์ œ์™ธ ์ถœ๋ ฅ์šฉ ์ค€๋น„
190
+ show_history = st.session_state.chat_history[:-1]
191
+
192
  st.session_state.keywords = get_recommended_keywords(
193
  st.session_state.html_text,
194
  user_question,
195
  api_key
196
  )
197
 
198
+ # ์ด์ „ ๋Œ€ํ™” ๋‚ด์šฉ ์ถœ๋ ฅ (๋งˆ์ง€๋ง‰ ์ œ์™ธ)
199
+ for user, bot in show_history:
200
  st.chat_message("user").write(user)
201
  st.chat_message("assistant").write(bot)
202
 
203
+ # ์ถ”์ฒœ ํ‚ค์›Œ๋“œ
204
  if st.session_state.keywords:
205
  st.markdown("### ๐Ÿ”Ž ์ถ”์ฒœ ๊ณต๋ถ€ ํ‚ค์›Œ๋“œ")
206
  st.markdown(
 
219
 
220
  st.markdown("</div>", unsafe_allow_html=True)
221
 
222
+ # ์Šคํฌ๋กค ์˜์—ญ ์ข…๋ฃŒ
223
+ st.markdown("</div>", unsafe_allow_html=True)
224
+
225
  # ์‹คํ–‰
226
  if __name__ == "__main__":
227
  main()
228
+