Parser Polis AI

Ubezpieczenia / Przetwarzanie Dokumentów AI

95%

Dokładność automatycznej ekstrakcji

2-stage

Potok LLM (Haiku + Sonnet)

JSON

Dane JSON z nieustrukturyzowanych PDF

Przegląd

Zbudowałem system przetwarzania dokumentów oparty na AI, który automatycznie ekstrahuje ustrukturyzowane dane z PDF polis ubezpieczeniowych. System używa optymalizowanego kosztowo wielomodelowego potoku LLM: Claude 3 Haiku do szybkiej klasyfikacji dokumentów i detekcji sekcji, oraz Claude 3.5 Sonnet do precyzyjnej ekstrakcji strukturyzowanych danych, wdrożonego przez AWS Bedrock.

Kontekst biznesowy

Brokerzy ubezpieczeniowi w Insly musieli przetwarzać dokumenty polis od 23+ ubezpieczycieli, każdy z unikalnymi formatami PDF. Ręczne wprowadzanie danych było podatne na błędy i czasochłonne, każdy dokument wymagał 20-40 minut ręcznej pracy. Wyekstrahowane dane były potrzebne do wypełniania CRM i włączenia funkcji porównania polis.

Wyzwanie

Brokerzy ubezpieczeniowi spędzali godziny na ręcznym wydobywaniu kluczowych danych z dokumentów PDF polis od dziesiątek ubezpieczycieli, z różnymi układami i terminologią.

  • Dokumenty polis od 23+ ubezpieczycieli z całkowicie różnymi układami i strukturami PDF
  • Złożona terminologia ubezpieczeniowa wymagająca rozumienia domeny dla dokładnej ekstrakcji
  • Ograniczenia kosztów wymagające inteligentnego routowania między drogimi i tanimi modelami LLM

Rozwiązanie

Zaprojektowaliśmy wieloetapowy potok używający mniejszego, szybszego modelu (Claude 3 Haiku) do wstępnej klasyfikacji dokumentów i detekcji sekcji, następnie routując odpowiednie sekcje do bardziej zaawansowanego Claude 3.5 Sonnet dla precyzyjnej ekstrakcji strukturyzowanej. Podejście to zmniejszyło koszty API o 60% przy zachowaniu wysokiej dokładności.

  • Wielomodelowy potok LLM: Haiku do detekcji, Sonnet do ekstrakcji strukturyzowanej
  • Serwis FastAPI z asynchronicznym przetwarzaniem i Qdrant do podobieństwa dokumentów
  • Indeksowanie Elasticsearch dla wyekstrahowanych strukturyzowanych danych polis

Podejście i metodologia

Zaczęliśmy od proof-of-concept z jednym modelem LLM, następnie zidentyfikowaliśmy koszt jako główne ograniczenie przy skalowaniu. Zaprojektowaliśmy wielomodelowy potok, aby używać tanich modeli do klasyfikacji i drogich modeli tylko tam gdzie potrzeba. Iterowaliśmy nad promptami z ekspertami dziedzinowymi, aby obsłużyć przypadki brzegowe w polskiej terminologii ubezpieczeniowej.

Szczegóły implementacji

Wielomodelowy Routing LLM

Zaimplementowaliśmy inteligentny routing między Claude 3 Haiku (detekcja) i Claude 3.5 Sonnet (ekstrakcja) do optymalizacji kompromisu koszt-dokładność. Haiku klasyfikuje sekcje dokumentów przy niskim koszcie, Sonnet ekstrahuje dane strukturyzowane tylko z odpowiednich sekcji.

Asynchroniczny Serwis FastAPI

Zbudowaliśmy wysokoprzepustowy serwis FastAPI z asynchronicznym przetwarzaniem do obsługi wsadowej PDF. Zintegrowaliśmy Google Document AI do wstępnej ekstrakcji tekstu PDF i analizy układu przed przetwarzaniem LLM.

Przechowywanie i Wyszukiwanie Danych Strukturyzowanych

Wyekstrahowane strukturyzowane dane polis są indeksowane w Elasticsearch do wyszukiwania pełnotekstowego, z Qdrant do semantycznego dopasowania podobieństwa w celu znajdowania powiązanych dokumentów polis i precedensów.

Kluczowe decyzje

  • AWS Bedrock zamiast bezpośredniego API Anthropic — ujednolicone rozliczenia, bezpieczeństwo IAM i brak zarządzania kluczami API
  • Dwuetapowy potok LLM — Haiku dla szybkości/kosztu, Sonnet dla dokładności przy złożonych ekstrakcjach
  • Google Document AI do układu PDF — lepszy niż surowy pdfplumber dla złożonych wielokolumnowych dokumentów ubezpieczeniowych

Stack technologiczny

Python FastAPI AWS Bedrock Claude 3.5 Sonnet Qdrant Elasticsearch Google Document AI

Powiązane usługi

Poniższe usługi zostały wykorzystane w tym projekcie do osiągnięcia pomyślnych rezultatów.

Wnioski z projektu

  • Inżynieria promptów dla strukturyzowanego wyjścia JSON wymaga obszernych przykładów i wyraźnych opisów schematu
  • Routing modeli oparty na złożoności dokumentu znacznie redukuje koszty bez poświęcania dokładności
  • Human-in-the-loop walidacja dla ekstrakcji o niskiej pewności jest niezbędna dla niezawodności produkcyjnej

Informacje o projekcie

Czas realizacji

4 miesiące

Zespół

2 inżynierów (ML + backend)

Rezultaty

95%

Dokładność automatycznej ekstrakcji

2-stage

Potok LLM (Haiku + Sonnet)

JSON

Dane JSON z nieustrukturyzowanych PDF

Masz podobne wyzwanie?

Porozmawiajmy, jak mogę pomóc Twojemu projektowi odnieść sukces dzięki sprawdzonym rozwiązaniom architektonicznym i AI.