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

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

At AWS re:Invent 2023, ми оголосили про загальну доступність Бази знань для Amazon Bedrock. Завдяки базі знань ви можете безпечно підключати базові моделі (FM). Amazon Bedrock до даних вашої компанії для повністю керованого Retrieval Augmented Generation (RAG).

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

Для додатків на основі RAG точність згенерованої відповіді від великих мовних моделей (LLM) залежить від контексту, наданого моделі. Контекст отримується з векторної бази даних на основі запиту користувача. Семантичний пошук широко використовується, оскільки він здатний зрозуміти більш схожі на людину запитання — запит користувача не завжди безпосередньо пов’язаний із точними ключовими словами у вмісті, який відповідає на нього. Семантичний пошук допомагає дати відповіді на основі змісту тексту. Однак він має обмеження щодо захоплення всіх відповідних ключових слів. Його ефективність залежить від якості вбудованих слів, які використовуються для представлення значення тексту. Щоб подолати такі обмеження, поєднання семантичного пошуку з пошуком за ключовими словами (гібрид) дасть кращі результати.

У цій публікації ми обговорюємо нову функцію гібридного пошуку, яку можна вибрати як варіант запиту поряд із семантичним пошуком.

Огляд гібридного пошуку

Гібридний пошук використовує сильні сторони багатьох пошукових алгоритмів, об’єднуючи їхні унікальні можливості для підвищення релевантності результатів пошуку. Для додатків на основі RAG можливості семантичного пошуку зазвичай поєднуються з традиційним пошуком за ключовими словами, щоб підвищити релевантність результатів пошуку. Це дозволяє здійснювати пошук як за змістом документів, так і за їх основним значенням. Наприклад, розглянемо такий запит:

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

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

Варіанти використання гібридного пошуку

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

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

Хоча гібридний пошук пропонує ширше охоплення завдяки поєднанню двох підходів, семантичний пошук має переваги в точності, коли область вузька, а семантика чітко визначена, або коли мало місця для неправильного тлумачення, як-от системи відповідей на запитання фактоїдів.

Переваги гібридного пошуку

І пошук за ключовими словами, і семантичний пошук повертатимуть окремий набір результатів разом із їх оцінками релевантності, які потім об’єднуються, щоб отримати найбільш релевантні результати. Бази знань для Amazon Bedrock наразі підтримують чотири векторні сховища: Amazon OpenSearch Serverless, Редакція Amazon Aurora, сумісна з PostgreSQL, Соснова шишка та Redis Enterprise Cloud. На момент написання цієї статті функція гібридного пошуку доступна для OpenSearch Serverless, а незабаром з’явиться підтримка інших векторних сховищ.

Нижче наведено деякі з переваг використання гібридного пошуку.

  • Покращена точність – Точність генерованої відповіді від FM безпосередньо залежить від релевантності отриманих результатів. Виходячи з ваших даних, підвищити точність вашої програми лише за допомогою семантичного пошуку може бути складно. Ключовою перевагою використання гібридного пошуку є покращення якості отриманих результатів, що, у свою чергу, допомагає FM генерувати точніші відповіді.
  • Розширені можливості пошуку – Пошук за ключовими словами створює ширшу мережу та знаходить документи, які можуть бути релевантними, але можуть не містити семантичної структури в усьому документі. Він дозволяє здійснювати пошук як за ключовими словами, так і за смисловим значенням тексту, розширюючи тим самим пошукові можливості.

У наступних розділах ми демонструємо, як використовувати гібридний пошук із базами знань для Amazon Bedrock.

Використовуйте параметри гібридного та семантичного пошуку через SDK

Коли ви викликаєте Retrieve API, Knowledge Bases for Amazon Bedrock вибирає для вас правильну стратегію пошуку, щоб отримати найрелевантніші результати. У вас є можливість перевизначити його, щоб використовувати гібридний або семантичний пошук в API.

Отримати API

API Retrieve призначений для отримання релевантних результатів пошуку шляхом надання запиту користувача, ідентифікатора бази знань і кількості результатів, які 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. Давайте поспостерігаємо за різницею в результатах пошуку як для гібридного, так і для семантичного пошуку.

Наступний код показує, як використовувати гібридний або семантичний (векторний) пошук за допомогою Retrieve 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

Команда 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, як гібридний, так і семантичний пошук дають подібні результати.

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

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

Використовуйте параметри гібридного та семантичного пошуку через консоль Amazon Bedrock

Щоб використовувати параметри гібридного та семантичного пошуку на консолі Amazon Bedrock, виконайте такі дії:

  1. Виберіть на консолі Amazon Bedrock База знань у навігаційній панелі.
  2. Виберіть створену базу знань.
  3. Вибирати Тест бази знань.
  4. Виберіть піктограму конфігурацій.
    Knowledge Bases for Amazon Bedrock now supports hybrid search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  5. для Тип пошуку¸ виберіть Гібридний пошук (семантичний і текстовий).
    Knowledge Bases for Amazon Bedrock now supports hybrid search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

За замовчуванням ви можете вибрати FM, щоб отримати згенеровану відповідь на ваш запит. Якщо ви хочете побачити лише отримані результати, ви можете перемкнути Згенеруйте відповідь вимкнено, щоб отримати лише отримані результати.

Knowledge Bases for Amazon Bedrock now supports hybrid search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Висновок

У цій публікації ми розглянули нову функцію запитів у базах знань для Amazon Bedrock, яка забезпечує гібридний пошук. Ми дізналися, як налаштувати опцію гібридного пошуку в SDK і консолі Amazon Bedrock. Це допомагає подолати деякі обмеження покладатися виключно на семантичний пошук, особливо для пошуку у великих колекціях документів із різноманітним вмістом. Використання гібридного пошуку залежить від типу документа та варіанту використання, який ви намагаєтесь реалізувати.

Щоб отримати додаткові ресурси, зверніться до наступного:

посилання

Покращення продуктивності пошуку в конвеєрах RAG за допомогою гібридного пошуку


Про авторів

Knowledge Bases for Amazon Bedrock now supports hybrid search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Мані Хануджа є технічним керівником – Generative AI Specialists, автором книги Applied Machine Learning and High Performance Computing on AWS, а також членом ради директорів фонду «Жінки у сфері виробничої освіти». Вона керує проектами машинного навчання в різних областях, таких як комп’ютерне бачення, обробка природної мови та генеративний штучний інтелект. Вона виступає на внутрішніх і зовнішніх конференціях, таких як AWS re:Invent, Women in Manufacturing West, вебінарах YouTube і GHC 23. У вільний час вона любить довго бігати вздовж пляжу.

Knowledge Bases for Amazon Bedrock now supports hybrid search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Паллаві Наргунд є головним архітектором рішень в AWS. Виконуючи роль постачальника хмарних технологій, вона працює з клієнтами, щоб зрозуміти їхні цілі та проблеми, а також дає чіткі вказівки щодо досягнення їх мети за допомогою пропозицій AWS. Вона захоплюється жінками в технологіях і є одним із основних членів групи Women in AI/ML в Amazon. Вона виступає на внутрішніх і зовнішніх конференціях, таких як AWS re:Invent, AWS Summits і вебінарах. Поза роботою вона захоплюється волонтерством, садівництвом, їздою на велосипеді та пішим туризмом.

Часова мітка:

Більше від AWS Машинне навчання