メインコンテンツまでスキップ

Amazon Kendra 連携

このガイドでは、AI-Starter で Kendra を利用した RAG アシスタント機能を使う際に、参照元をどのように表示するかを設定する方法について解説します。Azure GPT-4 RAG、AWS Claude 2.1 RAG のどちらを利用する場合にも適用できます。

参照元表示オプション

AI-Starter では、以下の 3 つの表示方法から選択できます。

  1. 全ての参照元をリンクとして表示
  2. S3 ドキュメントのメタデータで指定した URL にリンク
  3. リンクを表示しない (デフォルト)

以下、各表示方法の詳細と設定方法を説明します。

1. 全ての参照元をリンクとして表示

概要

この設定では、ユーザーがアプリケーションを介して Kendra のデータソースである S3 バケット内のファイルに直接アクセスできます。

注意事項

  • 現状、アクセス可能なファイル形式は PDF, HTML, JSON, XML, CSV, Markdown, テキストファイルのみです。

設定方法

  1. AWS マネジメントコンソールで、AWS Secrets Manager のサービスページを開きます。

  2. cmais-prd/customize シークレットを開きます。

  3. 「概要」タブの「シークレットの値」で、「シークレットの値を取得する」を押下します。

  4. 「編集する」を押下します。

  5. キーに kendra_doc_link を、値に ALL を入力し、「保存」します。

  6. S3 のサービスページを開きます。

  7. Kendra のデータソースとして参照する S3 バケットを表示し、「プロパティ」タブを選択し、「Amazon リソースネーム (ARN)」をメモします。

  8. IAM のサービスページを開き、「ロール」のページを開きます。

  9. cmais-prd-ar-instance-role を検索して表示します。

  10. 「許可」タブで、「許可を追加」を押下し、「インラインポリシーの作成」を選びます。

  11. 「ポリシーエディター」タブで「JSON」を選択します。以下の JSON を貼り付けます。 Resource には、先ほどメモした S3 バケットの ARN を入力します。完了したら、「次へ」を押下します。

    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Sid": "Statement1",
    "Action": "s3:GetObject",
    "Resource": ["{S3バケットのARN1}/*", "{S3バケットのARN2}/*"],
    "Effect": "Allow"
    }
    ]
    }
  12. ポリシー名に ShowDataSourcePermission と入力し、「ポリシーの作成」を押下します。

  13. (シークレットを更新した場合のみ、以下の手順を実行します)

  14. App Runner のサービスページを開きます。

  15. cmais-prd-ar-ai-starter を選択します。

  16. 「デプロイ」を押下します。

2. S3 ドキュメントのメタデータで指定した URL にリンク

概要

この設定では、Kendra のデータソースである S3 バケット内の各ドキュメントに設定したメタデータ内の特定の属性値を URL として表示します。

設定方法

  1. 各 S3 ドキュメントにメタデータを作成します。

    • 詳細は、Amazon S3 document metadata - Amazon Kendra を参照してください。

    • メタデータは JSON ファイルで作成します。

      • ファイル名は、対象のドキュメント名に .metadata.json を付加します。例えば、test.txt というドキュメントのメタデータファイル名は test.txt.metadata.json となります。

      • ファイルの内容は、以下のように記述します。 http://example.com の部分は、参照させたい URL に置き換えてください。

        {
        "Attributes": {
        "custom_url": "http://example.com"
        }
        }
  2. AWS マネジメントコンソールで、S3 のサービスページを開きます。

  3. Kendra のデータソースとして参照する S3 バケットに、作成したメタデータファイルを配置します。

  4. Kendra のサービスページを開きます。

  5. AI-Starter の連携対象の Index を開きます。

  6. 「Facet definition」を開きます。

  7. 「Add field」ボタンを押下し、以下の設定でフィールドを追加します。

    • Field name: custom_url
    • Date type: String
    • Displayable: チェックを入れる
  8. 「Data sources」を開きます。

  9. AI-Starter の連携対象のデータソースにチェックを入れ、「Sync」を実行します。

  10. AWS Secrets Manager のサービスページを開きます。

  11. cmais-prd/customize シークレットを開きます。

  12. 「概要」タブの「シークレットの値」で、「シークレットの値を取得する」を押下します。

  13. 「編集する」を押下します。

  14. キーに kendra_doc_link を、値に custom_url を入力し、「保存」します。

  15. (シークレットを更新した場合のみ、以下の手順を実行します)

  16. App Runner のサービスページを開きます。

  17. cmais-prd-ar-ai-starter を選択します。

  18. 「デプロイ」を押下します。

3. リンクを表示しない (デフォルト)

概要

この設定では、ユーザーは参照元のタイトルのみを確認でき、ファイルや URL へのアクセスはできません。

設定方法

  1. AWS マネジメントコンソールで、AWS Secrets Manager のサービスページを開きます。
  2. cmais-prd/customize シークレットを開きます。
  3. 「概要」タブの「シークレットの値」で、「シークレットの値を取得する」を押下します。
  4. 「編集する」を押下します。
  5. キーに kendra_doc_link を、値に OFF を入力し、「保存」します。
  6. (シークレットを更新した場合のみ、以下の手順を実行します)
  7. App Runner のサービスページを開きます。
  8. cmais-prd-ar-ai-starter を選択します。
  9. 「デプロイ」を押下します。