Spaces:
Running
Running
Truong-Phuc Nguyen
commited on
Commit
•
b2794e5
1
Parent(s):
c87b78a
Update app.py
Browse files
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 |
-
|
|
|
|
|
|
|
|
|
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
|
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 |
-
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
if prompt := st.chat_input(placeholder='Xin chào, tôi có thể giúp được gì cho bạn?'):
|
26 |
-
|
27 |
-
|
|
|
|
|
|
|
|
|
28 |
st.session_state.messages.append({'role': 'user', 'content': prompt})
|
29 |
|
30 |
respond = get_answer(context=context, question=prompt)['answer']
|
31 |
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
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})
|