Linhz commited on
Commit
a0635c6
·
verified ·
1 Parent(s): f96d870

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -13
app.py CHANGED
@@ -44,24 +44,62 @@ def question_answering(question):
44
  return best_answer['answer']
45
  return f"Tôi không chắc lắm nhưng có lẽ câu trả lời là: \n{best_answer['answer']}"
46
 
47
- if "messages" not in st.session_state:
48
- st.session_state.messages = []
49
 
50
- for message in st.session_state.messages:
51
- with st.chat_message(message["role"]):
52
- st.markdown(message["content"])
53
 
54
 
55
  def clean_answer(s):
56
  # Sử dụng regex để loại bỏ tất cả các ký tự đặc biệt ở cuối chuỗi
57
  return re.sub(r'[^aAàÀảẢáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬbBcCdDđĐeEèÈẻẺẽẼéÉẹẸêÊềỀểỂễỄếẾệỆfFgGhHiIìÌỉỈĩĨíÍịỊjJkKlLmMnNoOòÒỏỎõÕóÓọỌôÔồỒổỔỗỖốỐộỘơƠờỜởỞỡỠớỚợỢpPqQrRsStTuUùÙủỦũŨúÚụỤưƯừỪửỬữỮứỨựỰvVwWxXyYỳỲỷỶỹỸýÝỵỴzZ0-9]+$', '', s)
58
 
59
- if prompt := st.chat_input("What is up?"):
60
- st.session_state.messages.append({"role": "user", "content": prompt})
61
- with st.chat_message("user"):
62
- st.markdown(prompt)
63
- response = clean_answer(question_answering(prompt))
64
- with st.chat_message("assistant"):
65
- st.markdown(response)
66
 
67
- st.session_state.messages.append({"role": "assistant", "content": response})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  return best_answer['answer']
45
  return f"Tôi không chắc lắm nhưng có lẽ câu trả lời là: \n{best_answer['answer']}"
46
 
47
+ # if "messages" not in st.session_state:
48
+ # st.session_state.messages = []
49
 
50
+ # for message in st.session_state.messages:
51
+ # with st.chat_message(message["role"]):
52
+ # st.markdown(message["content"])
53
 
54
 
55
  def clean_answer(s):
56
  # Sử dụng regex để loại bỏ tất cả các ký tự đặc biệt ở cuối chuỗi
57
  return re.sub(r'[^aAàÀảẢáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬbBcCdDđĐeEèÈẻẺẽẼéÉẹẸêÊềỀểỂễỄếẾệỆfFgGhHiIìÌỉỈĩĨíÍịỊjJkKlLmMnNoOòÒỏỎõÕóÓọỌôÔồỒổỔỗỖốỐộỘơƠờỜởỞỡỠớỚợỢpPqQrRsStTuUùÙủỦũŨúÚụỤưƯừỪửỬữỮứỨựỰvVwWxXyYỳỲỷỶỹỸýÝỵỴzZ0-9]+$', '', s)
58
 
59
+ # if prompt := st.chat_input("What is up?"):
60
+ # st.session_state.messages.append({"role": "user", "content": prompt})
61
+ # with st.chat_message("user"):
62
+ # st.markdown(prompt)
63
+ # response = clean_answer(question_answering(prompt))
64
+ # with st.chat_message("assistant"):
65
+ # st.markdown(response)
66
 
67
+ # st.session_state.messages.append({"role": "assistant", "content": response})
68
+
69
+ if 'messages' not in st.session_state:
70
+ st.session_state.messages = []
71
+
72
+ for message in st.session_state.messages:
73
+ if message['role'] == 'assistant':
74
+ avatar_class = "assistant-avatar"
75
+ message_class = "assistant-message"
76
+ avatar = './app/static/ai.png'
77
+ else:
78
+ avatar_class = "user-avatar"
79
+ message_class = "user-message"
80
+ avatar = './app/static/human.png'
81
+ st.markdown(f"""
82
+ <div class="{message_class}">
83
+ <img src="{avatar}" class="{avatar_class}" />
84
+ <div class="stMarkdown">{message['content']}</div>
85
+ </div>
86
+ """, unsafe_allow_html=True)
87
+
88
+ if prompt := st.chat_input(placeholder='Xin chào, tôi có thể giúp được gì cho bạn?'):
89
+ st.markdown(f"""
90
+ <div class="user-message">
91
+ <img src="./app/static/human.png" class="user-avatar" />
92
+ <div class="stMarkdown">{prompt}</div>
93
+ </div>
94
+ """, unsafe_allow_html=True)
95
+ st.session_state.messages.append({'role': 'user', 'content': prompt})
96
+
97
+ respond = clean_answer(question_answering(prompt))
98
+
99
+ st.markdown(f"""
100
+ <div class="assistant-message">
101
+ <img src="./app/static/ai.png" class="assistant-avatar" />
102
+ <div class="stMarkdown">{respond}</div>
103
+ </div>
104
+ """, unsafe_allow_html=True)
105
+ st.session_state.messages.append({'role': 'assistant', 'content': respond})