In Часть 1 этой серии мы представили решение, в котором использовалось Мультимодальные встраивания Amazon Titan модель для преобразования отдельных слайдов из набора слайдов во вложения. Мы сохранили вложения в векторной базе данных, а затем использовали Большой помощник по языку и зрению (LLaVA 1.5-7b) модель для генерации текстовых ответов на вопросы пользователей на основе наиболее похожего слайда, полученного из векторной базы данных. Мы использовали сервисы AWS, включая Коренная порода Амазонки, Создатель мудреца Амазонкии Amazon OpenSearch без сервера в этом растворе.
В этом посте мы демонстрируем другой подход. Мы используем Антропный Клод 3 Сонет модель для создания текстовых описаний для каждого слайда в наборе слайдов. Эти описания затем преобразуются во встраивания текста с помощью Встраивание текста Amazon Titan модель и сохраняется в векторной базе данных. Затем мы используем модель Claude 3 Sonnet для генерации ответов на вопросы пользователей на основе наиболее релевантного текстового описания, полученного из векторной базы данных.
Вы можете протестировать оба подхода для своего набора данных и оценить результаты, чтобы увидеть, какой подход дает наилучшие результаты. В третьей части этой серии мы оцениваем результаты обоих методов.
Обзор решения
Решение обеспечивает реализацию ответа на вопросы с использованием информации, содержащейся в текстовых и визуальных элементах слайдов. В основе конструкции лежит концепция извлечения дополненной генерации (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, служит хранилищем векторов для нашего решения RAG.
- Прием Amazon OpenSearch (OSI) — это полностью управляемый бессерверный сборщик данных, который доставляет данные в домены службы OpenSearch и бессерверные коллекции OpenSearch. В этом посте мы используем 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. Индекс настроен как приемник для этого конвейера и создается как часть бессерверной коллекции OpenSearch.
На следующей диаграмме показана архитектура взаимодействия с пользователем.
Рабочий процесс состоит из следующих шагов:
- Пользователь отправляет вопрос, связанный с загруженным набором слайдов.
- Пользовательский ввод преобразуется во внедрения с использованием модели Amazon Titan Text Embeddings, доступ к которой осуществляется с помощью Amazon Bedrock. С использованием этих вложений выполняется векторный поиск OpenSearch Service. Мы выполняем поиск по k-ближайшим соседям (k-NN), чтобы получить наиболее релевантные вложения, соответствующие запросу пользователя.
- Метаданные ответа от OpenSearch Serverless содержат путь к изображению и описание, соответствующее наиболее релевантному слайду.
- Подсказка создается путем объединения вопроса пользователя и описания изображения. Приглашение предоставлено Сонету Клода 3, размещенному на 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. Обновите эти политики, чтобы применить разрешения с наименьшими привилегиями.
Имя шаблона CloudFormation и имя индекса OpenSearch Service указаны в записной книжке SageMaker. 3_rag_inference.ipynb
. Если вы измените имена по умолчанию, обязательно обновите их в записной книжке.
Проверить решение
После создания стека CloudFormation вы можете протестировать решение. Выполните следующие шаги:
- На консоли SageMaker выберите Ноутбуки в навигационной панели.
- Выберите
MultimodalNotebookInstance
, а затем выбрать Откройте ЮпитерЛаб. - In File Browser, перейдите в папку записных книжек, чтобы просмотреть записные книжки и вспомогательные файлы.
Ноутбуки пронумерованы в той последовательности, в которой они запускаются. Инструкции и комментарии в каждом блокноте описывают действия, выполняемые этим блокнотом. Мы запускаем эти блокноты один за другим.
- Выберите
1_data_prep.ipynb
чтобы открыть его в JupyterLab. - На Run Меню, выберите Запустить все ячейки чтобы запустить код в этом блокноте.
Этот блокнот загрузит общедоступный файл слайд-колода, конвертируйте каждый слайд в формат файла JPG и загрузите его в корзину S3.
- Выберите
2_data_ingestion.ipynb
чтобы открыть его в JupyterLab. - На Run Меню, выберите Запустить все ячейки чтобы запустить код в этом блокноте.
В этом блокноте вы создадите индекс в бессерверной коллекции OpenSearch. Этот индекс хранит данные внедрения для набора слайдов. См. следующий код:
Вы используете модели Claude 3 Sonnet и Amazon Titan Text Embeddings для преобразования изображений JPG, созданных в предыдущем блокноте, в векторные внедрения. Эти внедрения и дополнительные метаданные (например, путь S3 и описание файла изображения) хранятся в индексе вместе с внедрениями. Следующий фрагмент кода показывает, как Claude 3 Sonnet генерирует описания изображений:
Описания изображений передаются в модель Amazon Titan Text Embeddings для создания векторных вложений. Эти внедрения и дополнительные метаданные (например, путь S3 и описание файла изображения) хранятся в индексе вместе с внедрениями. В следующем фрагменте кода показан вызов модели Amazon Titan Text Embeddings:
Данные принимаются в бессерверный индекс OpenSearch путем вызова API к конвейеру OSI. В следующем фрагменте кода показан вызов, выполненный с использованием HTTP-библиотеки Requests:
- Выберите
3_rag_inference.ipynb
чтобы открыть его в JupyterLab. - На Run Меню, выберите Запустить все ячейки чтобы запустить код в этом блокноте.
В этом блокноте реализовано решение RAG: вы конвертируете вопрос пользователя во встраивания, находите похожее описание изображения в векторной базе данных и предоставляете полученное описание Claude 3 Sonnet для генерации ответа на вопрос пользователя. Вы используете следующий шаблон приглашения:
Следующий фрагмент кода описывает рабочий процесс RAG:
Итоги
В следующей таблице приведены некоторые вопросы и ответы пользователей, созданные нашей реализацией. Question столбец фиксирует вопрос пользователя, а столбец Ответ столбец — это текстовый ответ, сгенерированный Сонетом Клода 3. Фото товара В столбце показано совпадение слайдов k-NN, полученное в результате бессерверного векторного поиска OpenSearch.
Результаты мультимодального RAG
Запросите свой индекс
Вы можете использовать панели мониторинга OpenSearch для взаимодействия с API OpenSearch и запуска быстрых тестов вашего индекса и полученных данных.
уборка
Чтобы избежать будущих расходов, удалите ресурсы. Это можно сделать, удалив стек с помощью консоли AWS CloudFormation.
Заключение
Предприятия постоянно создают новый контент, а слайды — это распространенный способ обмена и распространения информации внутри организации, а также за ее пределами среди клиентов или на конференциях. Со временем богатая информация может остаться скрытой в нетекстовых формах, таких как графики и таблицы, в этих слайдах.
Вы можете использовать это решение и возможности мультимодальных FM, таких как Amazon Titan Text Embeddings и Claude 3 Sonnet, чтобы найти новую информацию или раскрыть новые взгляды на контент в слайдах. Вы можете опробовать различные модели Claude, доступные на Amazon Bedrock, обновив CLAUDE_MODEL_ID
в globals.py
.
Это вторая часть серии из трёх частей. В части 2 мы использовали мультимодальные встраивания Amazon Titan и модель LLaVA. В части 1 мы сравним подходы из части 3 и части 1.
Части этого кода опубликованы под лицензией Лицензия Апач 2.0.
Об авторах
Амит Арора является архитектором-специалистом по искусственному интеллекту и машинному обучению в Amazon Web Services, помогая корпоративным клиентам использовать облачные сервисы машинного обучения для быстрого масштабирования своих инноваций. Он также является адъюнкт-лектором программы MS по науке о данных и аналитике в Джорджтаунском университете в Вашингтоне, округ Колумбия.
Манджу Прасад — старший архитектор решений в Amazon Web Services. Она специализируется на предоставлении технических рекомендаций в различных технических областях, включая AI/ML. До прихода в AWS она проектировала и создавала решения для компаний сектора финансовых услуг, а также для стартапов. Она с энтузиазмом делится знаниями и поощряет интерес к новым талантам.
Арчана Инапуди — старший архитектор решений в AWS, занимающийся поддержкой стратегического клиента. Она имеет более чем десятилетний опыт работы в различных отраслях, руководя стратегическими техническими инициативами. Арчана — амбициозный член технического сообщества AI/ML в AWS. До прихода в AWS Арчана руководил переходом от традиционных разрозненных источников данных к Hadoop в медицинской компании. Она увлечена использованием технологий для ускорения роста, повышения ценности для клиентов и достижения бизнес-результатов.
Антара Раиса — архитектор решений искусственного интеллекта и машинного обучения в Amazon Web Services, занимающийся поддержкой стратегических клиентов из Далласа, штат Техас. У нее также есть предыдущий опыт работы с крупными корпоративными партнерами в AWS, где она работала архитектором решений для успеха партнеров для клиентов, ориентированных на цифровые технологии.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: 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/
- :имеет
- :является
- :нет
- :куда
- $UP
- 1
- 10
- 100
- 12
- 15%
- 17
- 173
- 175
- 20
- 2019
- 2020
- 2023
- 23
- 24
- 27
- 30
- 31
- 7
- 8
- 9
- a
- способности
- О нас
- ускорять
- доступ
- Доступ
- Учетная запись
- Достигать
- через
- действия
- Добавить
- дополнительный
- адъюнкт
- Принятие
- Преимущества
- AI
- AI модели
- AI / ML
- алгоритмы
- Все
- вдоль
- причислены
- Amazon
- Amazon EC2
- Сервис Amazon OpenSearch
- Amazon Web Services
- суммы
- an
- анализ
- аналитика
- и
- и инфраструктура
- ответ
- ответ
- ответы
- Антропный
- любой
- все
- API
- Применение
- Разработка приложения
- Приложения
- Применить
- подхода
- подходы
- примерно
- архитектура
- МЫ
- искусственный
- искусственный интеллект
- Искусственный интеллект и машинное обучение
- AS
- спросить
- стремящийся
- помощник
- связанный
- At
- дополненная
- Auth
- доступен
- избежать
- AWS
- AWS CloudFormation
- основанный
- BE
- было
- до
- ЛУЧШЕЕ
- Лучшая
- между
- миллиард
- тело
- изоферменты печени
- построенный
- бизнес
- но
- by
- призывают
- CAN
- не могу
- возможности
- возможности
- перехватывает
- случаев
- изменение
- расходы
- Выберите
- Выбирая
- клиент
- кластеризации
- код
- лыжных шлемов
- Коллекции
- коллектор
- Column
- комбинируя
- Комментарии
- Общий
- сообщество
- Компании
- Компания
- сравнимый
- сравнить
- сравненный
- сравнив
- сравнение
- полный
- Заполненная
- комплекс
- компоненты
- сама концепция
- краткий
- конференции
- Конфигурация
- настроить
- состоит
- Консоли
- содержать
- содержащегося
- содержит
- содержание
- контекст
- (CIJ)
- конвертировать
- переделанный
- преобразование
- соответствующий
- может
- Создайте
- создали
- создает
- Создающий
- Полномочия
- клиент
- Клиенты
- цикл
- Dallas
- щитки
- данным
- наука о данных
- База данных
- десятилетие
- палуба
- По умолчанию
- доставить
- обеспечивает
- Спрос
- демонстрировать
- развертывание
- описывать
- описывает
- описание
- Проект
- предназначенный
- подробнее
- развивающийся
- Развитие
- диаграмма
- ДИКТ
- разница
- различный
- Вещание
- Размеры
- размеры
- обнаружить
- обсуждать
- обсуждается
- Дисплей
- дисплеев
- do
- Документация
- приносит
- доменов
- скачать
- управлять
- вождение
- в течение
- e
- каждый
- эффективный
- элементы
- вложения
- появление
- включить
- включен
- позволяет
- Двигатель
- Предприятие
- ошибка
- оценивать
- Даже
- Кроме
- исключение
- опыт
- опыта
- продлить
- внешне
- извлечение
- фамильярность
- поле
- Поля
- Файл
- Файлы
- финансовый
- финансовые услуги
- Найдите
- фокусируется
- после
- Что касается
- формат
- содействие
- Год основания
- от
- топливо
- полный
- полностью
- далее
- будущее
- порождать
- генерируется
- генерирует
- порождающий
- поколение
- генеративный
- Генеративный ИИ
- Джорджтаун
- GitHub
- данный
- дает
- будет
- Графики
- Рост
- руководство
- было
- обрабатывать
- Есть
- he
- здравоохранение
- помощь
- Скрытый
- высший
- основной момент
- Хиты
- кашель
- состоялся
- хостов
- Как
- How To
- Однако
- HTML
- HTTP
- HTTPS
- человек
- i
- Личность
- if
- иллюстрирует
- изображение
- изображений
- немедленно
- осуществлять
- реализация
- инвентарь
- улучшение
- in
- включают
- включает в себя
- В том числе
- индекс
- Индексы
- individual
- информация
- Инфраструктура
- инициативы
- Инновации
- инновации
- вход
- пример
- инструкции
- Интеллекта
- взаимодействовать
- взаимодействие
- интерес
- внутренне
- в
- инвестиций
- IT
- присоединение
- JPG
- JSON
- июнь
- Основные
- Знать
- знания
- язык
- большой
- Задержка
- ведущий
- Лиды
- изучение
- привело
- Библиотека
- Лицензия
- такое как
- локальным
- ниже
- машина
- обучение с помощью машины
- сделанный
- Главная
- сделать
- Создание
- управляемого
- многих
- Совпадение
- согласование
- Макс
- член
- упомянуть
- Меню
- Сообщения
- Метаданные
- метод
- методы
- миграция
- ML
- модель
- Модели
- БОЛЕЕ
- самых
- MS
- имя
- имена
- натуральный
- Обработка естественного языка
- Откройте
- навигационный
- Навигация
- Необходимость
- Новые
- следующий
- Ничто
- в своих размышлениях
- ноутбук
- нумерованный
- номера
- of
- предлагают
- on
- On-Demand
- ONE
- открытый
- оптимизация
- or
- организация
- OS
- Другое
- наши
- внешний
- Результаты
- выходной
- выходы
- за
- страница
- хлеб
- параметр
- параметры
- часть
- партнер
- партнеры
- части
- Прошло
- страстный
- путь
- для
- Выполнять
- производительность
- выполнены
- Разрешения
- воплощение
- перспективы
- фаза
- фразы
- Физика
- трубопровод
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- сборах
- После
- потенциально
- мощностью
- мощный
- представлены
- предыдущий
- Предварительный
- процесс
- Обработанный
- обработка
- FitPartner™
- прогрессия
- свойства
- обеспечивать
- при условии
- приводит
- обеспечение
- публично
- Кварки
- Запросы
- запрос
- вопрос
- Вопросы
- САЙТ
- R
- тряпка
- ассортимент
- быстро
- быстро
- Читать
- получила
- ссылка
- Связанный
- выпустил
- соответствующие
- полагается
- оставаться
- Запросы
- обязательный
- исследованиям
- Полезные ресурсы
- ответ
- ответы
- результат
- Итоги
- поиск
- возвращают
- Богатые
- Роли
- роли
- Run
- Бег
- sagemaker
- то же
- образец
- сообщили
- Шкала
- Наука
- Поиск
- разделах
- сектор
- посмотреть
- казаться
- выбор
- семантический
- старший
- послать
- Последовательность
- Серии
- Serverless
- служит
- обслуживание
- Услуги
- Сессия
- Наборы
- настройки
- Поделиться
- разделение
- она
- должен
- Шоу
- разобщенный
- аналогичный
- просто
- одинарной
- Размер
- Слайд-шоу
- Горки
- отрывок
- Решение
- Решения
- некоторые
- Источник
- Источники
- специалист
- конкретный
- стабильный
- стек
- этапы
- ввод в эксплуатацию
- Область
- современное состояние
- Шаги
- диск
- магазин
- хранить
- магазины
- хранение
- Стратегический
- последующее
- успех
- Успешно
- такие
- РЕЗЮМЕ
- Саммит
- поддержка
- Поддержанный
- поддержки
- Убедитесь
- ТАБЛИЦЫ
- Талант
- Говорить
- задачи
- Технический
- технологии
- Технологии
- шаблон
- тестXNUMX
- тестов
- Техас
- текст
- текстовый
- чем
- который
- Ассоциация
- информация
- их
- Их
- тогда
- следовательно
- Эти
- они
- этой
- пропускная способность
- время
- раз
- исполин
- в
- инструментом
- инструменты
- Торонто
- традиционный
- Традиционно
- траверс
- правда
- стараться
- ОЧЕРЕДЬ
- два
- напишите
- Типы
- открывай
- под
- Университет
- Обновление ПО
- обновление
- использование
- случаи использования
- используемый
- Информация о пользователе
- использования
- через
- ценностное
- Наши ценности
- разнообразие
- Огромная
- разносторонний
- визуальный
- Вашингтон
- Путь..
- we
- Web
- веб-сервисы
- ЧТО Ж
- Что
- Что такое
- который
- в то время как
- широкий
- Широкий диапазон
- Шире
- будете
- в
- слова
- работавший
- рабочий
- работает
- Ты
- ВАШЕ
- зефирнет