Budowa Aplikacji RAG z Multimodalnością: Bedrock

Obecnie organizacje muszą radzić sobie z ogromnymi ilościami danych niestrukturalnych, które występują w różnych formatach, w tym w dokumentach, obrazach, plikach audio i plikach wideo. W przeszłości wydobycie sensownych informacji z tych danych w różnych formatach wymagało złożonych procesów przetwarzania i znacznych nakładów pracy programistycznej. Jednak technologia generatywnej sztucznej inteligencji rewolucjonizuje ten obszar, zapewniając potężne możliwości automatycznego przetwarzania, analizowania tych danych w różnych formatach dokumentów i wydobywania z nich wiedzy, co znacznie zmniejsza ilość pracy ręcznej, a jednocześnie zwiększa dokładność i skalowalność.

Dzięki Amazon Bedrock Data Automation i Amazon Bedrock Knowledge Bases możesz teraz z łatwością tworzyć zaawansowane aplikacje multimodalne RAG. Wspólnie umożliwiają one organizacjom efektywne przetwarzanie, organizowanie i wyszukiwanie informacji z ich treści multimodalnych, zmieniając sposób zarządzania i wykorzystywania danych niestrukturalnych.

Ten artykuł poprowadzi Cię przez proces budowy aplikacji full-stack, która利用 Amazon Bedrock Data Automation przetwarzanie treści multimodalnych, przechowywanie wydobytych informacji w Amazon Bedrock Knowledge Bases i umożliwienie zapytań w języku naturalnym za pomocą interfejsu pytań i odpowiedzi opartego na RAG.

Przykłady zastosowań w praktyce

Integracja Amazon Bedrock Data Automation i Amazon Bedrock Knowledge Bases zapewnia potężne rozwiązanie do przetwarzania dużych ilości danych niestrukturalnych w różnych branżach, takie jak:

  • W sektorze opieki zdrowotnej organizacje muszą przetwarzać duże ilości dokumentacji medycznej pacjentów, w tym formularze medyczne, obrazy diagnostyczne i nagrania konsultacji. Amazon Bedrock Data Automation może automatycznie wyodrębniać i strukturyzować te informacje, a Amazon Bedrock Knowledge Bases umożliwia pracownikom medycznym używanie zapytań w języku naturalnym, na przykład „Jaki był ostatni odczyt ciśnienia krwi pacjenta?” lub „Pokaż historię leczenia pacjenta z cukrzycą”.
  • Instytucje finansowe codziennie przetwarzają tysiące dokumentów, od wniosków o kredyt po sprawozdania finansowe. Amazon Bedrock Data Automation może wyodrębniać kluczowe wskaźniki finansowe i informacje dotyczące zgodności, a Amazon Bedrock Knowledge Bases umożliwia analitykom zadawanie pytań takich jak: „Jakie czynniki ryzyka zostały wymienione w najnowszym raporcie kwartalnym?” lub „Pokaż wszystkie wnioski o kredyt z wysokim wynikiem kredytowym”.
  • Kancelarie prawne muszą przetwarzać duże ilości akt spraw, które zawierają dokumenty sądowe, zdjęcia dowodowe i zeznania świadków. Amazon Bedrock Data Automation może przetwarzać te różne źródła, a Amazon Bedrock Knowledge Bases umożliwia prawnikom zadawanie pytań: „Jakie dowody przedstawiono w sprawie wydarzeń z 15 marca?” lub „Znajdź wszystkie oświadczenia świadków, które wspominają o oskarżonym”.
  • Firmy medialne mogą wykorzystać tę integrację do inteligentnego targetowania reklam kontekstowych. Amazon Bedrock Data Automation przetwarza treść wideo, napisy i audio, aby zrozumieć kontekst sceny, dialogi i emocje, a także analizuje zasoby reklamowe i wymagania dotyczące kampanii reklamowych. Następnie Amazon Bedrock Knowledge Bases umożliwia wykonywanie złożonych zapytań, aby dopasować reklamy do odpowiednich momentów w treści, na przykład „Znajdź sceny z aktywności na świeżym powietrzu o pozytywnym wydźwięku z reklamami sprzętu sportowego” lub „Zidentyfikuj segmenty reklam podróży omawiające turystykę”. To inteligentne dopasowanie kontekstowe zapewnia bardziej trafne i skuteczne reklamy, zachowując jednocześnie bezpieczeństwo marki.

Te przykłady pokazują, jak połączenie możliwości wydobywania danych przez Amazon Bedrock Data Automation z zapytaniami w języku naturalnym Amazon Bedrock Knowledge Bases może zmienić sposób, w jaki organizacje взаимодействуют ze swoimi danymi niestrukturalnymi.

Omówienie rozwiązania

To kompleksowe rozwiązanie demonstruje zaawansowane możliwości Amazon Bedrock w zakresie przetwarzania i analizowania treści multimodalnych (dokumentów, obrazów, plików audio i wideo), które realizuje poprzez trzy kluczowe komponenty: Amazon Bedrock Data Automation, Amazon Bedrock Knowledge Bases i modele podstawowe dostarczane przez Amazon Bedrock. Użytkownicy mogą przesyłać różne typy treści, w tym pliki audio, obrazy, wideo lub pliki PDF, w celu automatycznego przetwarzania i analizy.

Po przesłaniu treści Amazon Bedrock Data Automation przetwarza je przy użyciu standardowych lub niestandardowych planów w celu uzyskania cennych informacji. Wyodrębnione informacje są przechowywane w formacie JSON w zasobniku Amazon Simple Storage Service (Amazon S3), a stan zadania jest śledzony za pośrednictwem Amazon EventBridge i zapisywany w Amazon DynamoDB. Rozwiązanie to wykonuje niestandardową analizę wyodrębnionego JSON w celu utworzenia dokumentów zgodnych z bazą wiedzy, które są następnie przechowywane i indeksowane w Amazon Bedrock Knowledge Bases.

Dzięki intuicyjnemu interfejsowi użytkownika rozwiązanie to wyświetla zarówno przesłane treści, jak i wyodrębnione informacje. Użytkownicy mogą взаимодействовать z przetworzonymi danymi za pośrednictwem systemu pytań i odpowiedzi opartego na generowaniu rozszerzonym przez wyszukiwanie (RAG), który jest zasilany przez modele podstawowe Amazon Bedrock. To zintegrowane podejście umożliwia organizacjom efektywne przetwarzanie, analizowanie i uzyskiwanie informacji z różnych formatów treści, przy jednoczesnym wykorzystaniu solidnej i skalowalnej infrastruktury wdrożonej przy użyciu AWS Cloud Development Kit (AWS CDK).

Architektura

Poniższy diagram architektury ilustruje proces rozwiązania:

  1. Użytkownik взаимодействует z aplikacją front-end, uwierzytelniając się za pomocą Amazon Cognito.
  2. Żądania API są obsługiwane przez Amazon API Gateway i funkcje AWS Lambda.
  3. Pliki są przesyłane do zasobnika S3 w celu przetworzenia.
  4. Amazon Bedrock Data Automation przetwarza pliki i wyodrębnia informacje.
  5. EventBridge zarządza stanem zadań i wyzwala przetwarzanie końcowe.
  6. Stan zadania jest przechowywany w DynamoDB, a przetworzona zawartość jest przechowywana w Amazon S3.
  7. Funkcja Lambda analizuje przetworzoną zawartość i indeksuje ją w Amazon Bedrock Knowledge Bases.
  8. System pytań i odpowiedzi oparty na RAG wykorzystuje modele podstawowe Amazon Bedrock do odpowiadania na zapytania użytkowników.

Wymagania wstępne

Back-end

W przypadku zaplecza wymagania wstępne są następujące:

  • Konto AWS.
  • Python 3.11 lub nowszy.
  • Docker.
  • GitHub (jeśli używasz repozytorium kodu).
  • AWS CDK. Aby uzyskać więcej szczegółów i wymagań wstępnych, zobacz Wprowadzenie do AWS CDK.
  • Włącz dostęp do modeli podstawowych w Amazon Bedrock:
    • Claude 3.5 Sonnet v2.0 firmy Anthropic
    • Amazon Nova Pro v1.0
    • Claude 3.7 Sonnet v1.0 firmy Anthropic

Front-end

W przypadku front-endu wymagania wstępne są następujące:

  • Node/npm: v18.12.1
  • Wdrożony back-end.
  • Co najmniej jeden użytkownik został dodany do odpowiedniej puli użytkowników Amazon Cognito (wymagane do wywołań API, które wymagają uwierzytelnienia).

Wszystko, czego potrzebujesz, jest dostępne jako kod open source w naszym repozytorium GitHub.

Przewodnik wdrażania

Ten przykładowy codebase aplikacji jest zorganizowany w następujące kluczowe foldery: