Базы знаний для Amazon Bedrock теперь поддерживают гибридный поиск | Веб-сервисы Amazon

Базы знаний для Amazon Bedrock теперь поддерживают гибридный поиск | Веб-сервисы Amazon

At AWS Re: Invent 2023 года мы объявили о широкой доступности Базы знаний для Amazon Bedrock. Имея базу знаний, вы можете безопасно соединить модели фундамента (FM) в Коренная порода Амазонки в данные вашей компании для полностью управляемой поисковой дополненной генерации (RAG).

В предыдущей публикации, мы описали, как базы знаний для Amazon Bedrock управляют сквозным рабочим процессом RAG, и поделились подробностями о некоторых недавних запусках функций.

Для приложений на основе RAG точность сгенерированного ответа из моделей большого языка (LLM) зависит от контекста, предоставленного модели. Контекст извлекается из базы данных векторов на основе запроса пользователя. Семантический поиск широко используется, поскольку он способен понимать более человеческие вопросы — запрос пользователя не всегда напрямую связан с точными ключевыми словами в контенте, который на него отвечает. Семантический поиск помогает дать ответы, исходя из смысла текста. Однако у него есть ограничения по захвату всех релевантных ключевых слов. Его производительность зависит от качества встраивания слов, используемых для представления смысла текста. Чтобы преодолеть такие ограничения, сочетание семантического поиска с поиском по ключевым словам (гибридным) даст лучшие результаты.

В этом посте мы обсуждаем новую функцию гибридного поиска, которую вы можете выбрать в качестве варианта запроса наряду с семантическим поиском.

Обзор гибридного поиска

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

What is the cost of the book "<book_name>" on <website_name>?

В этом запросе по названию книги и названию веб-сайта поиск по ключевым словам даст лучшие результаты, поскольку нам нужна стоимость конкретной книги. Однако у термина «стоимость» могут быть такие синонимы, как «цена», поэтому лучше будет воспользоваться семантическим поиском, понимающим смысл текста. Гибридный поиск сочетает в себе лучшее из обоих подходов: точность семантического поиска и охват ключевых слов. Он отлично работает для приложений на основе RAG, где средству извлечения приходится обрабатывать широкий спектр запросов на естественном языке. Ключевые слова помогают охватить конкретные объекты запроса, такие как название продукта, цвет и цена, а семантика лучше понимает значение и цель запроса. Например, если вы хотите создать чат-бота для веб-сайта электронной коммерции, который будет обрабатывать запросы клиентов, такие как политика возврата или подробная информация о продукте, наиболее подходящим будет использование гибридного поиска.

Варианты использования гибридного поиска

Ниже приведены некоторые распространенные случаи использования гибридного поиска:

  • Открытый ответ на вопрос по домену – Это предполагает ответы на вопросы по широкому кругу тем. Это требует поиска в больших коллекциях документов с разнообразным содержанием, например данных веб-сайтов, которые могут включать различные темы, такие как устойчивое развитие, лидерство, финансовые результаты и многое другое. Семантический поиск сам по себе не может хорошо обобщить эту задачу, поскольку ему не хватает возможностей для лексического сопоставления невидимых сущностей, что важно для обработки примеров вне предметной области. Таким образом, сочетание поиска по ключевым словам с семантическим поиском может помочь сузить область применения и обеспечить лучшие результаты для ответов на вопросы в открытой области.
  • Контекстные чат-боты – Разговоры могут быстро менять направление и охватывать непредсказуемые темы. Гибридный поиск лучше справляется с такими открытыми диалогами.
  • Персональный поиск – Поиск в масштабе сети по разнородному контенту выигрывает от гибридного подхода. Семантический поиск обрабатывает популярные запросы, а ключевые слова охватывают редкие запросы с длинным хвостом.

Хотя гибридный поиск обеспечивает более широкий охват за счет объединения двух подходов, семантический поиск имеет преимущества в точности, когда предметная область узка и семантика четко определена или когда мало места для неправильной интерпретации, как, например, в системах фактического вопроса и ответа.

Преимущества гибридного поиска

Как поиск по ключевым словам, так и семантический поиск вернут отдельный набор результатов вместе с их оценками релевантности, которые затем объединяются для получения наиболее релевантных результатов. Базы знаний для Amazon Bedrock в настоящее время поддерживают четыре векторных хранилища: Amazon OpenSearch без сервера, Версия, совместимая с Amazon Aurora PostgreSQL, сосновая шишкаи Корпоративное облако Redis. На момент написания этой статьи функция гибридного поиска доступна для OpenSearch Serverless, а поддержка других векторных хранилищ появится в ближайшее время.

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

  • Повышенная точность – Точность формируемого ответа ФМ напрямую зависит от релевантности полученных результатов. Судя по вашим данным, может быть сложно повысить точность вашего приложения только с помощью семантического поиска. Ключевым преимуществом использования гибридного поиска является повышение качества получаемых результатов, что, в свою очередь, помогает FM генерировать более точные ответы.
  • Расширенные возможности поиска – Поиск по ключевым словам охватывает более широкую сеть и находит документы, которые могут быть релевантными, но могут не содержать семантическую структуру во всем документе. Он позволяет осуществлять поиск по ключевым словам, а также смысловому значению текста, тем самым расширяя возможности поиска.

В следующих разделах мы покажем, как использовать гибридный поиск с базами знаний для Amazon Bedrock.

Используйте гибридный и семантический поиск через SDK.

Когда вы вызываете API получения, базы знаний для Amazon Bedrock выбирают для вас правильную стратегию поиска, чтобы предоставить вам наиболее релевантные результаты. У вас есть возможность переопределить его для использования гибридного или семантического поиска в API.

Получить API

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

Чтобы показать вам пример переключения между гибридным и семантическим (векторным) вариантами поиска, мы создали базу знаний с помощью Документ Amazon 10K на 2023 год. Более подробную информацию о создании базы знаний см. Создайте контекстное приложение чат-бота, используя базы знаний для Amazon Bedrock..

Чтобы продемонстрировать ценность гибридного поиска, мы используем следующий запрос:

As of December 31st 2023, what is the leased square footage for physical stores in North America?

Ответ на предыдущий запрос включает несколько ключевых слов, например date, physical storesи North America. Правильный ответ 22,871 thousand square feet. Давайте посмотрим на разницу в результатах поиска как для гибридного, так и для семантического поиска.

Следующий код показывает, как использовать гибридный или семантический (векторный) поиск с помощью API получения с Boto3:

import boto3

bedrock_agent_runtime = boto3.client(
    service_name = "bedrock-agent-runtime"
)

def retrieve(query, kbId, numberOfResults=5):
    return bedrock_agent_runtime.retrieve(
        retrievalQuery= {
            'text': query
        },
        knowledgeBaseId=kbId,
        retrievalConfiguration= {
            'vectorSearchConfiguration': {
                'numberOfResults': numberOfResults,
                'overrideSearchType': "HYBRID/SEMANTIC", # optional
            }
        }
    )
response = retrieve("As of December 31st 2023, what is the leased square footage for physical stores in North America?", "<knowledge base id>")["retrievalResults"]

Ассоциация overrideSearchType вариант в retrievalConfiguration предлагает выбор: использовать либо HYBRID or SEMANTIC. По умолчанию он выберет для вас правильную стратегию, чтобы получить наиболее релевантные результаты, и если вы хотите переопределить параметр по умолчанию для использования гибридного или семантического поиска, вы можете установить значение HYBRID/SEMANTIC. Выход Retrieve API включает извлеченные фрагменты текста, тип местоположения и URI исходных данных, а также оценки релевантности извлеченных данных. Оценки помогают определить, какие фрагменты лучше всего соответствуют ответу на запрос.

Ниже приведены результаты предыдущего запроса с использованием гибридного поиска (некоторые результаты отредактированы для краткости):

[
  {
    "content": {
      "text": "... Description of Use Leased Square Footage (1).... Physical stores (2) 22,871  ..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "Property and equipment, net by segment is as follows (in millions): December 31, 2021 2022 2023 North America $ 83,640 $ 90,076 $ 93,632 International 21,718 23,347 24,357 AWS 43,245 60,324 72,701 Corporate 1.."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "..amortization of property and equipment acquired under finance leases of $9.9 billion, $6.1 billion, and $5.9 billion for 2021, 2022, and 2023. 54 Table of Contents Note 4 — LEASES We have entered into non-cancellable operating and finance leases for fulfillment network, data center, office, and physical store facilities as well as server and networking equipment, aircraft, and vehicles. Gross assets acquired under finance leases, ..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61908984
  }
]

Ниже приведены результаты семантического поиска (некоторые результаты отредактированы для краткости):

[
  {
    "content": {
      "text": "Property and equipment, net by segment is as follows (in millions):    December 31,    2021 2022 2023   North America $ 83,640 $ 90,076 $ 93,632  International 21,718 23,347 24,357  AWS 43,245 60,324 72,701.."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.6389407
  },
  {
    "content": {
      "text": "Depreciation and amortization expense on property and equipment was $22.9 billion, $24.9 billion, and $30.2 billion which includes amortization of property and equipment acquired under finance leases of $9.9 billion, $6.1 billion, and $5.9 billion for 2021, 2022, and 2023.   54        Table of Contents   Note 4 — LEASES We have entered into non-cancellable operating and finance leases for fulfillment network, data center, office, and physical store facilities as well a..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61908984
  },
  {
    "content": {
      "text": "Incentives that we receive from property and equipment   vendors are recorded as a reduction to our costs. Property includes buildings and land that we own, along with property we have acquired under build-to-suit lease arrangements when we have control over the building during the construction period and finance lease arrangements..."
    },
    "location": {
      "type": "S3",
      "s3Location": {
        "uri": "s3://<bucket_name>/amazon-10k-2023.pdf"
      }
    },
    "score": 0.61353767
  }
]

Как видно из результатов, гибридный поиск смог получить результаты поиска с арендованными квадратными метрами для физических магазинов в Северной Америке, как указано в пользовательском запросе. Основная причина заключалась в том, что гибридный поиск мог объединять результаты по таким ключевым словам, как date, physical storesи North America в запросе, тогда как семантический поиск этого не сделал. Поэтому, когда результаты поиска дополняются пользовательским запросом и подсказкой, FM не сможет предоставить правильный ответ в случае семантического поиска.

Теперь давайте посмотрим на RetrieveAndGenerate API с гибридным поиском для понимания окончательного ответа, сгенерированного FM.

Получить и создать API

Ассоциация RetrieveAndGenerate API запрашивает базу знаний и генерирует ответ на основе полученных результатов. Вы указываете идентификатор базы знаний, а также FM, чтобы сгенерировать ответ на основе результатов. Amazon Bedrock преобразует запросы во внедрения, запрашивает базу знаний на основе типа поиска, а затем дополняет приглашение FM результатами поиска в качестве контекстной информации и возвращает ответ, сгенерированный FM.

Давайте воспользуемся запросом «Какова арендованная площадь физических магазинов в Северной Америке по состоянию на 31 декабря 2023 года?» и спроси RetrieveAndGenerate API для генерации ответа с помощью нашего запроса:

def retrieveAndGenerate(input, kbId):
    return bedrock_agent_runtime.retrieve_and_generate(
        input={
            'text': input
        },
        retrieveAndGenerateConfiguration={
            'type': 'KNOWLEDGE_BASE',
            'knowledgeBaseConfiguration': {
                'knowledgeBaseId': kbId,
                'modelArn': 'arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1'
                'retrievalConfiguration': {
                'overrideSearchType': 'HYBRID/SEMANTIC',
                }
                }
            }
        )
response = retrieveAndGenerate("As of December 31st 2023, what is the leased square footage for physical stores in North America?", "<knowledge base id>")["output"]["text"]

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

22,871 thousand leased square feet

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

The search results do not contain any information about the leased square footage for physical stores in North America for 2023.

Фактический ответ на запрос 22,871 thousand leased square feet, который генерируется гибридным поиском. Полученные результаты гибридного поиска включали информацию об арендованных площадях для физических магазинов в Северной Америке, тогда как семантический поиск не смог получить нужную информацию из векторного магазина из-за перевода вложений. Таким образом, FM не смог дать правильный ответ, поскольку у него не было правильных и наиболее релевантных результатов поиска.

Однако для более общих вопросов, которые не затрагивают такие сущности, как physical stores or North AmericaКак гибридный, так и семантический поиск дают схожие результаты.

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

Question Семантический поиск: RAG API Гибридный поиск: RAG API
Как Amazon обслуживает разработчиков и предприятия? Мы обслуживаем разработчиков и предприятия любого размера, включая стартапы, государственные учреждения и академические учреждения, через AWS, который предлагает широкий набор технологических услуг по требованию, включая вычисления, хранение, базы данных, аналитику и машинное обучение, а также другие услуги Мы обслуживаем разработчиков и предприятия любого размера, включая стартапы, государственные учреждения и академические учреждения, через AWS, который предлагает широкий набор технологических услуг по требованию, включая вычисления, хранение, базы данных, аналитику и машинное обучение, а также другие услуги.
Кто является исполнительными директорами и директорами Amazon по состоянию на 24 января 2024 г.? По состоянию на 2024 год в состав исполнительных директоров Amazon входят Эндрю Р. Джасси в качестве президента и главного исполнительного директора, Дуглас Дж. Херрингтон в качестве генерального директора Amazon Stores по всему миру, Брайан Т. Олсавски в качестве старшего вице-президента и финансового директора, Шелли Л. Рейнольдс в качестве вице-президента. , международный контролер и главный бухгалтер, Адам Н. Селипски в качестве генерального директора Amazon Web Services и Дэвид А. Запольски в качестве старшего вице-президента по глобальной государственной политике и главного юрисконсульта. С 2024 года Джеффри П. Безос является исполнительным председателем Amazon.com. Эндрю Р. Ясси является президентом и главным исполнительным директором. В число других исполнительных директоров входят Дуглас Дж. Херрингтон в качестве генерального директора Amazon Stores по всему миру, Брайан Т. Олсавски в качестве старшего вице-президента и финансового директора, Шелли Л. Рейнольдс в качестве вице-президента, международного контролера и главного бухгалтера, а также Адам Н. Селипски в качестве генерального директора. Веб-сервисы Amazon. Дэвид А. Запольски занимает должность старшего вице-президента по глобальной государственной политике и главного юрисконсульта.

Используйте гибридный и семантический поиск через консоль Amazon Bedrock.

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

  1. На консоли Amazon Bedrock выберите База знаний в навигационной панели.
  2. Выберите базу знаний, которую вы создали.
  3. Выберите Тестовая база знаний.
  4. Выберите значок конфигурации.
    Базы знаний для Amazon Bedrock теперь поддерживают гибридный поиск | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  5. Что касается Тип поискаВыбрать Гибридный поиск (семантический и текстовый).
    Базы знаний для Amazon Bedrock теперь поддерживают гибридный поиск | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

По умолчанию вы можете выбрать FM, чтобы получить сгенерированный ответ на ваш запрос. Если вы хотите видеть только полученные результаты, вы можете переключить Создать ответ выключено, чтобы получить только полученные результаты.

Базы знаний для Amazon Bedrock теперь поддерживают гибридный поиск | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Заключение

В этом посте мы рассмотрели новую функцию запросов в базах знаний для Amazon Bedrock, которая обеспечивает гибридный поиск. Мы узнали, как настроить опцию гибридного поиска в SDK и консоли Amazon Bedrock. Это помогает преодолеть некоторые ограничения, связанные с использованием исключительно семантического поиска, особенно при поиске в больших коллекциях документов с разнообразным содержанием. Использование гибридного поиска зависит от типа документа и варианта использования, который вы пытаетесь реализовать.

Дополнительные ресурсы см. в следующих разделах:

Рекомендации

Повышение производительности поиска в конвейерах RAG с помощью гибридного поиска


Об авторах

Базы знаний для Amazon Bedrock теперь поддерживают гибридный поиск | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Мани Хануджа — технический руководитель, специалисты по генеративному искусственному интеллекту, автор книги «Прикладное машинное обучение и высокопроизводительные вычисления на AWS», а также член совета директоров Фонда образования женщин в производстве. Она возглавляет проекты машинного обучения в различных областях, таких как компьютерное зрение, обработка естественного языка и генеративный искусственный интеллект. Она выступает на внутренних и внешних конференциях, таких как AWS re:Invent, Women in Manufacturing West, вебинарах YouTube и GHC 23. В свободное время она любит совершать длительные пробежки по пляжу.

Базы знаний для Amazon Bedrock теперь поддерживают гибридный поиск | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Паллави Наргунд — главный архитектор решений в AWS. В своей роли специалиста по облачным технологиям она работает с клиентами, чтобы понять их цели и проблемы, а также дает рекомендации по достижению их целей с помощью предложений AWS. Она увлечена женщинами в сфере технологий и является одним из основных членов организации «Женщины в искусственном интеллекте и машинном обучении» в Amazon. Она выступает на внутренних и внешних конференциях, таких как AWS re:Invent, AWS Summits и вебинарах. Вне работы она увлекается волонтерством, садоводством, ездой на велосипеде и пешим туризмом.

Отметка времени:

Больше от Машинное обучение AWS