Создайте интеллектуальный поиск с Amazon Bedrock и OpenSearch

1 просмотров Источник
Создайте интеллектуальный поиск с Amazon Bedrock и OpenSearch

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

Например, агентный ассистент, занимающийся бронированием отелей, сначала запрашивает базу данных, чтобы найти объекты, соответствующие конкретным требованиям гостя. Затем ассистент делает API-вызовы для получения информации о доступности номеров и текущих ценах. Полученные данные могут быть обработаны двумя способами: либо LLM может обработать их для генерации комплексного ответа, либо они могут быть отображены вместе с резюме, сгенерированным LLM. Оба подхода позволяют гостям получать точную, актуальную информацию, интегрированную в их текущую беседу с ассистентом.

В этом посте мы показываем, как реализовать генеративного AI-ассистента, который использует как семантический, так и текстовый поиск с помощью Amazon Bedrock, Amazon Bedrock AgentCore, Strands Agents и Amazon OpenSearch. Подходы к извлечению информации в системах RAG в целом сводятся к реальному запросу к источникам данных или взаимодействию с API. Ответы затем учитываются в последующих этапах, выполняемых реализацией.

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

Векторные эмбеддинги заранее вычисляются и хранятся в векторных базах данных, что позволяет эффективно рассчитывать схожесть во время запроса. Основной принцип поиска векторного сходства (VSS) заключается в нахождении ближайших соответствий между этими числовыми представлениями с использованием математических метрик расстояния, таких как косинусное сходство или евклидово расстояние. Эти математические функции особенно эффективны при поиске в больших корпусах данных, поскольку векторные представления заранее вычислены. В этом процессе обычно используются модели би-энкодеров, которые отдельно кодируют запрос и документы в векторы, позволяя эффективно сравнивать схожесть в масштабах без необходимости обрабатывать пары запрос-документ вместе.

Похожие статьи