Truong-Phuc Nguyen commited on
Commit
b2794e5
1 Parent(s): c87b78a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -10
app.py CHANGED
@@ -3,13 +3,17 @@ import torch
3
  from transformers import pipeline
4
 
5
  st.set_page_config(page_title="Vietnamese Legal Question Answering", page_icon="🧊", layout="centered", initial_sidebar_state="expanded")
6
- st.markdown("<h1 style='text-align: center;'>Hệ thống hỏi đáp trực tuyến cho văn bản pháp luật Việt Nam</h1>", unsafe_allow_html=True)
 
 
 
 
7
 
8
  context = st.sidebar.text_area(label='Nội dung văn bản pháp luật Việt Nam:', placeholder='Vui lòng nhập nội dung văn bản pháp luật Việt Nam tại đây...', height=925)
9
 
10
  device = 0 if torch.cuda.is_available() else -1
11
  if 'model' not in st.session_state:
12
- print('Some errors occured!')
13
  st.session_state.model = pipeline("question-answering", model='./model', device=device)
14
 
15
  def get_answer(context, question):
@@ -19,17 +23,36 @@ if 'messages' not in st.session_state:
19
  st.session_state.messages = []
20
 
21
  for message in st.session_state.messages:
22
- with st.chat_message(name=message['role']):
23
- st.markdown(message['content'])
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
  if prompt := st.chat_input(placeholder='Xin chào, tôi có thể giúp được gì cho bạn?'):
26
- with st.chat_message(name='user'):
27
- st.markdown(prompt)
 
 
 
 
28
  st.session_state.messages.append({'role': 'user', 'content': prompt})
29
 
30
  respond = get_answer(context=context, question=prompt)['answer']
31
 
32
- with st.chat_message(name='assitant'):
33
- st.markdown(respond)
34
-
35
- st.session_state.messages.append({'role': 'assitant', 'content': respond})
 
 
 
 
3
  from transformers import pipeline
4
 
5
  st.set_page_config(page_title="Vietnamese Legal Question Answering", page_icon="🧊", layout="centered", initial_sidebar_state="expanded")
6
+
7
+ with open("./static/styles.css") as f:
8
+ st.markdown(f"<style>{f.read()}</style>", unsafe_allow_html=True)
9
+
10
+ st.markdown("<h1 style='text-align: center;'>ChatViLD: Hệ thống hỏi đáp trực tuyến cho văn bản pháp luật Việt Nam</h1>", unsafe_allow_html=True)
11
 
12
  context = st.sidebar.text_area(label='Nội dung văn bản pháp luật Việt Nam:', placeholder='Vui lòng nhập nội dung văn bản pháp luật Việt Nam tại đây...', height=925)
13
 
14
  device = 0 if torch.cuda.is_available() else -1
15
  if 'model' not in st.session_state:
16
+ print('Some errors occurred!')
17
  st.session_state.model = pipeline("question-answering", model='./model', device=device)
18
 
19
  def get_answer(context, question):
 
23
  st.session_state.messages = []
24
 
25
  for message in st.session_state.messages:
26
+ if message['role'] == 'assistant':
27
+ avatar_class = "assistant-avatar"
28
+ message_class = "assistant-message"
29
+ avatar = './app/static/ai.png'
30
+ else:
31
+ avatar_class = "user-avatar"
32
+ message_class = "user-message"
33
+ avatar = './app/static/human.png'
34
+ st.markdown(f"""
35
+ <div class="{message_class}">
36
+ <img src="{avatar}" class="{avatar_class}" />
37
+ <div class="stMarkdown">{message['content']}</div>
38
+ </div>
39
+ """, unsafe_allow_html=True)
40
 
41
  if prompt := st.chat_input(placeholder='Xin chào, tôi có thể giúp được gì cho bạn?'):
42
+ st.markdown(f"""
43
+ <div class="user-message">
44
+ <img src="./app/static/human.png" class="user-avatar" />
45
+ <div class="stMarkdown">{prompt}</div>
46
+ </div>
47
+ """, unsafe_allow_html=True)
48
  st.session_state.messages.append({'role': 'user', 'content': prompt})
49
 
50
  respond = get_answer(context=context, question=prompt)['answer']
51
 
52
+ st.markdown(f"""
53
+ <div class="assistant-message">
54
+ <img src="./app/static/ai.png" class="assistant-avatar" />
55
+ <div class="stMarkdown">{respond}</div>
56
+ </div>
57
+ """, unsafe_allow_html=True)
58
+ st.session_state.messages.append({'role': 'assistant', 'content': respond})