Amazon Web Services ブログ

RAG アプリケーションを強化する Amazon Bedrock の新しい API が利用可能に

Amazon Bedrock は、AI21 LabsAnthropicCohereMetaMistral AIStability AIAmazon などの主要な AI 企業の高性能基盤モデル (FM) を、単一の API を通じて選択できるフルマネージドサービスです。また、セキュリティ、プライバシー、責任ある AI を備えた生成 AI アプリケーションを構築するために必要な幅広い機能も提供します。Amazon Bedrock のナレッジベースは、デベロッパーが高精度、低レイテンシー、安全、カスタマイズ可能な生成 AI アプリケーションをコスト効率よく作成できるようにするフルマネージドサービスです。Amazon Bedrock のナレッジベースは、検索拡張生成 (RAG) を使用して、基盤モデル (FM) を企業の内部データに接続します。RAG は、より関連性が高く、正確で、カスタマイズされた応答を FM が提供するのに役立ちます。

この記事では、Amazon Bedrock のナレッジベースに関連する次の 2 つの発表について詳しく説明します:

  • カスタムコネクタとストリーミングデータの取り込みのサポート。
  • 再ランク付けモデルのサポート。

カスタムコネクタとストリーミングデータの取り込みのサポート
12 月 1 日、Amazon Bedrock のナレッジベースでのカスタムコネクタとストリーミングデータの取り込みのサポートを発表しました。デベロッパーは、データソースとのフル同期を定期的に、またはあらゆる変更の後に実行することなく、単一の API コールを使用して、効率的かつコスト効率よくデータを直接取り込み、更新し、または削除できるようになりました。ますます多くのお客様が、チャットボットやエンタープライズ検索など、さまざまなユースケースのために RAG ベースの生成 AI アプリケーションを開発しています。しかし、アプリケーションのエンドユーザーが常に最新の情報にアクセスできるよう、ナレッジベース内のデータを最新の状態に保つという課題に直面しています。現在のデータ同期プロセスは時間がかかり、新しいデータが追加または削除されるたびにフル同期が必要です。お客様はまた、Google Drive や Quip などのサポートされていないソースからのデータをナレッジベースに統合するという課題にも直面しています。通常、このデータを Amazon Bedrock のナレッジベースで利用できるようにするには、まず Amazon Simple Storage Service (Amazon S3) などのサポートされているソースに移動してから、取り込みプロセスを開始する必要があります。この追加のステップにより、さらなるオーバーヘッドが発生するだけでなく、クエリのためにデータにアクセスできるようになるまでに遅延が発生します。さらに、ストリーミングデータ (ニュースフィードやモノのインターネット (IoT) センサーデータなど) を使用するお客様は、取り込み前にサポートされているデータソースにデータを保存する必要があるため、リアルタイムのデータ可用性に遅延が生じます。お客様がデータをスケールアップする中で、これらの非効率性と遅延が重大な運用上のボトルネックとなり、コストを増加させる可能性があります。これらすべての課題を念頭に置くと、ナレッジベースが最新であり、リアルタイムでクエリを実行できるようにするために、さまざまなソースからデータを取り込み、管理するためのより効率的でコスト効率の高い方法を利用できることが重要です。カスタムコネクタとストリーミングデータの取り込みがサポートされているため、お客様はダイレクト API を使用して、データセット全体を一覧表示して同期することなく、データを効率的に追加または削除したり、そのステータスを確認したりできるようになりました。

仕組み
カスタムコネクタとストリーミングデータの取り込みには、Amazon Bedrock コンソールまたは AWS SDK を使用してアクセスできます。

  1. Add Document
    Add Document API は、ドキュメントの追加後にフル同期を実行することなく、ナレッジベースに新しいファイルを追加するために使用されます。お客様は、ドキュメントの Amazon S3 パス、ソースにドキュメントとして追加するテキストコンテンツ、または Base64 でエンコードされた文字列を指定することで、コンテンツを追加できます。

    POST /knowledgebases/knowledgeBaseId/datasources/dataSourceId/documents HTTP/1.1
    Content-type: application/json
    
    {
       "maxResults": number,
       "nextToken": "string"
    }
  2. Delete Document
    Delete Document API は、ドキュメントの削除後にフル同期を実行することなく、ナレッジベースからデータを削除するために使用されます。

    {
        "clientToken": "string",
        "documentIdentifiers": [{ // Length 1-10 elements 
            "dataSourceType": S3 | CUSTOM,
            "s3": {
                "uri": "string"
            },
            "custom": {
                "id": "string"
            }
        }]
    }
  3. List Document(s)
    List Document API は、リクエストパラメータで指定された条件に一致するレコードの一覧を返します。

    {
        "maxResults": number,
        "nextToken": "string"
    }
  4. Get Document
    Get Document API は、リクエストパラメータで指定された条件に一致するドキュメントに関する情報を返します。

    {
        "documentIdentifiers": [{ // Length 1-10 elements 
            "dataSourceType": S3 | CUSTOM,
            "s3": {
                "uri": "string"
            },
            "custom": {
                "id": "string"
            }
        }]
    }

今すぐご利用いただけます
Amazon Bedrock のナレッジベースでのカスタムコネクタとストリーミングデータの取り込みのサポートは、Amazon Bedrock のナレッジベースが利用可能なすべての AWS リージョンで今すぐご利用いただけます。詳細と今後の更新については、リージョン一覧を確認してください。Amazon Bedrock のナレッジベースの詳細については、Amazon Bedrock の製品ページにアクセスしてください。料金の詳細については、Amazon Bedrock の料金ページをご覧ください。

フィードバックは、AWS re:Post for Amazon Bedrock、または通常の AWS 担当者を通じてお寄せください。生成 AI ビルダーコミュニティ (community.aws) にもご参加ください。

再ランク付けモデルのサポート
12 月 1 日、Amazon Bedrock の新しい Rerank API も発表しました。これにより、デベロッパーは再ランク付けモデルを使用して、応答の関連性と精度を改善することで、RAG ベースのアプリケーションのパフォーマンスを向上させることができます。ベクトル埋め込みによってサポートされるセマンティック検索は、ドキュメントとクエリをセマンティックな高次元ベクトル空間に埋め込みます。この空間では、関連する意味を持つテキストがベクトル空間内で近くにあり、それゆえ意味的に類似しているため、クエリと単語が共有されていなくても類似した項目が返されます。RAG アプリケーションではセマンティック検索が使用されます。これは、取得されたドキュメントとユーザーのクエリの関連性が正確な応答を提供する上で重要な役割を果たすためです。そして、RAG アプリケーションはベクトルストアからさまざまな関連ドキュメントを取得します。

ただし、セマンティック検索では、ユーザーの好みやクエリコンテキストに基づいて最適なドキュメントを優先順位付けする際に制限があります。このことは、ユーザークエリが複雑、あいまい、または微妙なコンテキストを含む場合に特に当てはまります。これにより、ユーザーの質問に部分的にしか関連しないドキュメントが取得される可能性があります。これにより、適切な引用とソースの帰属が正しいソースに帰属しないという別の課題が生じ、RAG ベースのアプリケーションの信頼性と透明性が失われます。これらの制限に対処するために、将来の RAG システムは、ユーザーのインテントとコンテキストをより良く理解できる堅牢なランキングアルゴリズムの開発を優先すべきです。さらに、生成された応答の信頼性と透明性を確認するために、ソースの信頼性評価と引用慣行の改善に重点的に取り組むことが重要です。

高度な再ランク付けモデルは、クエリと追加のコンテキストについてナレッジベースから最も関連性の高いコンテンツを優先し、基盤モデルが最も関連性の高いコンテンツを受け取るようにすることで、これらの課題を解決します。これにより、より正確で、コンテキスト的に適切な応答が得られます。再ランク付けモデルは、生成モデルに送信される情報を優先順位付けすることで、応答生成コストを削減する場合があります。

仕組み
リリース時には、Amazon Rerank 1.0 と Cohere Rerank 3.5 の再ランク付けモデルをサポートしています。このチュートリアルでは、Amazon Rerank 1.0 モデルを使用します。まず、このモデルへのアクセスをリクエストします。


アクセスが付与されたら、既存の Amazon Bedrock のナレッジベースコンソールエクスペリエンスを使用してナレッジベースを作成します (代わりに API プロセスも利用できます)。ナレッジベースには、音楽プレイリスト映画のリストの 2 つのデータソースが含まれています。


ナレッジベースが作成されたらすぐに、サービスロールを編集して、bedrock:Rerank アクションを含むポリシーを追加します。API は、再ランク付けする必要があるドキュメントのリストとともに、ユーザークエリを入力として受け取ります。出力は、再ランク付けされたドキュメントの優先順位リストです。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-west-2::foundation-model/amazon.rerank-v1:0"
            ]
        },
        {
            "Sid": "Statement2",
            "Effect": "Allow",
            "Action": [
                "bedrock:Rerank"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

最後のステップは、データソースを同期して、検索のためにそのコンテンツをインデックス化することです。同期には数分から数時間かかる場合があります。

ナレッジベースを使用する準備が整いました。RetrieveAndGenerate API は、クエリとの関連性に基づいて、ベクトルデータストアから取得した結果を再ランク付けします。

対照的に、Rerank API がない別のアカウントで同じデータに対して同じクエリを実行しました。結果はクエリとの関連性に基づいて結果が再ランク付けされません。これはパフォーマンスに影響し、応答の精度を損なう可能性があります。

今すぐご利用いただけます
Amazon Bedrock の Rerank API は現在、米国西部 (オレゴン)、カナダ (中部)、欧州 (フランクフルト)、アジアパシフィック (東京) の AWS リージョンでご利用いただけます。詳細と今後の更新については、リージョン一覧を確認してください。Amazon Bedrock のナレッジベースを使用していない場合でも、Rerank API を単独で使用してドキュメントを再ランク付けできます。Amazon Bedrock のナレッジベースの詳細については、Amazon Bedrock の製品ページにアクセスしてください。料金の詳細については、Amazon Bedrock の料金ページをご覧ください。

フィードバックは、AWS re:Post for Amazon Bedrock、または通常の AWS 担当者を通じてお寄せください。生成 AI ビルダーコミュニティ (community.aws) にもご参加ください。

Veliswa

原文はこちらです。