Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1120,8 +1120,7 @@ if st.session_state.generation_complete:
|
|
1120 |
</style>
|
1121 |
""", unsafe_allow_html=True)
|
1122 |
|
1123 |
-
#
|
1124 |
-
|
1125 |
itinerary_tab, details_tab, download_tab, map_tab, chatbot_tab = st.tabs([
|
1126 |
"๐๏ธ " + t("full_itinerary"),
|
1127 |
"๐ผ " + t("details"),
|
@@ -1171,9 +1170,8 @@ if st.session_state.generation_complete:
|
|
1171 |
with col2:
|
1172 |
st.markdown("### " + t("save_for_mobile"))
|
1173 |
st.markdown("*Coming soon: QR code for easy access on your phone*")
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
with map_tab:
|
1178 |
st.markdown("### ๋ชฉ์ ์ง ์ง๋")
|
1179 |
# session_state์์ ๋ชฉ์ ์ง ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค. (์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ "Paris")
|
@@ -1217,38 +1215,37 @@ if st.session_state.generation_complete:
|
|
1217 |
deck_chart = pdk.Deck(layers=[layer], initial_view_state=view_state)
|
1218 |
st.pydeck_chart(deck_chart)
|
1219 |
|
1220 |
-
|
1221 |
-
with chatbot_tab:
|
1222 |
-
|
1223 |
-
|
1224 |
-
# ๋ํ ๊ธฐ๋ก์ ์ธ์
์ํ์ ์ ์ฅ (๋ฉ์์ง, ๋ฐ์ ์, ํ์์คํฌํ)
|
1225 |
-
if "chat_history" not in st.session_state:
|
1226 |
-
st.session_state.chat_history = []
|
1227 |
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
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 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1251 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1252 |
|
1253 |
st.markdown("""
|
1254 |
<div style="margin-top: 50px; text-align: center; padding: 20px; color: #6c757d; font-size: 0.8rem;">
|
|
|
1120 |
</style>
|
1121 |
""", unsafe_allow_html=True)
|
1122 |
|
1123 |
+
# ํญ ์์ฑ (์ฑ๋ด ํญ ํฌํจ)
|
|
|
1124 |
itinerary_tab, details_tab, download_tab, map_tab, chatbot_tab = st.tabs([
|
1125 |
"๐๏ธ " + t("full_itinerary"),
|
1126 |
"๐ผ " + t("details"),
|
|
|
1170 |
with col2:
|
1171 |
st.markdown("### " + t("save_for_mobile"))
|
1172 |
st.markdown("*Coming soon: QR code for easy access on your phone*")
|
1173 |
+
|
1174 |
+
# ์ง๋ ๋ฐ ์๊ฐํ ํญ
|
|
|
1175 |
with map_tab:
|
1176 |
st.markdown("### ๋ชฉ์ ์ง ์ง๋")
|
1177 |
# session_state์์ ๋ชฉ์ ์ง ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค. (์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ "Paris")
|
|
|
1215 |
deck_chart = pdk.Deck(layers=[layer], initial_view_state=view_state)
|
1216 |
st.pydeck_chart(deck_chart)
|
1217 |
|
1218 |
+
# ์ฑ๋ด ์ธํฐํ์ด์ค ํญ (Clear ๋ฒํผ ์ ๊ฑฐ๋จ)
|
1219 |
+
with chatbot_tab:
|
1220 |
+
st.markdown("### AI ์ฑ๋ด ์ธํฐํ์ด์ค")
|
|
|
|
|
|
|
|
|
1221 |
|
1222 |
+
# ๋ํ ๊ธฐ๋ก์ ์ธ์
์ํ์ ์ ์ฅ (๋ฉ์์ง, ๋ฐ์ ์, ํ์์คํฌํ)
|
1223 |
+
if "chat_history" not in st.session_state:
|
1224 |
+
st.session_state.chat_history = []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1225 |
|
1226 |
+
# ์ฌ์ฉ์ ์
๋ ฅ์ฐฝ ๋ฐ ์ ์ก ๋ฒํผ
|
1227 |
+
user_message = st.text_input("๋ฉ์์ง๋ฅผ ์
๋ ฅํ์ธ์:", key="chat_input")
|
1228 |
+
if st.button("์ ์ก", key="send_button"):
|
1229 |
+
if user_message:
|
1230 |
+
# ์ ๋ฏธ๋์ด ๊ธฐ๋ฐ ์ฑ๋ด ์๋ต: run_task()๋ฅผ ํ์ฉํ์ฌ chatbot_task์ ์ง์
|
1231 |
+
response = run_task(chatbot_task, user_message)
|
1232 |
+
st.session_state.chat_history.append({
|
1233 |
+
"speaker": "์ฌ์ฉ์",
|
1234 |
+
"message": user_message,
|
1235 |
+
"time": datetime.now()
|
1236 |
+
})
|
1237 |
+
st.session_state.chat_history.append({
|
1238 |
+
"speaker": "AI",
|
1239 |
+
"message": response,
|
1240 |
+
"time": datetime.now()
|
1241 |
+
})
|
1242 |
|
1243 |
+
# ๋ํ ๊ธฐ๋ก ์ถ๋ ฅ (ํ์์คํฌํ ํฌํจ, ์คํฌ๋กค ๊ฐ๋ฅํ ์์ญ)
|
1244 |
+
st.markdown("<div style='max-height:400px; overflow-y:auto; padding:10px; border:1px solid #eaeaea; border-radius:6px;'>", unsafe_allow_html=True)
|
1245 |
+
for chat in st.session_state.chat_history:
|
1246 |
+
time_str = chat["time"].strftime("%H:%M:%S")
|
1247 |
+
st.markdown(f"**{chat['speaker']}** ({time_str}): {chat['message']}")
|
1248 |
+
st.markdown("</div>", unsafe_allow_html=True)
|
1249 |
|
1250 |
st.markdown("""
|
1251 |
<div style="margin-top: 50px; text-align: center; padding: 20px; color: #6c757d; font-size: 0.8rem;">
|