Skip to content

Latest commit

 

History

History
146 lines (99 loc) · 5.12 KB

README.md

File metadata and controls

146 lines (99 loc) · 5.12 KB

Klasyfikacja Dokumentów

Build and Push Docker Images

Cel projektu

Projekt koncentruje się na implementacji zaawansowanego systemu klasyfikacji dokumentów, wykorzystującego potencjał chmury obliczeniowej oraz technik uczenia maszynowego. System został zaprojektowany z myślą o automatyzacji procesów analizy i kategoryzacji różnorodnych dokumentów.


Wykorzystane technologie

Podstawowe komponenty

Narzędzia pomocnicze

Wymagane biblioteki

Important

Minimalna wspierana wersja Python to 3.12.

Wszystkie wymagane biblioteki znajdują się w pliku pyproject.toml oraz requirements.txt. Aby zainstalować wszystkie zależności, należy uruchomić poniższą komendę:

pip install -r requirements.txt

lub przy użyciu uv:

uv sync --frozen

Wymagania funkcjonalne

Podstawowe

Obsługa dokumentów

  • Wsparcie dla różnorodnych formatów dokumentów (PDF, JPEG, PNG, WEBP)
  • Przetwarzanie dokumentów w języku angielskim
  • Klasyfikacja dokumentów z założonym opóźnieniem do 15 sekund

Bezpieczeństwo

  • Bezpieczne przechowywanie dokumentów z szyfrowaniem
  • Logowanie operacji systemowych

Integracja i API

  • REST API zgodne ze standardem OpenAPI 3.0

  • Endpointy do:

    • Przesyłania dokumentów
    • Pobierania wyników klasyfikacji
    • Zarządzania dokumentami
    • Wyszukiwania i filtrowania
  • Pełna dokumentacja API w formacie OpenAPI

Przechowywanie danych

  • Baza danych do przechowywania:

    • Dokumentów w formie zaszyfrowanej
    • Wyników klasyfikacji
    • Adnotacji
  • CI/CD do automatyzacji procesu wdrożenia

    • Wsparcie dla kontenerów wieloarchitekturowych
    • Automatyczne budowanie obrazów Docker

Dodatkowe (opcjonalne)

Wielojęzyczność

  • Obsługa przynajmniej języka polskiego i angielskiego
  • Automatyczne wykrywanie języka dokumentu

Analiza i przetwarzanie

  • Ekstrakcja kluczowych informacji z dokumentu
  • Analiza układu dokumentu

Interfejs użytkownika

  • Intuicyjny interfejs webowy do:

    • Przeglądania dokumentów według kategorii
    • Zarządzania klasyfikacją
    • Wizualizacji statystyk
    • Eksportu danych i raportów

Ograniczenia systemu

Ograniczenia plików

Dokumenty tekstowe

  • Formaty: PDF
  • Maksymalny rozmiar: 20MB
  • Limit stron: 8

Obrazy i skany

  • Formaty zdjęć: JPEG, PNG, WEBP
    • Maksymalny rozmiar: 20MB
    • Maksymalna rozdzielczość: 2480px x 3508px
  • Akceptowane tryby kolorów: RGB, CMYK, skala szarości

Ograniczenia przetwarzania

Generowanie opisów

  • Długość opisu:
    • Minimum: 100 słów
    • Maksimum: 300 słów
  • Czas przetwarzania:
    • Generowanie opisu: maksymalnie 10 sekund
    • Klasyfikacja dokumentu: maksymalnie 15 sekund
    • OCR: maksymalnie 15 sekund na stronę

Harmonogram realizacji projektu

Data Etap Kluczowe zadania
8 XI 2024 Wstępna konfiguracja środowiska • Konfiguracja środowiska i kontenerów
• Utworzenie repozytorium
• Utworzenie potoku przygotowania danych
• Implementacja podstawowego OCR
22 XI 2024 Model bazowy • Implementacja LayoutLMv3
• Konfiguracja bazy danych
• Podstawowa klasyfikacja
6 XII 2024 Optymalizacja • Analiza różnych metod uczenia maszynowego
• Implementacja generowania podsumowań
• Wybór optymalnego rozwiązania
20 XII 2024 Rozszerzenia • Implementacja dodatkowych funkcji
17 I 2025 Interfejs użytkownika • Implementacja interfejsu webowego
• Dokumentacja końcowa