In Частина 1 цієї серії ми представили рішення, яке використовує Amazon Titan Multimodal Embeddings модель для перетворення окремих слайдів із слайдів у вбудовані. Ми зберігали вбудовування у векторній базі даних, а потім використовували Великий мовний та зоровий помічник (LLaVA 1.5-7b) модель для створення текстових відповідей на запитання користувачів на основі найбільш схожого слайда, отриманого з векторної бази даних. Користувалися сервісами AWS в тому числі Amazon Bedrock, Amazon SageMaker та Amazon OpenSearch Serverless в цьому розчині.
У цій публікації ми демонструємо інший підхід. Ми використовуємо Антропний Клод 3 Сонет модель для створення текстових описів для кожного слайда в наборі слайдів. Потім ці описи перетворюються на вбудовані тексти за допомогою Текстові вставки Amazon Titan модель і зберігається у векторній базі даних. Потім ми використовуємо модель Claude 3 Sonnet для створення відповідей на запитання користувачів на основі найбільш релевантного текстового опису, отриманого з векторної бази даних.
Ви можете перевірити обидва підходи для свого набору даних і оцінити результати, щоб побачити, який підхід дає найкращі результати. У частині 3 цієї серії ми оцінюємо результати обох методів.
Огляд рішення
Рішення забезпечує реалізацію відповідей на запитання з використанням інформації, що міститься в тексті та візуальних елементах слайдів. Дизайн базується на концепції Retrieval Augmented Generation (RAG). Традиційно RAG асоціюється з текстовими даними, які можуть бути оброблені великими мовними моделями (LLM). У цій серії ми розширюємо RAG, щоб також включити зображення. Це надає потужну можливість пошуку для вилучення релевантного контексту вмісту з візуальних елементів, таких як таблиці та графіки, разом із текстом.
Це рішення включає наступні компоненти:
- Amazon Titan Text Embeddings — це модель вбудованого тексту, яка перетворює текст природною мовою, включно з окремими словами, фразами чи навіть великими документами, у числове представлення, яке можна використовувати для таких випадків використання, як пошук, персоналізація та кластеризація на основі семантичної подібності.
- Claude 3 Sonnet — це наступне покоління найсучасніших моделей від Anthropic. Sonnet — це універсальний інструмент, який може вирішувати широкий спектр завдань, від складних міркувань і аналізу до швидких результатів, а також ефективного пошуку та пошуку у величезних обсягах інформації.
- OpenSearch Serverless — це безсерверна конфігурація на вимогу для Amazon OpenSearch Service. Ми використовуємо OpenSearch Serverless як векторну базу даних для зберігання вставок, згенерованих моделлю Amazon Titan Text Embeddings. Індекс, створений у колекції OpenSearch Serverless, служить векторним сховищем для нашого рішення RAG.
- Передача Amazon OpenSearch (OSI) — це повністю керований безсерверний збирач даних, який доставляє дані в домени OpenSearch Service і колекції OpenSearch Serverless. У цій публікації ми використовуємо API конвеєра OSI для доставки даних у безсерверне векторне сховище OpenSearch.
Дизайн рішення складається з двох частин: прийом і взаємодія з користувачем. Під час прийому ми обробляємо вхідну колоду слайдів, перетворюючи кожен слайд на зображення, генеруючи описи та текстові вставки для кожного зображення. Потім ми заповнюємо сховище векторних даних вбудованими елементами та текстовим описом для кожного слайда. Ці кроки виконуються перед етапами взаємодії з користувачем.
На етапі взаємодії з користувачем запитання від користувача перетворюється на вставлення тексту. У векторній базі даних виконується пошук подібності, щоб знайти текстовий опис, що відповідає слайду, який потенційно може містити відповіді на запитання користувача. Потім ми надаємо опис слайда та запитання користувача моделі Claude 3 Sonnet, щоб створити відповідь на запит. Весь код для цієї публікації доступний у GitHub репо.
На наступній діаграмі показано архітектуру прийому даних.
Робочий процес складається з наступних кроків:
- Слайди перетворюються на файли зображень (по одному на слайд) у форматі JPG і передаються в модель Claude 3 Sonnet для створення текстового опису.
- Дані надсилаються в модель Amazon Titan Text Embeddings для створення вставок. У цій серії ми використовуємо слайд-деку Навчання та розгортання Stable Diffusion за допомогою AWS Trainium & AWS Inferentia із саміту AWS у Торонто, червень 2023 року, щоб продемонструвати рішення. Зразкова колода містить 31 слайд, тому ми генеруємо 31 набір векторних вставок, кожен з яких має 1536 розмірів. Ми додаємо додаткові поля метаданих для виконання розширених пошукових запитів за допомогою потужних пошукових можливостей OpenSearch.
- Вбудовування завантажуються в конвеєр OSI за допомогою виклику API.
- Конвеєр OSI завантажує дані як документи в індекс OpenSearch Serverless. Індекс налаштований як приймач для цього конвеєра та створений як частина колекції OpenSearch Serverless.
Наступна діаграма ілюструє архітектуру взаємодії з користувачем.
Робочий процес складається з наступних кроків:
- Користувач надсилає запитання, пов’язане з переданою колодою слайдів.
- Введені користувачем дані перетворюються на вбудовування за допомогою моделі Amazon Titan Text Embeddings, доступ до якої здійснюється через Amazon Bedrock. За допомогою цих вставок виконується векторний пошук OpenSearch Service. Ми виконуємо пошук k-найближчого сусіда (k-NN), щоб отримати найбільш релевантні вбудовування, які відповідають запиту користувача.
- Метадані відповіді OpenSearch Serverless містять шлях до зображення та опис, що відповідає найбільш релевантному слайду.
- Підказка створюється шляхом поєднання запитання користувача та опису зображення. Підказка надається для Claude 3 Sonnet, розміщеного на Amazon Bedrock.
- Результат цього висновку повертається користувачеві.
Ми обговорюємо кроки для обох етапів у наступних розділах і включаємо подробиці про результат.
Передумови
Щоб реалізувати рішення, наведене в цій публікації, ви повинні мати Обліковий запис AWS знайомство з FM, Amazon Bedrock, SageMaker і OpenSearch Service.
Це рішення використовує моделі Claude 3 Sonnet і Amazon Titan Text Embeddings, розміщені на Amazon Bedrock. Переконайтеся, що ці моделі ввімкнено для використання, перейшовши до Доступ до моделі на консолі Amazon Bedrock.
Якщо моделі ввімкнено, Статус доступу буде держава Доступ дозволено.
Якщо моделі недоступні, увімкніть доступ, вибравши Керуйте доступом до моделі, вибір моделей і вибір Запит на доступ до моделі. Моделі відразу готові до використання.
Використовуйте AWS CloudFormation, щоб створити стек рішень
Ви можете використовувати AWS CloudFormation для створення стека рішень. Якщо ви створили рішення для частини 1 у тому самому обліковому записі AWS, обов’язково видаліть його перед створенням цього стеку.
Регіон AWS | посилання |
---|---|
us-east-1 |
|
us-west-2 |
Після успішного створення стека перейдіть до вкладки «Виходи» на консолі AWS CloudFormation і запам’ятайте значення для MultimodalCollectionEndpoint
та OpenSearchPipelineEndpoint
. Ви використовуєте їх у наступних кроках.
Шаблон CloudFormation створює такі ресурси:
- Ролі IAM - Наступне Управління ідентифікацією та доступом AWS (IAM) створюються ролі. Оновіть ці ролі, щоб застосувати дозволи з найменшими привілеями, як описано в Найкращі методи безпеки.
SMExecutionRole
з Служба простого зберігання Amazon (Amazon S3), повний доступ SageMaker, OpenSearch Service і Amazon Bedrock.OSPipelineExecutionRole
з доступом до сегмента S3 і дій OSI.
- Блокнот SageMaker – Весь код для цієї публікації запускається за допомогою цього блокнота.
- Безсерверна колекція OpenSearch – Це векторна база даних для зберігання та отримання вбудованих елементів.
- Конвеєр OSI – Це конвеєр для введення даних у OpenSearch Serverless.
- Ковш S3 – Усі дані для цієї публікації зберігаються в цьому відрі.
Шаблон CloudFormation налаштовує конфігурацію конвеєра, необхідну для налаштування конвеєра OSI з HTTP як джерелом і індексом OpenSearch Serverless як приймачем. Блокнот SageMaker 2_data_ingestion.ipynb
показує, як завантажувати дані в конвеєр за допомогою Запити Бібліотека HTTP.
Шаблон CloudFormation також створює мережу, шифрування та доступ до даних політики, необхідні для вашої колекції OpenSearch Serverless. Оновіть ці політики, щоб застосувати дозволи з найменшими привілеями.
Ім’я шаблону CloudFormation та ім’я індексу служби OpenSearch є посиланнями в блокноті SageMaker 3_rag_inference.ipynb
. Якщо ви змінюєте імена за замовчуванням, переконайтеся, що ви оновили їх у блокноті.
Перевірте розчин
Створивши стек CloudFormation, ви можете перевірити рішення. Виконайте наступні дії:
- На консолі SageMaker виберіть Ноутбуки у навігаційній панелі.
- Select
MultimodalNotebookInstance
І вибирай Відкрийте JupyterLab. - In Браузер файлів, перейдіть до папки блокнотів, щоб побачити блокноти та допоміжні файли.
Зошити пронумеровані в тій послідовності, в якій вони виконуються. Інструкції та коментарі в кожному блокноті описують дії, які виконує цей блокнот. Ми запускаємо ці зошити один за одним.
- Вибирати
1_data_prep.ipynb
щоб відкрити його в JupyterLab. - на прогін меню, виберіть Запустіть усі клітинки щоб запустити код у цьому блокноті.
Цей блокнот буде завантажено у загальнодоступний доступ слайд-палуба, конвертуйте кожен слайд у формат файлу JPG і завантажте їх у відро S3.
- Вибирати
2_data_ingestion.ipynb
щоб відкрити його в JupyterLab. - на прогін меню, виберіть Запустіть усі клітинки щоб запустити код у цьому блокноті.
У цьому блокноті ви створюєте індекс у колекції OpenSearch Serverless. Цей індекс зберігає дані про вбудовування слайдів. Перегляньте наступний код:
Ви використовуєте моделі Claude 3 Sonnet і Amazon Titan Text Embeddings, щоб перетворити зображення JPG, створені в попередньому блокноті, на векторні вбудовані зображення. Ці вбудовування та додаткові метадані (такі як шлях S3 і опис файлу зображення) зберігаються в індексі разом із вбудовуваннями. Наступний фрагмент коду показує, як Claude 3 Sonnet генерує описи зображень:
Описи зображень передаються в модель Amazon Titan Text Embeddings для створення векторних вставок. Ці вбудовування та додаткові метадані (такі як шлях S3 і опис файлу зображення) зберігаються в індексі разом із вбудовуваннями. У наступному фрагменті коду показано виклик моделі Amazon Titan Text Embeddings:
Дані завантажуються в індекс OpenSearch Serverless за допомогою виклику API до конвеєра OSI. У наступному фрагменті коду показано виклик, здійснений за допомогою бібліотеки HTTP запитів:
- Вибирати
3_rag_inference.ipynb
щоб відкрити його в JupyterLab. - на прогін меню, виберіть Запустіть усі клітинки щоб запустити код у цьому блокноті.
У цьому блокноті реалізовано рішення RAG: ви перетворюєте запитання користувача на вбудовування, знаходите опис схожого зображення в векторній базі даних і надсилаєте отриманий опис у Claude 3 Sonnet для створення відповіді на запитання користувача. Ви використовуєте такий шаблон запиту:
Наступний фрагмент коду забезпечує робочий процес RAG:
результати
У наведеній нижче таблиці містяться деякі запитання та відповіді користувачів, створені нашою реалізацією. The Питання стовпець фіксує запитання користувача, і Відповідь колонка є текстовою відповіддю, згенерованою сонетом Клода 3. The зображення стовпець показує збіг слайдів k-NN, отриманий безсерверним векторним пошуком OpenSearch.
Мультимодальні результати RAG
Запитуйте свій індекс
Ви можете використовувати інформаційні панелі OpenSearch, щоб взаємодіяти з OpenSearch API, щоб виконувати швидкі тести вашого індексу та отриманих даних.
Прибирати
Щоб уникнути майбутніх витрат, видаліть ресурси. Ви можете зробити це, видаливши стек за допомогою консолі AWS CloudFormation.
Висновок
Підприємства постійно створюють новий вміст, а слайди є поширеним способом обміну та поширення інформації всередині організації та за її межами з клієнтами або на конференціях. З часом багата інформація може залишатися прихованою в нетекстових формах, як-от графіки та таблиці в цих слайдах.
Ви можете використовувати це рішення та потужність мультимодальних FM, таких як Amazon Titan Text Embeddings і Claude 3 Sonnet, щоб відкривати нову інформацію або розкривати нові перспективи вмісту в слайдах. Ви можете спробувати різні моделі Claude, доступні на Amazon Bedrock, оновивши CLAUDE_MODEL_ID
в globals.py
файлу.
Це 2 частина серії з трьох частин. Ми використовували Amazon Titan Multimodal Embeddings і модель LLaVA у частині 1. У частині 3 ми порівняємо підходи з частини 1 і частини 2.
Частини цього коду оприлюднені під Ліцензія Apache 2.0.
Про авторів
Аміт Арора є архітектором-спеціалістом зі штучного інтелекту та машинного навчання Amazon Web Services, який допомагає корпоративним клієнтам використовувати хмарні сервіси машинного навчання для швидкого масштабування своїх інновацій. Він також є допоміжним лектором у програмі MS Data Science and Analytics в Джорджтаунському університеті у Вашингтоні, округ Колумбія.
Манджу Прасад є старшим архітектором рішень в Amazon Web Services. Вона зосереджена на наданні технічних рекомендацій у різноманітних технічних сферах, включаючи AI/ML. До приходу в AWS вона розробляла та створювала рішення для компаній у секторі фінансових послуг, а також для стартапів. Вона захоплено ділиться знаннями та заохочує інтерес до нових талантів.
Арчана Інапуді є старшим архітектором рішень в AWS, який підтримує стратегічного клієнта. Вона має понад десятиліття міжгалузевого досвіду, керуючи стратегічними технічними ініціативами. Арчана є амбіційним членом технічної спільноти AI/ML в AWS. До того як приєднатися до AWS, Арчана очолював процес переходу від традиційних ізольованих джерел даних до Hadoop у медичній компанії. Вона захоплена використанням технологій для прискорення зростання, надання цінності клієнтам і досягнення бізнес-результатів.
Антара Раїса є архітектором рішень штучного інтелекту та машинного навчання в Amazon Web Services, який підтримує стратегічних клієнтів із Далласа, штат Техас. Вона також має попередній досвід роботи з великими корпоративними партнерами в AWS, де вона працювала архітектором успішних рішень для клієнтів, орієнтованих на цифрові технології.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/talk-to-your-slide-deck-using-multimodal-foundation-models-hosted-on-amazon-bedrock-and-amazon-sagemaker-part-2/