Spaces:
Sleeping
Sleeping
minhdang14902
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -52,41 +52,7 @@ import pandas as pd
|
|
52 |
# # Hiển thị hình ảnh mà không có caption và điều chỉnh kích thước nhỏ lại
|
53 |
# st.image(image_url, width=100)
|
54 |
|
55 |
-
df = pd.read_csv("./data-law/Data_law_2807.csv") # Đường dẫn đến file CSV của bạn
|
56 |
-
qa_dict = dict(zip(df['question'], df['answer']))
|
57 |
|
58 |
-
st.title("General Law Chatbot")
|
59 |
-
|
60 |
-
# Khởi tạo lịch sử tin nhắn
|
61 |
-
if "messages" not in st.session_state:
|
62 |
-
st.session_state.messages = []
|
63 |
-
|
64 |
-
# Hiển thị các tin nhắn từ lịch sử
|
65 |
-
for message in st.session_state.messages:
|
66 |
-
with st.chat_message(message["role"]):
|
67 |
-
st.markdown(message["content"])
|
68 |
-
|
69 |
-
# Nhận input từ người dùng
|
70 |
-
if prompt := st.chat_input("What is up?"):
|
71 |
-
# Thêm tin nhắn của người dùng vào lịch sử
|
72 |
-
st.session_state.messages.append({"role": "user", "content": prompt})
|
73 |
-
|
74 |
-
# Hiển thị tin nhắn của người dùng trong giao diện
|
75 |
-
with st.chat_message("user"):
|
76 |
-
st.markdown(prompt)
|
77 |
-
|
78 |
-
# Kiểm tra xem prompt có trong dictionary không
|
79 |
-
if prompt in qa_dict:
|
80 |
-
response = qa_dict[prompt]
|
81 |
-
else:
|
82 |
-
response = get_response(prompt)
|
83 |
-
|
84 |
-
# Hiển thị câu trả lời của bot trong giao diện
|
85 |
-
with st.chat_message("assistant"):
|
86 |
-
st.markdown(response)
|
87 |
-
|
88 |
-
# Thêm câu trả lời của bot vào lịch sử
|
89 |
-
st.session_state.messages.append({"role": "assistant", "content": response})
|
90 |
|
91 |
|
92 |
# Download punkt for nltk
|
@@ -96,7 +62,7 @@ def download_nltk_punkt():
|
|
96 |
nltk.download('punkt_tab')
|
97 |
|
98 |
# Cache loading PhoBert model and tokenizer
|
99 |
-
@st.
|
100 |
def load_phoBert():
|
101 |
model = AutoModelForSequenceClassification.from_pretrained('minhdang14902/Phobert_Law')
|
102 |
tokenizer = AutoTokenizer.from_pretrained('minhdang14902/Phobert_Law')
|
@@ -267,7 +233,7 @@ class MRCQuestionAnswering(RobertaPreTrainedModel):
|
|
267 |
# roberta_model = MRCQuestionAnswering.from_pretrained(roberta_model_checkpoint)
|
268 |
|
269 |
# Cache loading Roberta model and tokenizer
|
270 |
-
@st.
|
271 |
def load_roberta_model():
|
272 |
model = MRCQuestionAnswering.from_pretrained('minhdang14902/Roberta_Law')
|
273 |
tokenizer = AutoTokenizer.from_pretrained('minhdang14902/Roberta_Law')
|
@@ -519,3 +485,42 @@ def get_response(text):
|
|
519 |
# st.session_state.messages.append({"role": "assistant", "content": response})
|
520 |
|
521 |
# Đọc file CSV và tạo dictionary từ file
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
# # Hiển thị hình ảnh mà không có caption và điều chỉnh kích thước nhỏ lại
|
53 |
# st.image(image_url, width=100)
|
54 |
|
|
|
|
|
55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
|
57 |
|
58 |
# Download punkt for nltk
|
|
|
62 |
nltk.download('punkt_tab')
|
63 |
|
64 |
# Cache loading PhoBert model and tokenizer
|
65 |
+
@st.cache_resource
|
66 |
def load_phoBert():
|
67 |
model = AutoModelForSequenceClassification.from_pretrained('minhdang14902/Phobert_Law')
|
68 |
tokenizer = AutoTokenizer.from_pretrained('minhdang14902/Phobert_Law')
|
|
|
233 |
# roberta_model = MRCQuestionAnswering.from_pretrained(roberta_model_checkpoint)
|
234 |
|
235 |
# Cache loading Roberta model and tokenizer
|
236 |
+
@st.cache_resource
|
237 |
def load_roberta_model():
|
238 |
model = MRCQuestionAnswering.from_pretrained('minhdang14902/Roberta_Law')
|
239 |
tokenizer = AutoTokenizer.from_pretrained('minhdang14902/Roberta_Law')
|
|
|
485 |
# st.session_state.messages.append({"role": "assistant", "content": response})
|
486 |
|
487 |
# Đọc file CSV và tạo dictionary từ file
|
488 |
+
@st.cache_data
|
489 |
+
def qa_dict():
|
490 |
+
df = pd.read_csv("./data-law/Data_law_2807.csv") # Đường dẫn đến file CSV của bạn
|
491 |
+
qa_dict = dict(zip(df['question'], df['answer']))
|
492 |
+
return qa_dict
|
493 |
+
qa_dict = qa_dict()
|
494 |
+
|
495 |
+
st.title("General Law Chatbot")
|
496 |
+
|
497 |
+
# Khởi tạo lịch sử tin nhắn
|
498 |
+
if "messages" not in st.session_state:
|
499 |
+
st.session_state.messages = []
|
500 |
+
|
501 |
+
# Hiển thị các tin nhắn từ lịch sử
|
502 |
+
for message in st.session_state.messages:
|
503 |
+
with st.chat_message(message["role"]):
|
504 |
+
st.markdown(message["content"])
|
505 |
+
|
506 |
+
# Nhận input từ người dùng
|
507 |
+
if prompt := st.chat_input("What is up?"):
|
508 |
+
# Thêm tin nhắn của người dùng vào lịch sử
|
509 |
+
st.session_state.messages.append({"role": "user", "content": prompt})
|
510 |
+
|
511 |
+
# Hiển thị tin nhắn của người dùng trong giao diện
|
512 |
+
with st.chat_message("user"):
|
513 |
+
st.markdown(prompt)
|
514 |
+
|
515 |
+
# Kiểm tra xem prompt có trong dictionary không
|
516 |
+
if prompt in qa_dict:
|
517 |
+
response = qa_dict[prompt]
|
518 |
+
else:
|
519 |
+
response = get_response(prompt)
|
520 |
+
|
521 |
+
# Hiển thị câu trả lời của bot trong giao diện
|
522 |
+
with st.chat_message("assistant"):
|
523 |
+
st.markdown(response)
|
524 |
+
|
525 |
+
# Thêm câu trả lời của bot vào lịch sử
|
526 |
+
st.session_state.messages.append({"role": "assistant", "content": response})
|