code-slicer commited on
Commit
a97bf84
Β·
verified Β·
1 Parent(s): 1c24194

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -13
app.py CHANGED
@@ -150,6 +150,8 @@ from chat_a import (
150
  format_summary_tags_custom,
151
  make_companion_age_message
152
  )
 
 
153
  OLLAMA_HOST = os.getenv("OLLAMA_HOST", "http://localhost:11434")
154
  OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "gemma2:9b")
155
  OLLAMA_TIMEOUT = int(os.getenv("OLLAMA_TIMEOUT", "60"))
@@ -169,7 +171,14 @@ Return ONLY a valid JSON object:
169
  }
170
  If unknown, use "none" or "" and NEVER add extra text outside JSON.
171
  """
172
-
 
 
 
 
 
 
 
173
  def _build_structured_user_prompt(user_text: str) -> str:
174
  # λΆˆν•„μš”ν•œ λž˜ν•‘ 없이, λͺ¨λΈμ΄ JSON만 내도둝 κΉ”λ”νžˆ 전달
175
  return user_text.strip()
@@ -854,6 +863,7 @@ def region_ui(travel_df, external_score_df, festival_df, weather_df, package_df,
854
  # μ„Έμ…˜ 정리
855
  st.session_state["package_rendered"] = True
856
  st.session_state[step_key] = "package_end"
 
857
  return
858
 
859
  # ────────────────── 7) μ’…λ£Œ 단계
@@ -862,10 +872,7 @@ def region_ui(travel_df, external_score_df, festival_df, weather_df, package_df,
862
  sender="bot", chat_container=chat_container,
863
  key="goodbye")
864
 
865
- # βœ… μ—¬κΈ°μ„œ LLM λͺ¨λ“œλ‘œ μžλ™ μ „ν™˜
866
- st.session_state["llm_mode"] = True
867
- st.session_state["llm_intro_needed"] = True
868
- st.rerun()
869
 
870
  # ───────────────────────────────────── intent λͺ¨λ“œ
871
  def intent_ui(travel_df, external_score_df, festival_df, weather_df, package_df,
@@ -1211,6 +1218,7 @@ def intent_ui(travel_df, external_score_df, festival_df, weather_df, package_df,
1211
  # μ„Έμ…˜ 정리
1212
  st.session_state["package_rendered"] = True
1213
  st.session_state[step_key] = "package_end"
 
1214
  return
1215
 
1216
  # ────────────────── 7) μ’…λ£Œ 단계
@@ -1219,10 +1227,7 @@ def intent_ui(travel_df, external_score_df, festival_df, weather_df, package_df,
1219
  sender="bot", chat_container=chat_container,
1220
  key="goodbye")
1221
 
1222
- # βœ… μ—¬κΈ°μ„œ LLM λͺ¨λ“œλ‘œ μžλ™ μ „ν™˜
1223
- st.session_state["llm_mode"] = True
1224
- st.session_state["llm_intro_needed"] = True
1225
- st.rerun()
1226
 
1227
  # ───────────────────────────────────── emotion λͺ¨λ“œ
1228
  def emotion_ui(travel_df, external_score_df, festival_df, weather_df, package_df,
@@ -1640,6 +1645,7 @@ def emotion_ui(travel_df, external_score_df, festival_df, weather_df, package_df
1640
  # μ„Έμ…˜ 정리
1641
  st.session_state["package_rendered"] = True
1642
  st.session_state[step_key] = "package_end"
 
1643
  return
1644
 
1645
  # ────────────────── 7) μ’…λ£Œ 단계
@@ -1648,10 +1654,7 @@ def emotion_ui(travel_df, external_score_df, festival_df, weather_df, package_df
1648
  sender="bot", chat_container=chat_container,
1649
  key="goodbye")
1650
 
1651
- # βœ… μ—¬κΈ°μ„œ LLM λͺ¨λ“œλ‘œ μžλ™ μ „ν™˜
1652
- st.session_state["llm_mode"] = True
1653
- st.session_state["llm_intro_needed"] = True
1654
- st.rerun()
1655
 
1656
  # ───────────────────────────────────── unknown λͺ¨λ“œ
1657
  def unknown_ui(country, city, chat_container, log_and_render):
@@ -1688,6 +1691,8 @@ def main():
1688
  st.sidebar.subheader("βš™οΈ λŒ€ν™” ν‘œμ‹œ")
1689
  st.sidebar.selectbox("ν…Œλ§ˆ", ["ν”ΌμŠ€νƒ€μΉ˜μ˜€", "μŠ€μΉ΄μ΄λΈ”λ£¨", "크리미였트"], key="bubble_theme")
1690
  st.sidebar.toggle("νƒ€μž„μŠ€νƒ¬ν”„ ν‘œμ‹œ", value=False, key="show_time")
 
 
1691
 
1692
 
1693
  # βœ… νƒ€μž 효과 on/off ν† κΈ€ (κΈ°λ³Έ ON)
 
150
  format_summary_tags_custom,
151
  make_companion_age_message
152
  )
153
+
154
+ # ──────────────────────────────── LLM ────────────────────────────────
155
  OLLAMA_HOST = os.getenv("OLLAMA_HOST", "http://localhost:11434")
156
  OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "gemma2:9b")
157
  OLLAMA_TIMEOUT = int(os.getenv("OLLAMA_TIMEOUT", "60"))
 
171
  }
172
  If unknown, use "none" or "" and NEVER add extra text outside JSON.
173
  """
174
+ def to_llm_mode():
175
+ # 같은 λ Œλ” μ‚¬μ΄ν΄μ—μ„œ μ—¬λŸ¬ 번 ν˜ΈμΆœλ˜μ–΄λ„ 1회만 λ™μž‘ν•˜κ²Œ κ°€λ“œ
176
+ if not st.session_state.get("_llm_triggered"):
177
+ st.session_state["_llm_triggered"] = True
178
+ st.session_state["llm_mode"] = True
179
+ st.session_state["llm_intro_needed"] = True
180
+ st.rerun()
181
+
182
  def _build_structured_user_prompt(user_text: str) -> str:
183
  # λΆˆν•„μš”ν•œ λž˜ν•‘ 없이, λͺ¨λΈμ΄ JSON만 내도둝 κΉ”λ”νžˆ 전달
184
  return user_text.strip()
 
863
  # μ„Έμ…˜ 정리
864
  st.session_state["package_rendered"] = True
865
  st.session_state[step_key] = "package_end"
866
+ to_llm_mode()
867
  return
868
 
869
  # ────────────────── 7) μ’…λ£Œ 단계
 
872
  sender="bot", chat_container=chat_container,
873
  key="goodbye")
874
 
875
+ to_llm_mode()
 
 
 
876
 
877
  # ───────────────────────────────────── intent λͺ¨λ“œ
878
  def intent_ui(travel_df, external_score_df, festival_df, weather_df, package_df,
 
1218
  # μ„Έμ…˜ 정리
1219
  st.session_state["package_rendered"] = True
1220
  st.session_state[step_key] = "package_end"
1221
+ to_llm_mode()
1222
  return
1223
 
1224
  # ────────────────── 7) μ’…λ£Œ 단계
 
1227
  sender="bot", chat_container=chat_container,
1228
  key="goodbye")
1229
 
1230
+ to_llm_mode()
 
 
 
1231
 
1232
  # ───────────────────────────────────── emotion λͺ¨λ“œ
1233
  def emotion_ui(travel_df, external_score_df, festival_df, weather_df, package_df,
 
1645
  # μ„Έμ…˜ 정리
1646
  st.session_state["package_rendered"] = True
1647
  st.session_state[step_key] = "package_end"
1648
+ to_llm_mode()
1649
  return
1650
 
1651
  # ────────────────── 7) μ’…λ£Œ 단계
 
1654
  sender="bot", chat_container=chat_container,
1655
  key="goodbye")
1656
 
1657
+ to_llm_mode()
 
 
 
1658
 
1659
  # ───────────────────────────────────── unknown λͺ¨λ“œ
1660
  def unknown_ui(country, city, chat_container, log_and_render):
 
1691
  st.sidebar.subheader("βš™οΈ λŒ€ν™” ν‘œμ‹œ")
1692
  st.sidebar.selectbox("ν…Œλ§ˆ", ["ν”ΌμŠ€νƒ€μΉ˜μ˜€", "μŠ€μΉ΄μ΄λΈ”λ£¨", "크리미였트"], key="bubble_theme")
1693
  st.sidebar.toggle("νƒ€μž„μŠ€νƒ¬ν”„ ν‘œμ‹œ", value=False, key="show_time")
1694
+ st.sidebar.write("DEBUG step_key:", step_key)
1695
+ st.sidebar.write("DEBUG state:", st.session_state.get(step_key))
1696
 
1697
 
1698
  # βœ… νƒ€μž 효과 on/off ν† κΈ€ (κΈ°λ³Έ ON)