Spaces:
Runtime error
Runtime error
Commit ·
1f1b0d7
1
Parent(s): a53041c
Add presentation file pdf
Browse files- .gitattributes +1 -0
- .gitignore +0 -1
- FinalProject-Presentation.pdf +3 -0
- app.py +6 -9
.gitattributes
CHANGED
|
@@ -1 +1,2 @@
|
|
| 1 |
*.doc filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 1 |
*.doc filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.pdf filter=lfs diff=lfs merge=lfs -text
|
.gitignore
CHANGED
|
@@ -10,7 +10,6 @@ __pycache__/
|
|
| 10 |
# Binary files
|
| 11 |
.doc
|
| 12 |
.docx
|
| 13 |
-
.pdf
|
| 14 |
|
| 15 |
# Distribution / packaging
|
| 16 |
.Python
|
|
|
|
| 10 |
# Binary files
|
| 11 |
.doc
|
| 12 |
.docx
|
|
|
|
| 13 |
|
| 14 |
# Distribution / packaging
|
| 15 |
.Python
|
FinalProject-Presentation.pdf
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2cffe218897cc50ac518baa9c74320c52b4956f34143e6601a4d119638bfba2d
|
| 3 |
+
size 751258
|
app.py
CHANGED
|
@@ -135,9 +135,6 @@ def load_data_protection_rules():
|
|
| 135 |
def extract_text_from_file(uploaded_file):
|
| 136 |
"""Extract text from uploaded file (PDF, MARKDOWN, DOC/DOCX, or TXT)"""
|
| 137 |
try:
|
| 138 |
-
st.write(f"Processing file: {uploaded_file.name}")
|
| 139 |
-
st.write(f"File type: {type(uploaded_file)}")
|
| 140 |
-
|
| 141 |
# Reset file pointer to beginning
|
| 142 |
uploaded_file.seek(0)
|
| 143 |
|
|
@@ -310,8 +307,8 @@ def chat_with_document(client, prefix: str, question: str) -> str:
|
|
| 310 |
|
| 311 |
# Main app
|
| 312 |
def main():
|
| 313 |
-
st.title("📄 Document Analysis Chatbot
|
| 314 |
-
|
| 315 |
# st.markdown("---")
|
| 316 |
|
| 317 |
# Load data protection rules automatically on startup
|
|
@@ -336,7 +333,7 @@ def main():
|
|
| 336 |
**Cách 2:** Nhập trực tiếp ở sidebar
|
| 337 |
|
| 338 |
### 📝 Lấy API Key:
|
| 339 |
-
1. Truy cập [Google AI Studio](https://
|
| 340 |
2. Tạo API Key mới
|
| 341 |
3. Sao chép và cấu hình
|
| 342 |
"""
|
|
@@ -347,8 +344,8 @@ def main():
|
|
| 347 |
st.sidebar.header("📁 Upload Tài liệu")
|
| 348 |
uploaded_file = st.sidebar.file_uploader(
|
| 349 |
"Chọn tài liệu cần phân tích",
|
| 350 |
-
type=["pdf", "doc", "
|
| 351 |
-
help="Hỗ trợ định dạng PDF,
|
| 352 |
)
|
| 353 |
|
| 354 |
# Show data protection status
|
|
@@ -390,7 +387,7 @@ def main():
|
|
| 390 |
# Create a container for chat messages
|
| 391 |
prompt = st.chat_input("Đặt câu hỏi về tài liệu...")
|
| 392 |
|
| 393 |
-
with st.container(height=
|
| 394 |
# Display chat history
|
| 395 |
for message in st.session_state.messages:
|
| 396 |
with st.chat_message(message["role"]):
|
|
|
|
| 135 |
def extract_text_from_file(uploaded_file):
|
| 136 |
"""Extract text from uploaded file (PDF, MARKDOWN, DOC/DOCX, or TXT)"""
|
| 137 |
try:
|
|
|
|
|
|
|
|
|
|
| 138 |
# Reset file pointer to beginning
|
| 139 |
uploaded_file.seek(0)
|
| 140 |
|
|
|
|
| 307 |
|
| 308 |
# Main app
|
| 309 |
def main():
|
| 310 |
+
st.title("📄 Document Analysis Chatbot")
|
| 311 |
+
st.markdown("*Powered by Gemini 2.5 Flash with Automatic Cost Optimization*")
|
| 312 |
# st.markdown("---")
|
| 313 |
|
| 314 |
# Load data protection rules automatically on startup
|
|
|
|
| 333 |
**Cách 2:** Nhập trực tiếp ở sidebar
|
| 334 |
|
| 335 |
### 📝 Lấy API Key:
|
| 336 |
+
1. Truy cập [Google AI Studio](https://aistudio.google.com/app/apikey)
|
| 337 |
2. Tạo API Key mới
|
| 338 |
3. Sao chép và cấu hình
|
| 339 |
"""
|
|
|
|
| 344 |
st.sidebar.header("📁 Upload Tài liệu")
|
| 345 |
uploaded_file = st.sidebar.file_uploader(
|
| 346 |
"Chọn tài liệu cần phân tích",
|
| 347 |
+
type=["pdf", "doc", "docx", "md", "txt"],
|
| 348 |
+
help="Hỗ trợ định dạng PDF, DOC/DOCX, MARKDOWN, TXT",
|
| 349 |
)
|
| 350 |
|
| 351 |
# Show data protection status
|
|
|
|
| 387 |
# Create a container for chat messages
|
| 388 |
prompt = st.chat_input("Đặt câu hỏi về tài liệu...")
|
| 389 |
|
| 390 |
+
with st.container(height=350):
|
| 391 |
# Display chat history
|
| 392 |
for message in st.session_state.messages:
|
| 393 |
with st.chat_message(message["role"]):
|