Потоковая передача данных в Amazon Bedrock

Искусственный интеллект (AI) стремительно развивается, и Retrieval Augmented Generation (RAG) становится ключевым методом. RAG позволяет AI-системам предоставлять более обоснованные и контекстуально релевантные ответы, легко интегрируя возможности генеративных AI-моделей с внешними источниками данных. Этот подход выходит за рамки ограничений, связанных с использованием только предварительно существующей базы знаний модели. В этой статье мы углубимся в преобразующий потенциал пользовательских коннекторов данных в Amazon Bedrock Knowledge Bases, демонстрируя, как они упрощают создание RAG-рабочих процессов, которые используют пользовательские входные данные. Эта функциональность позволяет Amazon Bedrock Knowledge Bases принимать потоковые данные, позволяя разработчикам динамически добавлять, обновлять или удалять информацию в своих базах знаний посредством прямых вызовов API.

Рассмотрим множество приложений, где прием данных в реальном времени имеет решающее значение: анализ паттернов кликстрима, обработка транзакций по кредитным картам, интерпретация данных с датчиков Интернета вещей (IoT), проведение анализа журналов и мониторинг цен на товары. В таких сценариях и текущие данные, и исторические тенденции играют жизненно важную роль в принятии обоснованных решений. Традиционно включение таких важных входных данных требовало размещения данных в поддерживаемом источнике данных с последующим инициированием или планированием задания синхронизации данных. Продолжительность этого процесса варьировалась в зависимости от качества и объема данных. Однако с помощью пользовательских коннекторов организации могут быстро принимать определенные документы из пользовательских источников данных без необходимости полной синхронизации и принимать потоковые данные без использования промежуточного хранилища. Этот подход сводит к минимуму задержки и устраняет накладные расходы на хранение, что приводит к более быстрому доступу к данным, снижению задержек и повышению производительности приложений.

Благодаря потоковому приему через пользовательские коннекторы Amazon Bedrock Knowledge Bases может обрабатывать потоковые данные без необходимости использования промежуточных источников данных. Это позволяет данным становиться доступными почти в режиме реального времени. Эта возможность автоматически сегментирует и преобразует входные данные в эмбеддинги с использованием выбранной модели Amazon Bedrock, сохраняя все во внутренней векторной базе данных. Этот оптимизированный процесс применяется как к новым, так и к существующим базам данных, что позволяет вам сосредоточиться на создании AI-приложений без необходимости организации разбиения данных на фрагменты, генерации эмбеддингов или подготовки и индексации векторного хранилища. Кроме того, возможность приема определенных документов из пользовательских источников данных снижает задержку и снижает эксплуатационные расходы за счет устранения требований к промежуточному хранилищу.

Amazon Bedrock: Основа для генеративного AI

Amazon Bedrock — это полностью управляемый сервис, который предлагает широкий выбор высокопроизводительных фундаментальных моделей (FM) от ведущих AI-компаний, таких как Anthropic, Cohere, Meta, Stability AI и Amazon, доступных через унифицированный API. Этот комплексный сервис предоставляет широкий спектр возможностей, которые позволяют вам разрабатывать генеративные AI-приложения с надежной безопасностью, конфиденциальностью и функциями ответственного AI. С помощью Amazon Bedrock вы можете изучать и оценивать первоклассные FM для вашего конкретного случая использования, настраивать их в частном порядке с вашими собственными данными, используя такие методы, как точная настройка и RAG, а также создавать интеллектуальных агентов, которые могут выполнять задачи, используя ваши корпоративные системы и источники данных.

Amazon Bedrock Knowledge Bases: Расширение AI знаниями

Amazon Bedrock Knowledge Bases позволяет организациям создавать полностью управляемые конвейеры RAG, которые обогащают ответы AI контекстной информацией, полученной из частных источников данных. Это приводит к более релевантным, точным и персонализированным взаимодействиям. Используя Amazon Bedrock Knowledge Bases, вы можете создавать приложения, которые расширены контекстом, полученным из запроса к базе знаний. Это ускоряет время выхода на рынок, абстрагируясь от сложностей создания конвейеров и предоставляя готовое решение RAG. Это сокращает время разработки ваших приложений.

Пользовательские коннекторы: Ключ к бесшовной потоковой передаче

Amazon Bedrock Knowledge Bases обеспечивает поддержку пользовательских коннекторов и приема потоковых данных. Это позволяет добавлять, обновлять и удалять данные в вашей базе знаний посредством прямых вызовов API, предлагая беспрецедентную гибкость и контроль.

Создание генеративного AI-анализатора цен акций с помощью RAG: Обзор решения

В этой статье мы демонстрируем архитектуру RAG с использованием Amazon Bedrock Knowledge Bases, пользовательских коннекторов и тем, созданных с помощью Amazon Managed Streaming для Apache Kafka (Amazon MSK), чтобы позволить пользователям анализировать тенденции цен на акции. Amazon MSK — это сервис потоковой передачи данных, который упрощает управление инфраструктурой и операциями Apache Kafka, упрощая запуск приложений Apache Kafka в Amazon Web Services (AWS). Решение обеспечивает анализ отзывов клиентов в режиме реального времени с помощью векторных эмбеддингов и больших языковых моделей (LLM).

Архитектурные компоненты

Архитектура состоит из двух основных компонентов:

  • Рабочий процесс предварительной обработки потоковых данных:

    1. CSV-файл, содержащий данные о ценах акций, загружается в тему MSK, имитируя потоковый ввод.
    2. Это запускает функцию AWS Lambda.
    3. Функция принимает потребляемые данные в базу знаний.
    4. База знаний использует модель эмбеддингов для преобразования данных в векторный индекс.
    5. Векторный индекс хранится в векторной базе данных в базе знаний.
  • Выполнение во время выполнения пользовательских запросов:

    1. Пользователи отправляют запросы о ценах акций.
    2. Фундаментальная модель использует базу знаний для поиска релевантных ответов.
    3. База знаний возвращает соответствующие документы.
    4. Пользователь получает ответ на основе этих документов.

Дизайн реализации: Пошаговое руководство

Реализация включает в себя следующие ключевые этапы:

  1. Настройка источника данных: Настройте тему MSK для потоковой передачи входных цен акций.
  2. Настройка Amazon Bedrock Knowledge Bases: Создайте базу знаний в Amazon Bedrock, используя опцию быстрого создания нового векторного хранилища, которая автоматически подготавливает и настраивает векторное хранилище.
  3. Потребление и прием данных: Всякий раз, когда данные поступают в тему MSK, запускайте функцию Lambda для извлечения индексов акций, цен и информации о временных метках и передачи их в пользовательский коннектор для Amazon Bedrock Knowledge Bases.
  4. Проверка базы знаний: Оцените анализ отзывов клиентов с помощью базы знаний.

Пошаговое руководство по решению: Создание инструмента анализа акций

Следуйте инструкциям в разделах ниже, чтобы создать генеративный AI-инструмент анализа акций с помощью Amazon Bedrock Knowledge Bases и пользовательских коннекторов.

Настройка архитектуры: Развертывание шаблона CloudFormation

Чтобы реализовать эту архитектуру, разверните шаблон AWS CloudFormation из этого репозитория GitHub в своей учетной записи AWS. Этот шаблон развертывает следующие компоненты:

  1. Виртуальные частные облака (VPC), подсети, группы безопасности и роли AWS Identity and Access Management (IAM).
  2. Кластер MSK, в котором размещена тема ввода Apache Kafka.
  3. Функция Lambda для потребления данных темы Apache Kafka.
  4. Блокнот Amazon SageMaker Studio для настройки и включения.

Создание темы Apache Kafka: Настройка потока данных

В предварительно созданном кластере MSK брокеры уже развернуты и готовы к использованию. Следующим шагом будет подключение к кластеру MSK и создание тестовой темы потока с помощью терминального экземпляра SageMaker Studio. Следуйте подробным инструкциям в разделе Создание темы в кластере Amazon MSK.

Общие шаги:

  1. Загрузите и установите последний клиент Apache Kafka.
  2. Подключитесь к экземпляру брокера кластера MSK.
  3. Создайте тестовую тему потока на экземпляре брокера.

Создание базы знаний в Amazon Bedrock: Подключение к вашим данным

Чтобы создать базу знаний в Amazon Bedrock, выполните следующие действия:

  1. На консоли Amazon Bedrock на левой панели навигации в разделе Инструменты Builder выберите Knowledge Bases.
  2. Чтобы инициировать создание базы знаний, в раскрывающемся меню Создать выберите Knowledge Base with vector store, как показано на следующем скриншоте.
  3. В области Provide Knowledge Base details введите BedrockStreamIngestKnowledgeBase в качестве Knowledge Base name.
  4. В разделе IAM permissions выберите опцию по умолчанию Create and use a new service role и (необязательно) укажите Service role name, как показано на следующем скриншоте.
  5. В области Choose data source выберите Custom в качестве источника данных, где хранится ваш набор данных.
  6. Нажмите Next, как показано на следующем скриншоте.
  7. В области Configure data source введите BedrockStreamIngestKBCustomDS в качестве Data source name.
  8. В разделе Parsing strategy выберите Amazon Bedrock default parser, а для Chunking strategy выберите Default chunking. Нажмите Next, как показано на следующем скриншоте.
  9. В области Select embeddings model and configure vector store pane для Embeddings model выберите Titan Text Embeddings v2. Для Embeddings type выберите Floating-point vector embeddings. Для Vector dimensions выберите 1024, как показано на следующем скриншоте. Убедитесь, что вы запросили и получили доступ к выбранной FM в Amazon Bedrock. Чтобы узнать больше, обратитесь к Add or remove access to Amazon Bedrock foundation models.
  10. В области Vector database выберите Quick create a new vector store и выберите новую опцию Amazon OpenSearch Serverless в качестве векторного хранилища.
  11. На следующем экране просмотрите свой выбор. Чтобы завершить настройку, нажмите Create.
  12. Через несколько минут консоль отобразит только что созданную базу знаний.

Настройка потребителя AWS Lambda Apache Kafka: Запуск приема данных

Теперь настройте функцию Lambda потребителя для запуска, как только входная тема Apache Kafka получит данные, используя вызовы API.

  1. Настройте созданный вручную идентификатор базы знаний Amazon Bedrock и идентификатор ее пользовательского источника данных в качестве переменных среды в функции Lambda. При использовании примера блокнота указанные имена и идентификаторы функций будут заполнены автоматически.

Глубокое погружение: Раскрытие возможностей Amazon Bedrock Knowledge Bases с помощью пользовательских коннекторов для приема данных в реальном времени

Конвергенция генеративного AI и потоков данных в реальном времени открывает беспрецедентные возможности для бизнеса для получения более глубокого понимания, автоматизации критических процессов и предоставления персонализированного опыта. Amazon Bedrock Knowledge Bases в сочетании с пользовательскими коннекторами находится в авангарде этой революции, позволяя организациям легко интегрировать потоковые данные из различных источников, таких как Apache Kafka, в свои AI-приложения.

Эта возможность выходит за рамки ограничений традиционных методов приема данных, которые часто включают сложные процессы размещения, преобразования и синхронизации. С помощью пользовательских коннекторов данные могут быть приняты непосредственно в базу знаний почти в режиме реального времени, устраняя задержку и позволяя AI-моделям динамически реагировать на изменяющиеся условия.

Варианты использования в различных отраслях

Преимущества этого подхода далеко идущие и применимы к широкому спектру отраслей.

  • Финансовые услуги: Банки и инвестиционные фирмы могут использовать рыночные данные в реальном времени и потоки транзакций клиентов для обнаружения мошенничества, персонализации инвестиционных рекомендаций и автоматизации торговых стратегий. Представьте себе AI-систему, которая анализирует транзакции по кредитным картам в режиме реального времени, отмечая подозрительную активность и предотвращая мошеннические покупки до их совершения.
  • Розничная торговля: E-commerce-компании могут анализировать данные кликстрима и ленты социальных сетей для понимания поведения клиентов, персонализации рекомендаций по продуктам и оптимизации стратегий ценообразования. Это позволяет динамически корректировать маркетинговые кампании и управление запасами на основе спроса в реальном времени.
  • Производство: Производители могут использовать данные датчиков IoT с заводского оборудования для прогнозирования потребностей в обслуживании, оптимизации производственных процессов и повышения качества продукции. Например, AI-система может анализировать данные о вибрации от машины, чтобы выявить потенциальные неисправности до того, как они приведут к дорогостоящим простоям.
  • Здравоохранение: Больницы могут анализировать потоки данных пациентов для выявления ранних признаков заболевания, персонализации планов лечения и улучшения результатов лечения пациентов. Мониторинг жизненно важных показателей в режиме реального времени может предупреждать медицинский персонал о критических изменениях в состоянии пациента, обеспечивая более быстрое вмешательство и улучшение ухода.

Ключевые преимущества: Помимо данных в реальном времени

Преимущества использования Amazon Bedrock Knowledge Bases с пользовательскими коннекторами выходят за рамки простого приема данных в реальном времени.

  • Снижение задержки: Устраняя необходимость в промежуточном хранилище и процессах синхронизации, организации могут значительно сократить время, необходимое для предоставления данных AI-моделям. Это приводит к более быстрому времени отклика и более динамичным приложениям.
  • Снижение эксплуатационных расходов: Пользовательские коннекторы снижают эксплуатационные расходы, устраняя необходимость в управлении и поддержании сложных конвейеров данных. Это высвобождает ценные ресурсы, которые можно инвестировать в другие области бизнеса.
  • Улучшение качества данных: Принимая данные непосредственно из источника, организации могут гарантировать, что их AI-модели работают с самой точной и актуальной информацией. Это приводит к лучшему пониманию и более надежным результатам.
  • Повышенная гибкость: Пользовательские коннекторы позволяют организациям подключаться к широкому спектру источников данных, независимо от их формата или местоположения. Это обеспечивает гибкость в использовании всех своих активов данных, независимо от того, где они хранятся.
  • Упрощенная разработка: Amazon Bedrock Knowledge Bases обеспечивает упрощенную разработку, абстрагируясь от сложностей приема и управления данными. Это позволяет разработчикам сосредоточиться на создании AI-приложений, которые приносят реальную пользу бизнесу.

Более глубокое погружение: Пользовательские коннекторы под капотом

Чтобы в полной мере оценить возможности пользовательских коннекторов, важно понимать, как они работают. Пользовательский коннектор — это, по сути, фрагмент кода, который позволяет Amazon Bedrock Knowledge Bases подключаться к определенному источнику данных. Этот код отвечает за извлечение данных из источника, преобразование их в формат, совместимый с базой знаний, и прием их в систему.

  • Интеграция API: Пользовательские коннекторы обычно взаимодействуют с источниками данных через API. Эти API предоставляют стандартизированный способ доступа к данным и выполнения операций.
  • Преобразование данных: Преобразование данных — это критический шаг в процессе. Пользовательским коннекторам часто необходимо преобразовывать данные из их собственного формата в формат, совместимый с базой знаний. Это может включать преобразование типов данных, очистку данных и обогащение данных дополнительной информацией.
  • Потоковый прием: Ключом к приему данных в реальном времени является возможность непрерывной потоковой передачи данных. Пользовательские коннекторы часто используют потоковые API для получения данных по мере их создания, что позволяет почти в режиме реального времени обновлять базу знаний.
  • Безопасность: Безопасность является первостепенной задачей при подключении к источникам данных. Пользовательские коннекторы должны быть разработаны с учетом безопасности, гарантируя, что данные защищены как при передаче, так и в состоянии покоя.

Заключение: Принятие будущего AI с данными в реальном времени

Amazon Bedrock Knowledge Bases с пользовательскими коннекторами представляет собой значительный прогресс в области AI. Позволяя организациям легко интегрировать потоки данных в реальном времени в свои AI-приложения, эта технология открывает множество новых возможностей для инноваций и роста бизнеса. По мере того, как AI продолжает развиваться, возможность использовать данные в реальном времени будет становиться все более важной. Amazon Bedrock Knowledge Bases занимает ключевую позицию для обеспечения этой тенденции, позволяя организациям создавать AI-решения, которые являются более динамичными, отзывчивыми и интеллектуальными, чем когда-либо прежде.