Skip to content

TanDoan1234/DocuMind

Repository files navigation

DocuMind Logo
DOCUMIND

Deep Learning Final Project

IBM Docling • BARTpho & ViT5 • PhoBERT & XLM-RoBERTa • Sentence Transformers


Flutter FastAPI Python License Platform Stars


Portfolio LinkedIn Email Facebook


DocuMind is an AI-powered personal notebook assistant designed to help students and researchers manage and summarize their documents efficiently using state-of-the-art Deep Learning models.


Get Started · AI Stack · Features · Docs


Product Demo


Onboarding

Login

Register

Home Screen

Notebook List

Notebook Detail

AI Chat

Summary

Profile

And more features like Settings, Notifications...


Student information

HUIT Logo

Student ID Full name GitHub Email
2001230791 Doan Tan Minh Tan TanDoan1234 doanminhtan.dev@gmail.com

Purpose

DocuMind is an AI-powered personal notebook assistant designed to help students and researchers manage and summarize their documents efficiently. By leveraging advanced Deep Learning techniques, DocuMind allows users to upload documents (PDF, Docx) and receive high-quality summaries and context-aware insights, ensuring accurate information processing.


🧠 AI & Deep Learning Stack

The project applies state-of-the-art Deep Learning techniques to optimize Vietnamese document processing:

  • Document Processing: Uses IBM Docling for advanced layout analysis and high-quality Markdown extraction from complex documents (PDF, Docx, Pptx).
  • Large Language Models (LLM):
    • Summarization: Evaluated using both BARTpho and ViT5 for optimal performance.
    • Question Answering: Comparative implementation of PhoBERT and XLM-RoBERTa for context-aware extraction.

📂 Directory layout

DocuMind/
├── mobile/                      ← Flutter mobile application
├── backend/                     
│   ├── app/                     ← Application logic (API, Core, Models)
│   ├── processor/               ← AI Pipeline (Docling, Embedding, Summarizer)
│   ├── main.py                  ← FastAPI entry point
│   └── Dockerfile               ← Backend container definition
├── docs/                        ← Setup guides and documentation
├── tests/                       ← Backend & AI testing scripts
├── ai/                          ← Pre-trained models and training results
├── assets/                      ← Project assets (logos, demo screenshots)
├── docker-compose.yml           ← Service orchestration (Backend & DB)
├── pyproject.toml               ← Dependency management (uv)
└── .env                         ← Environment variables (DB, Keys)

🛠️ Development Setup

We provide two ways to set up the DocuMind development environment. Choose the one that best fits your workflow:

Prerequisites

  • Python 3.12+
  • uv
  • Flutter SDK (for mobile)

Backend Setup & Testing

  1. Install dependencies and sync the environment:

    uv sync
  2. Run AI validation tests (Models will be downloaded on first run):

    • Document Processing: uv run python tests/test_docling_processor.py
    • Semantic Similarity: uv run python tests/test_embedding_service.py
    • Summarization: uv run python tests/test_summarization.py
    • AI Question Answering: uv run python tests/test_qa.py
  3. Start the main server:

    uv run python backend/main.py

Mobile Setup

  1. Run the application:
    cd mobile
    flutter run

📚 Documentation

Getting Started

User Guide

Advanced Topics


About

Intelligent document assistant that summarizes and analyzes complex files (PDF, Docx) using advanced Deep Learning. Features cross-platform Flutter app and a high-performance FastAPI backend.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors