ゼファーネットのロゴ

Amazon Bedrock のナレッジベースがハイブリッド検索をサポートするようになりました |アマゾン ウェブ サービス

日付:

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>?

書籍名と Web サイト名を求めるこのクエリでは、特定の書籍の価格が知りたいため、キーワード検索を使用するとより良い結果が得られます。ただし、「コスト」という用語には「価格」などの同義語が含まれる場合があるため、テキストの意味を理解するセマンティック検索を使用するとよいでしょう。ハイブリッド検索は、セマンティック検索の精度とキーワードの範囲という両方のアプローチの長所をもたらします。これは、取得者がさまざまな自然言語クエリを処理する必要がある RAG ベースのアプリケーションに最適です。キーワードは、製品名、色、価格などのクエリ内の特定のエンティティをカバーするのに役立ち、セマンティクスはクエリ内の意味と意図をよりよく理解します。たとえば、返品ポリシーや製品の詳細などの顧客の問い合わせを処理するための e コマース Web サイト用のチャットボットを構築したい場合は、ハイブリッド検索の使用が最適です。

ハイブリッド検索の使用例

以下に、ハイブリッド検索の一般的な使用例をいくつか示します。

  • オープンドメインの質問応答 – これには、さまざまなトピックに関する質問に答えることが含まれます。これには、持続可能性、リーダーシップ、財務結果などのさまざまなトピックが含まれる可能性のある Web サイト データなど、多様なコンテンツを含む大規模なドキュメント コレクションを検索する必要があります。セマンティック検索だけでは、ドメイン外の例を処理するために重要な、目に見えないエンティティの語彙一致の機能が欠けているため、このタスクをうまく一般化できません。したがって、キーワードベースの検索とセマンティック検索を組み合わせると、範囲を絞り込み、オープンドメインの質問応答でより良い結果を得ることができます。
  • コンテキストベースのチャットボット – 会話の方向が急速に変わり、予測できない話題が取り上げられることがあります。ハイブリッド検索は、このような自由なダイアログをより適切に処理できます。
  • パーソナライズされた検索 – 異種コンテンツに対する Web スケールの検索は、ハイブリッド アプローチの恩恵を受けます。セマンティック検索は一般的なヘッド クエリを処理しますが、キーワードはまれなロングテール クエリをカバーします。

ハイブリッド検索は 2 つのアプローチを組み合わせることでより広い範囲をカバーしますが、ドメインが狭くセマンティクスが明確に定義されている場合、またはファクトイド質問応答システムのように誤解の余地がほとんどない場合には、セマンティック検索の精度が向上します。

ハイブリッド検索のメリット

キーワード検索とセマンティック検索は両方とも、関連性スコアとともに個別の結果セットを返します。その後、それらを組み合わせて、最も関連性の高い結果が返されます。 Amazon Bedrock のナレッジベースは現在、次の 4 つのベクター ストアをサポートしています。 Amazon OpenSearch サーバーレス, AmazonAuroraPostgreSQL互換版, 松毬, Redis エンタープライズ クラウド。この記事の執筆時点では、ハイブリッド検索機能は OpenSearch Serverless で利用可能であり、他のベクター ストアも近々サポートされる予定です。

ハイブリッド検索を使用する利点の一部を次に示します。

  • 精度の向上 – FM から生成される応答の精度は、取得された結果の関連性に直接依存します。データに基づくと、セマンティック検索のみを使用してアプリケーションの精度を向上させるのは困難な場合があります。ハイブリッド検索を使用する主な利点は、取得結果の品質が向上し、FM がより正確な回答を生成できるようになることです。
  • 拡張された検索機能 – キーワード検索はより広い網を広げ、関連性はあるものの文書全体に意味構造が含まれていない可能性のある文書を検索します。テキストの意味だけでなくキーワードも検索できるため、検索機能が拡張されます。

次のセクションでは、Amazon Bedrock のナレッジベースでハイブリッド検索を使用する方法を示します。

SDK 経由でハイブリッド検索およびセマンティック検索オプションを使用する

Retrieve API を呼び出すと、Amazon Bedrock のナレッジベースが適切な検索戦略を選択し、最も関連性の高い結果が得られます。 API でハイブリッド検索またはセマンティック検索を使用するようにオーバーライドするオプションがあります。

APIの取得

Retrieve API は、ユーザー クエリ、ナレッジ ベース ID、および API に返してほしい結果の数を指定することで、関連する検索結果を取得するように設計されています。この API はユーザー クエリを埋め込みに変換し、ハイブリッド検索またはセマンティック (ベクトル) 検索を使用してナレッジ ベースを検索し、関連する結果を返すため、検索結果に基づいてカスタム ワークフローを構築するためのより詳細な制御が可能になります。たとえば、取得した結果に後処理ロジックを追加したり、独自のプロンプトを追加して、回答を生成するために Amazon Bedrock が提供する FM に接続したりできます。

ハイブリッド検索オプションとセマンティック (ベクトル) 検索オプションを切り替える例を示すために、 10 年の Amazon 2023K ドキュメント。ナレッジ ベースの作成の詳細については、次を参照してください。 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。ハイブリッド検索とセマンティック検索の両方の検索結果の違いを観察してみましょう。

次のコードは、Boto3 で Retrieve API を使用してハイブリッド検索またはセマンティック (ベクター) 検索を使用する方法を示しています。

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 FM によって生成された最終応答を理解するためのハイブリッド検索を備えた API。

RetrieveAndGenerate API

  RetrieveAndGenerate API はナレッジ ベースにクエリを実行し、取得した結果に基づいて応答を生成します。ナレッジ ベース ID と FM を指定して、結果から応答を生成します。 Amazon Bedrock はクエリを埋め込みに変換し、検索タイプに基づいてナレッジベースにクエリを実行し、検索結果をコンテキスト情報として FM プロンプトに追加して、FM で生成された応答を返します。

「31 年 2023 月 XNUMX 日現在、北米の実店舗のリース面積はいくらですか?」というクエリを使用してみましょう。そして尋ねてください 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 を通じて、新興企業、政府機関、学術機関を含むあらゆる規模の開発者や企業にサービスを提供しています。他のサービス。
24 年 2024 月 XNUMX 日現在の Amazon の執行役員および取締役は誰ですか? 2024年現在のアマゾンの執行役員には、社長兼最高経営責任者にアンドリュー・R・ジャシー、ワールドワイドアマゾンストアCEOにダグラス・J・ヘリントン、上級副社長兼最高財務責任者にブライアン・T・オルサブスキー、副社長にシェリー・L・レイノルズが含まれる。 、ワールドワイドコントローラー兼主席会計責任者、アマゾン ウェブ サービス CEO としてアダム N. セリプスキー、グローバル公共政策担当上級副社長および法務顧問としてデビッド A. ザポルスキーが就任しました。 2024 年の時点で、ジェフリー P. ベゾスは Amazon.com の取締役会長を務めています。アンドリュー R. ジャシーは社長兼最高経営責任者を務めています。他の執行役員には、ワールドワイドアマゾンストアCEOとしてダグラス・J・ヘリントン氏、上級副社長兼最高財務責任者としてブライアン・T・オルサブスキー氏、副社長兼ワールドワイドコントローラー兼主席会計責任者としてシェリー・L・レイノルズ氏、CEOとしてアダム・N・セリプスキー氏が含まれる。アマゾン ウェブ サービス。デビッド A. ザポルスキーは、グローバル公共政策担当上級副社長および法務顧問を務めています

Amazon Bedrock コンソール経由でハイブリッド検索およびセマンティック検索オプションを使用する

Amazon Bedrock コンソールでハイブリッド検索オプションとセマンティック検索オプションを使用するには、次の手順を実行します。

  1. Amazon Bedrock コンソールで、 知識ベース ナビゲーションペインに表示されます。
  2. 作成したナレッジ ベースを選択します。
  3. 選択する テストの知識ベース.
  4. 設定アイコンを選択します。
  5. 検索タイプ選択する ハイブリッド検索 (セマンティックおよびテキスト).

デフォルトでは、FM を選択して、クエリに対して生成された応答を取得できます。取得した結果のみを表示したい場合は、 応答を生成する 取得した結果のみを取得するにはオフにします。

まとめ

この投稿では、ハイブリッド検索を可能にする、Amazon Bedrock のナレッジベースの新しいクエリ機能について説明しました。 SDK と Amazon Bedrock コンソールでハイブリッド検索オプションを設定する方法を学習しました。これは、特に多様なコンテンツを含む大規模なドキュメントのコレクションを検索する場合に、セマンティック検索のみに依存する制限の一部を克服するのに役立ちます。ハイブリッド検索の使用方法は、ドキュメントの種類と実装しようとしているユースケースによって異なります。

追加のリソースについては、以下を参照してください。

参考文献

ハイブリッド検索による RAG パイプラインの検索パフォーマンスの向上


著者について

マニカヌジャ テクノロジーリード – ジェネレーティブ AI スペシャリストであり、『Applied Machine Learning and High Performance Computing on AWS』の著者であり、女性製造教育財団理事会のメンバーでもあります。彼女は、コンピューター ビジョン、自然言語処理、生成 AI などのさまざまな分野で機械学習プロジェクトを主導しています。彼女は、AWS re:Invent、Women in Manufacturing West、YouTube ウェビナー、GHC 23 などの社内および社外のカンファレンスで講演しています。自由時間には、ビーチに沿って長距離ランニングをするのが好きです。

パラヴィ・ナルグンド AWS のプリンシパル ソリューション アーキテクトです。クラウドテクノロジーのイネーブラーとしての役割において、彼女は顧客と協力して目標と課題を理解し、AWS 製品で目的を達成するための規範的なガイダンスを提供します。彼女はテクノロジー業界の女性に情熱を持っており、Amazon の Women in AI/ML の中心メンバーです。彼女は、AWS re:Invent、AWS Summit、ウェビナーなどの社内外のカンファレンスで講演しています。仕事以外では、ボランティア、ガーデニング、サイクリング、ハイキングを楽しんでいます。

スポット画像

最新のインテリジェンス

スポット画像