Text-Extract-API: Przekształcanie dokumentów w dane strukturalne bez bólu głowy
Potrzebowaliście kiedyś wyodrębnić dane z raportu PDF lub skanu dokumentu? Znany koszmar ręcznego kopiowania tekstu, walki z przekrzywionymi tabelami i utraty formuł? Text-Extract-API oferuje eleganckie rozwiązanie tego problemu, łączące nowoczesne technologie OCR z modelami językowymi.
Co to za narzędzie?
Text-Extract-API to API w Pythonie, które umożliwia:
- Konwersję PDF, Word, PowerPoint i obrazów do Markdown lub JSON
- Wyodrębnianie tabel, liczb i formuł matematycznych
- Czyszczenie dokumentów z danych osobowych (PII)
- Poprawę jakości rozpoznawania za pomocą modeli LLM (Llama 3, MiniCPM i inne)
Główną zaletą jest to, że wszystko działa lokalnie bez wysyłania danych do usług chmurowych.
Kluczowe funkcje
1. Obsługa różnych formatów i strategii rozpoznawania
Projekt obsługuje kilka silników OCR:
- EasyOCR — do szybkiego rozpoznawania tekstu w ponad 30 językach
- MiniCPM-V — otwarty model do użytku komercyjnego
- Llama 3.2 Vision — najdokładniejsza, ale wymagająca zasobów opcja
- Remote API — do integracji z zewnętrznymi usługami jak Marker PDF
Przykładowe polecenie konwersji:
python client/cli.py ocr_upload --file example.pdf --strategy easyocr
2. Ulepszanie tekstu za pomocą LLM
Po rozpoznaniu tekst można dalej przetwarzać za pomocą modelu językowego:
- Korekcja błędów OCR
- Wyodrębnianie danych strukturalnych (np. konwersja raportu medycznego do JSON)
- Usuwanie danych osobowych
python client/cli.py ocr_upload --file medical_report.pdf --prompt_file extract_to_json.txt --model llama3.1
3. Elastyczne przechowywanie wyników
Obsługiwane są różne strategie przechowywania przetworzonych dokumentów:
- Lokalny system plików
- Google Drive
- Amazon S3
Konfiguracja za pomocą plików YAML pozwala łatwo dostosować system do własnych potrzeb.
Szczegóły techniczne
Architektura projektu opiera się na:
- FastAPI dla REST API
- Celery do asynchronicznego przetwarzania zadań
- Redis do cache'owania wyników
- Ollama do pracy z lokalnymi modelami LLM
Oferowane są dwie opcje wdrożenia:
- Uruchomienie natywne (przydatne dla Maca z procesorem Apple Silicon)
- Kontenery Docker (w tym wersja z akceleracją GPU)
Praktyczne zastosowania
Gdzie może przydać się Text-Extract-API?
Kancelarie prawne mogą zautomatyzować przetwarzanie skanów umów, wyodrębniając kluczowe warunki do formatu strukturalnego.
Placówki medyczne zyskają narzędzie do konwersji raportów papierowych na elektroniczne bez ręcznego wprowadzania danych.
Startupy fintech będą mogły analizować wyciągi bankowe i faktury, wyodrębniając dane do systemów księgowych.
Naukowcy docenią możliwość digitalizacji starych książek i artykułów naukowych z zachowaniem formuł i tabel.
Zacznij pracę w 5 minut
- Zainstaluj Docker i Ollama
- Sklonuj repozytorium:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api
- Uruchom usługi:
docker-compose up --build
- Wypróbuj konwersję pierwszego dokumentu!
Text-Extract-API to: ✅ Lokalne rozwiązanie bez wysyłania danych do chmury ✅ Obsługa wielu formatów i języków ✅ Elastyczna integracja z różnymi opcjami przechowywania ✅ Poprawa jakości przez LLM
Projekt szczególnie przypadnie do gustu programistom, którzy potrzebują pracować z dokumentami w swoich aplikacjach, ale nie chcą polegać na komercyjnych API ani poświęcać czasu na własną implementację OCR.
Dostępna jest wersja demo do testowania, a wszystkie pytania można omawiać w społeczności Discord projektu.
Powiązane projekty