Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -28,7 +28,6 @@ [email protected]
|
|
28 |
|
29 |
import streamlit as st
|
30 |
import requests
|
31 |
-
import base64
|
32 |
import os
|
33 |
import re
|
34 |
|
@@ -40,10 +39,10 @@ headers = {
|
|
40 |
"Authorization": f"Bearer {access_token}" # Using f-string
|
41 |
}
|
42 |
|
43 |
-
st.title('
|
44 |
|
45 |
st.markdown("""
|
46 |
-
##### AI เพื่อการเรียนรู้พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล (PDPA)
|
47 |
ได้รับการออกแบบมาเพื่อช่วยให้ผู้ใช้งานเข้าถึงข้อมูลสำคัญได้อย่างรวดเร็วและเข้าใจง่าย
|
48 |
โดยระบบสามารถค้นหาและวิเคราะห์ความหมายในเชิงบริบทได้อย่างลึกซึ้ง
|
49 |
ทำให้สามารถเข้าใจความเชื่อมโยงและความหมายของข้อมูลได้อย่างแม่นยำ
|
@@ -53,38 +52,6 @@ st.markdown("""
|
|
53 |
|
54 |
system_prompt = "คุณเป็นผู้ช่วยที่มีความรู้ด้านกฎหมาย พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล (PDPA) และสามารถให้คำตอบที่เกี่ยวข้องเฉพาะตาม context ที่ได้รับ"
|
55 |
|
56 |
-
# Function to clean text for search
|
57 |
-
def clean_text_for_search(text):
|
58 |
-
return ' '.join(re.sub(r'P-\d+\s*$', '', text, flags=re.MULTILINE).split())
|
59 |
-
|
60 |
-
# Function to create highlighted PDF
|
61 |
-
def create_highlighted_pdf(pdf_path, search_text, page_number):
|
62 |
-
try:
|
63 |
-
search_text = clean_text_for_search(search_text)
|
64 |
-
doc = fitz.open(pdf_path)
|
65 |
-
page = doc[int(page_number) - 1]
|
66 |
-
words = [word for word in search_text.split() if word]
|
67 |
-
|
68 |
-
for word in words:
|
69 |
-
if len(word) > 3:
|
70 |
-
text_instances = page.search_for(word)
|
71 |
-
for inst in text_instances:
|
72 |
-
highlight = page.add_highlight_annot(inst)
|
73 |
-
highlight.set_colors(stroke=(1, 1, 0)) # Highlight color (yellow)
|
74 |
-
highlight.update()
|
75 |
-
|
76 |
-
new_doc = fitz.open()
|
77 |
-
new_doc.insert_pdf(doc, from_page=int(page_number) - 1, to_page=int(page_number) - 1)
|
78 |
-
pdf_bytes = new_doc.write()
|
79 |
-
|
80 |
-
doc.close()
|
81 |
-
new_doc.close()
|
82 |
-
|
83 |
-
return pdf_bytes
|
84 |
-
except Exception as e:
|
85 |
-
st.error(f"Error in create_highlighted_pdf: {str(e)}")
|
86 |
-
return None
|
87 |
-
|
88 |
# Function to format file size
|
89 |
def format_file_size(size_in_bytes):
|
90 |
for unit in ['B', 'KB', 'MB', 'GB']:
|
|
|
28 |
|
29 |
import streamlit as st
|
30 |
import requests
|
|
|
31 |
import os
|
32 |
import re
|
33 |
|
|
|
39 |
"Authorization": f"Bearer {access_token}" # Using f-string
|
40 |
}
|
41 |
|
42 |
+
st.title('eRAG-PDPA-v1')
|
43 |
|
44 |
st.markdown("""
|
45 |
+
##### 🤖 AI เพื่อการเรียนรู้พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล (PDPA)
|
46 |
ได้รับการออกแบบมาเพื่อช่วยให้ผู้ใช้งานเข้าถึงข้อมูลสำคัญได้อย่างรวดเร็วและเข้าใจง่าย
|
47 |
โดยระบบสามารถค้นหาและวิเคราะห์ความหมายในเชิงบริบทได้อย่างลึกซึ้ง
|
48 |
ทำให้สามารถเข้าใจความเชื่อมโยงและความหมายของข้อมูลได้อย่างแม่นยำ
|
|
|
52 |
|
53 |
system_prompt = "คุณเป็นผู้ช่วยที่มีความรู้ด้านกฎหมาย พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล (PDPA) และสามารถให้คำตอบที่เกี่ยวข้องเฉพาะตาม context ที่ได้รับ"
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
# Function to format file size
|
56 |
def format_file_size(size_in_bytes):
|
57 |
for unit in ['B', 'KB', 'MB', 'GB']:
|