code-slicer commited on
Commit
abd0954
Β·
verified Β·
1 Parent(s): 774125e

Update chat_a.py

Browse files
Files changed (1) hide show
  1. chat_a.py +8 -50
chat_a.py CHANGED
@@ -10,18 +10,6 @@ from huggingface_hub import hf_hub_download
10
  from sentence_transformers import SentenceTransformer, util
11
  from transformers import AutoTokenizer, AutoModelForSequenceClassification
12
  from css import log_and_render
13
-
14
- from css import log_and_render
15
- import time # time 라이브러리λ₯Ό import ν•©λ‹ˆλ‹€.
16
-
17
- def stream_text_generator(text_to_stream: str):
18
- """
19
- λ¬Έμžμ—΄μ„ 단어 λ‹¨μœ„λ‘œ μͺΌκ°œμ„œ ν•˜λ‚˜μ”© ν˜λ €λ³΄λ‚΄μ£ΌλŠ” 생성기(generator) ν•¨μˆ˜.
20
- 타이핑 효과λ₯Ό μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€.
21
- """
22
- for word in text_to_stream.split(" "):
23
- yield word + " "
24
- time.sleep(0.05) # 각 단어 사이에 0.05초의 λ”œλ ˆμ΄λ₯Ό μ€λ‹ˆλ‹€.
25
 
26
  # ──────────────────────────────── μΊμ‹œ/데이터셋 μ„€μ • ────────────────────────────────
27
  HOME = pathlib.Path.home()
@@ -1352,31 +1340,15 @@ def recommend_packages(
1352
  )
1353
 
1354
  # βœ… 좜λ ₯
1355
- # if recommend_texts:
1356
- # full_message = "🧳 이런 νŒ¨ν‚€μ§€λ₯Ό μΆ”μ²œλ“œλ €μš”:<br><br>" + "<br><br>".join(recommend_texts)
1357
- # log_and_render(
1358
- # full_message,
1359
- # sender="bot",
1360
- # chat_container = chat_container,
1361
- # key="recommend_package_intro",
1362
- # )
1363
  if recommend_texts:
1364
- # ⬇️⬇️⬇️ μ—¬κΈ°κ°€ 핡심 λ³€κ²½ λΆ€λΆ„μž…λ‹ˆλ‹€ ⬇️⬇️⬇️
1365
- intro_message = "🧳 이런 νŒ¨ν‚€μ§€λ₯Ό μΆ”μ²œλ“œλ €μš”:"
1366
- package_list_message = "".join(recommend_texts)
1367
-
1368
- # 1. μ•ˆλ‚΄ λ¬Έκ΅¬λŠ” 타이핑 효과둜 λ¨Όμ € λ³΄μ—¬μ€λ‹ˆλ‹€.
1369
- with st.chat_message("assistant"):
1370
- st.write_stream(stream_text_generator(intro_message))
1371
-
1372
- # 2. νŒ¨ν‚€μ§€ λͺ©λ‘μ€ 타이핑 없이 λ°”λ‘œ λ³΄μ—¬μ£ΌλŠ” 것이 더 κΉ”λ”ν•©λ‹ˆλ‹€.
1373
- st.markdown(package_list_message) # st.markdown을 μ‚¬μš©ν•΄ λ°”λ‘œ 좜λ ₯
1374
-
1375
- # 3. λŒ€ν™” κΈ°λ‘μ—λŠ” 전체 λ©”μ‹œμ§€λ₯Ό ν•©μ³μ„œ μ €μž₯ν•©λ‹ˆλ‹€.
1376
- full_message = intro_message + package_list_message
1377
- if "chat_log" not in st.session_state:
1378
- st.session_state.chat_log = []
1379
- st.session_state.chat_log.append(("bot", full_message))
1380
  else:
1381
  log_and_render(
1382
  "⚠️ μΆ”μ²œ κ°€λŠ₯ν•œ νŒ¨ν‚€μ§€κ°€ μ—†μŠ΅λ‹ˆλ‹€.",
@@ -1407,20 +1379,6 @@ def handle_selected_place(selected_place, travel_df, external_score_df, festival
1407
  message_lines.append(f"ν•¨κ»˜ 가보면 쒋은 μ—¬ν–‰μ§€: {sample_names}")
1408
  else:
1409
  message_lines.append("⚠️ ν•¨κ»˜ κ°€λ³Ό λ‹€λ₯Έ μ—¬ν–‰μ§€κ°€ μ—†μ–΄μš”.")
1410
-
1411
- ##
1412
- full_message = "".join(message_lines)
1413
-
1414
- # Streamlit의 chat_message μ»¨ν…μŠ€νŠΈλ₯Ό μ‚¬μš©ν•΄ 말풍선을 직접 λ§Œλ“­λ‹ˆλ‹€.
1415
- with st.chat_message("assistant"): # 'assistant'λŠ” 봇 λ©”μ‹œμ§€λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
1416
- # μš°λ¦¬κ°€ λ§Œλ“  μ œλ„ˆλ ˆμ΄ν„°μ™€ st.write_stream을 μ—°κ²°ν•΄ 타이핑 효과λ₯Ό λƒ…λ‹ˆλ‹€.
1417
- st.write_stream(stream_text_generator(full_message))
1418
-
1419
- # λŒ€ν™” 기둝(log)을 λ‚¨κΈ°λŠ” λ‘œμ§μ€ ν™”λ©΄ 좜λ ₯ 뒀에 λ”°λ‘œ μ‹€ν–‰ν•©λ‹ˆλ‹€.
1420
- if "chat_log" not in st.session_state:
1421
- st.session_state.chat_log = []
1422
- st.session_state.chat_log.append(("bot", full_message))
1423
- ##
1424
 
1425
  # integrated_theme μΆ”λ‘  μΆ”κ°€
1426
  if selected_theme is None:
 
10
  from sentence_transformers import SentenceTransformer, util
11
  from transformers import AutoTokenizer, AutoModelForSequenceClassification
12
  from css import log_and_render
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
  # ──────────────────────────────── μΊμ‹œ/데이터셋 μ„€μ • ────────────────────────────────
15
  HOME = pathlib.Path.home()
 
1340
  )
1341
 
1342
  # βœ… 좜λ ₯
 
 
 
 
 
 
 
 
1343
  if recommend_texts:
1344
+ full_message = "🧳 이런 νŒ¨ν‚€μ§€λ₯Ό μΆ”μ²œλ“œλ €μš”:<br><br>" + "<br><br>".join(recommend_texts)
1345
+ log_and_render(
1346
+ full_message,
1347
+ sender="bot",
1348
+ chat_container = chat_container,
1349
+ key="recommend_package_intro",
1350
+ )
1351
+
 
 
 
 
 
 
 
 
1352
  else:
1353
  log_and_render(
1354
  "⚠️ μΆ”μ²œ κ°€λŠ₯ν•œ νŒ¨ν‚€μ§€κ°€ μ—†μŠ΅λ‹ˆλ‹€.",
 
1379
  message_lines.append(f"ν•¨κ»˜ 가보면 쒋은 μ—¬ν–‰μ§€: {sample_names}")
1380
  else:
1381
  message_lines.append("⚠️ ν•¨κ»˜ κ°€λ³Ό λ‹€λ₯Έ μ—¬ν–‰μ§€κ°€ μ—†μ–΄μš”.")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1382
 
1383
  # integrated_theme μΆ”λ‘  μΆ”κ°€
1384
  if selected_theme is None: