Създаване на мултимодални RAG приложения с Amazon Bedrock

В днешно време организациите трябва да се справят с огромни количества неструктурирани данни, които съществуват в различни формати, включително документи, изображения, аудио файлове и видео файлове. В миналото извличането на значими прозрения от тези различни формати на данни изискваше сложни процеси на обработка и значителни усилия за разработка. Но генеративните AI технологии радикално променят тази област, като предоставят мощни възможности за автоматично обработване, анализиране и извличане на прозрения от тези различни формати на документи, значително намалявайки ръчните усилия и повишавайки точността и мащабируемостта.

С Amazon Bedrock Data Automation и Amazon Bedrock Knowledge Bases, вече можете лесно да изградите мощни мултимодални RAG приложения. Заедно те дават възможност на организациите да обработват, организират и извличат ефективно информация от своето мултимодално съдържание, като по този начин променят начина, по който управляват и използват неструктурирани данни.

Тази статия ще ви ръководи при изграждането на full-stack приложение, което използва Amazon Bedrock Data Automation за обработка на мултимодално съдържание, съхранява извлечената информация в Amazon Bedrock Knowledge Bases и позволява заявки на естествен език чрез базиран на RAG интерфейс за въпроси и отговори.

Практически случаи на употреба

Интеграцията на Amazon Bedrock Data Automation и Amazon Bedrock Knowledge Bases предоставя мощно решение за обработка на големи количества неструктурирани данни в различни отрасли, като например:

  • В здравеопазването, организациите трябва да се справят с огромни количества пациентски записи, включително медицински формуляри, диагностични изображения и консултативни записи. Amazon Bedrock Data Automation може автоматично да извлича и структурира тази информация, докато Amazon Bedrock Knowledge Bases позволява на медицинските специалисти да използват заявки на естествен език, като например “Какво е последното измерване на кръвното налягане на пациента?” или “Покажи медицинската история на пациента с диабет”.
  • Финансовите институции ежедневно обработват хиляди документи, от заявления за заеми до финансови отчети. Amazon Bedrock Data Automation може да извлича ключови финансови показатели и информация за съответствие, докато Amazon Bedrock Knowledge Bases позволява на анализаторите да задават въпроси като: “Какви рискови фактори бяха споменати в последния тримесечен отчет?” или “Покажи всички заявления за заеми с висок кредитен рейтинг”.
  • Адвокатските кантори трябва да се справят с големи количества дела, съдържащи съдебни документи, снимки на доказателства и показания на свидетели. Amazon Bedrock Data Automation може да обработва тези различни източници, докато Amazon Bedrock Knowledge Bases позволява на адвокатите да задават въпроси като: “Какви доказателства бяха представени за инцидента на 15 март?” или “Намери всички свидетелски показания, в които се споменава обвиняемият”.
  • Медийните компании могат да използват тази интеграция за интелигентно контекстуално рекламиране. Amazon Bedrock Data Automation обработва видео съдържание, надписи и аудио, за да разбере контекста на сцената, диалога и настроението, като същевременно анализира рекламните активи и изискванията на рекламната кампания. След това Amazon Bedrock Knowledge Bases позволява сложни заявки за съпоставяне на реклами с подходящи моменти от съдържанието, като например “Намери положителни сцени на открито, включващи реклами на спортно оборудване” или “Идентифицирай рекламни сегменти на пътувания, които обсъждат туризма”. Това интелигентно контекстуално съпоставяне осигурява по-подходящо и ефективно рекламиране, като същевременно поддържа безопасността на марката.

Тези примери показват как комбинацията от възможностите за извличане на Amazon Bedrock Data Automation и заявките на естествен език на Amazon Bedrock Knowledge Bases може да промени начина, по който организациите взаимодействат със своите неструктурирани данни.

Общ преглед на решението

Това цялостно решение показва разширените възможности на Amazon Bedrock за обработка и анализ на мултимодално съдържание (документи, изображения, аудио файлове и видео файлове), постига се чрез три ключови компонента: Amazon Bedrock Data Automation, Amazon Bedrock Knowledge Bases и основни модели, предоставени от Amazon Bedrock. Потребителите могат да качват различни видове съдържание, включително аудио файлове, изображения, видеоклипове или PDF файлове, за автоматична обработка и анализ.

Когато качите съдържание, Amazon Bedrock Data Automation го обработва със стандартни или персонализирани планове, за да извлече ценни прозрения. Извлечената информация се съхранява в JSON формат в Amazon Simple Storage Service (Amazon S3) bucket, докато състоянието на заданието се проследява чрез Amazon EventBridge и се запазва в Amazon DynamoDB. Решението извършва персонализирано анализиране на извлечения JSON, за да създаде съвместими с базата знания документи, които след това се съхраняват и индексират в Amazon Bedrock Knowledge Bases.

Чрез интуитивен потребителски интерфейс, решението показва едновременно каченото съдържание и извлечената от него информация. Потребителите могат да взаимодействат с обработените данни чрез система за въпроси и отговори, базирана на Retrieval Augmented Generation (RAG), която се захранва от основни модели на Amazon Bedrock. Този интегриран подход позволява на организациите ефективно да обработват, анализират и получават прозрения от различни формати на съдържание, като същевременно използват мощна и мащабируема инфраструктура, разгърната с помощта на AWS Cloud Development Kit (AWS CDK).

Архитектура

Следната архитектурна диаграма илюстрира потока на решението:

  1. Потребителите взаимодействат с frontend приложението, като се удостоверяват чрез Amazon Cognito.
  2. API заявките се обработват от Amazon API Gateway и AWS Lambda функции.
  3. Файловете се качват в S3 bucket за обработка.
  4. Amazon Bedrock Data Automation обработва файловете и извлича информация.
  5. EventBridge управлява състоянието на заданието и задейства последваща обработка.
  6. Състоянието на заданието се съхранява в DynamoDB, а обработеното съдържание се съхранява в Amazon S3.
  7. Lambda функциите анализират обработеното съдържание и го индексират в Amazon Bedrock Knowledge Bases.
  8. Базираната на RAG система за въпроси и отговори използва основни модели на Amazon Bedrock, за да отговори на потребителските заявки.

Предпоставки

Backend

За backend, ще ви трябват следните предпоставки:

  • AWS акаунт.
  • Python 3.11 или по-нова версия.
  • Docker.
  • GitHub (ако използвате хранилище за код).
  • AWS CDK. За повече подробности и предпоставки, вижте Започване с AWS CDK.
  • Активиран достъп до основните модели в Amazon Bedrock:
    • Claude 3.5 Sonnet v2.0 на Anthropic
    • Amazon Nova Pro v1.0
    • Claude 3.7 Sonnet v1.0 на Anthropic

Frontend

За frontend, ще ви трябват следните предпоставки:

  • Node/npm: v18.12.1
  • Разгърнат backend.
  • Поне един потребител, добавен към съответния потребителски пул на Amazon Cognito (необходим за удостоверяване на API повиквания).

Всичко, от което се нуждаете, е достъпно под формата на код с отворен код в нашето хранилище на GitHub.

Ръководство за разгръщане