Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -1121,6 +1121,7 @@ if st.session_state.generation_complete:
|
|
| 1121 |
""", unsafe_allow_html=True)
|
| 1122 |
|
| 1123 |
# μΆκ°λ ν: μ 체 μΌμ , μμΈ μ 보, λ€μ΄λ‘λ/곡μ , μ§λ λ° μκ°ν, AI μ±λ΄ μΈν°νμ΄μ€
|
|
|
|
| 1124 |
itinerary_tab, details_tab, download_tab, map_tab, chatbot_tab = st.tabs([
|
| 1125 |
"ποΈ " + t("full_itinerary"),
|
| 1126 |
"πΌ " + t("details"),
|
|
@@ -1217,43 +1218,37 @@ if st.session_state.generation_complete:
|
|
| 1217 |
st.pydeck_chart(deck_chart)
|
| 1218 |
|
| 1219 |
|
| 1220 |
-
|
| 1221 |
-
# AI μ±λ΄ μΈν°νμ΄μ€ ν (μ λ―Έλμ΄ μ μ©)
|
| 1222 |
with chatbot_tab:
|
| 1223 |
-
|
| 1224 |
-
|
| 1225 |
-
|
|
|
|
| 1226 |
st.session_state.chat_history = []
|
| 1227 |
-
|
| 1228 |
-
|
| 1229 |
-
|
| 1230 |
-
|
| 1231 |
if user_message:
|
| 1232 |
-
|
| 1233 |
-
|
| 1234 |
-
|
| 1235 |
-
|
| 1236 |
-
|
| 1237 |
-
|
| 1238 |
-
|
| 1239 |
-
|
| 1240 |
-
|
| 1241 |
-
|
| 1242 |
-
|
| 1243 |
-
|
| 1244 |
-
|
| 1245 |
-
|
| 1246 |
-
|
| 1247 |
-
|
| 1248 |
time_str = chat["time"].strftime("%H:%M:%S")
|
| 1249 |
st.markdown(f"**{chat['speaker']}** ({time_str}): {chat['message']}")
|
| 1250 |
-
|
| 1251 |
-
|
| 1252 |
-
# Clear λ²νΌ μΆκ° (μμ λ λΆλΆ)
|
| 1253 |
-
if st.button("Clear", key="clear_button"):
|
| 1254 |
-
st.session_state.chat_history = []
|
| 1255 |
-
st.session_state.pop("chat_input", None) # chat_input ν€λ₯Ό μμ νμ¬ μμ ―μ κ°μ μ΄κΈ°ν
|
| 1256 |
-
st.experimental_rerun()
|
| 1257 |
|
| 1258 |
st.markdown("""
|
| 1259 |
<div style="margin-top: 50px; text-align: center; padding: 20px; color: #6c757d; font-size: 0.8rem;">
|
|
|
|
| 1121 |
""", unsafe_allow_html=True)
|
| 1122 |
|
| 1123 |
# μΆκ°λ ν: μ 체 μΌμ , μμΈ μ 보, λ€μ΄λ‘λ/곡μ , μ§λ λ° μκ°ν, AI μ±λ΄ μΈν°νμ΄μ€
|
| 1124 |
+
|
| 1125 |
itinerary_tab, details_tab, download_tab, map_tab, chatbot_tab = st.tabs([
|
| 1126 |
"ποΈ " + t("full_itinerary"),
|
| 1127 |
"πΌ " + t("details"),
|
|
|
|
| 1218 |
st.pydeck_chart(deck_chart)
|
| 1219 |
|
| 1220 |
|
|
|
|
|
|
|
| 1221 |
with chatbot_tab:
|
| 1222 |
+
st.markdown("### AI μ±λ΄ μΈν°νμ΄μ€")
|
| 1223 |
+
|
| 1224 |
+
# λν κΈ°λ‘μ μΈμ
μνμ μ μ₯ (λ©μμ§, λ°μ μ, νμμ€ν¬ν)
|
| 1225 |
+
if "chat_history" not in st.session_state:
|
| 1226 |
st.session_state.chat_history = []
|
| 1227 |
+
|
| 1228 |
+
# μ¬μ©μ μ
λ ₯μ°½ λ° μ μ‘ λ²νΌ
|
| 1229 |
+
user_message = st.text_input("λ©μμ§λ₯Ό μ
λ ₯νμΈμ:", key="chat_input")
|
| 1230 |
+
if st.button("μ μ‘", key="send_button"):
|
| 1231 |
if user_message:
|
| 1232 |
+
# μ λ―Έλμ΄ κΈ°λ° μ±λ΄ μλ΅: run_task()λ₯Ό νμ©νμ¬ chatbot_taskμ μ§μ
|
| 1233 |
+
response = run_task(chatbot_task, user_message)
|
| 1234 |
+
st.session_state.chat_history.append({
|
| 1235 |
+
"speaker": "μ¬μ©μ",
|
| 1236 |
+
"message": user_message,
|
| 1237 |
+
"time": datetime.now()
|
| 1238 |
+
})
|
| 1239 |
+
st.session_state.chat_history.append({
|
| 1240 |
+
"speaker": "AI",
|
| 1241 |
+
"message": response,
|
| 1242 |
+
"time": datetime.now()
|
| 1243 |
+
})
|
| 1244 |
+
|
| 1245 |
+
# λν κΈ°λ‘ μΆλ ₯ (νμμ€ν¬ν ν¬ν¨, μ€ν¬λ‘€ κ°λ₯ν μμ)
|
| 1246 |
+
st.markdown("<div style='max-height:400px; overflow-y:auto; padding:10px; border:1px solid #eaeaea; border-radius:6px;'>", unsafe_allow_html=True)
|
| 1247 |
+
for chat in st.session_state.chat_history:
|
| 1248 |
time_str = chat["time"].strftime("%H:%M:%S")
|
| 1249 |
st.markdown(f"**{chat['speaker']}** ({time_str}): {chat['message']}")
|
| 1250 |
+
st.markdown("</div>", unsafe_allow_html=True)
|
| 1251 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1252 |
|
| 1253 |
st.markdown("""
|
| 1254 |
<div style="margin-top: 50px; text-align: center; padding: 20px; color: #6c757d; font-size: 0.8rem;">
|