Amazon Bedrock ナレッジベースの Salesforce に接続する - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Bedrock ナレッジベースの Salesforce に接続する

Salesforce は、サポート、営業、マーケティングチームを管理するための顧客関係管理 (CRM) ツールです。次のいずれかを使用して、Amazon Bedrock ナレッジベースの Salesforce インスタンスに接続できます。 AWS Amazon Bedrock または の マネジメントコンソール CreateDataSource API (「Amazon Bedrock でサポートされる SDKsおよび」を参照してください。 AWS CLI).

注記

Salesforce データソースコネクタはプレビューリリースであり、変更される可能性があります。

現在、このデータソースで使用できるのは Amazon OpenSearch Serverless ベクトルストアのみです。

クロールできるファイル数とファイルあたりの MB 数には制限があります。ナレッジベースについては「クォータ」を参照してください

サポートされている機能

  • メインドキュメントフィールドの自動検出

  • 包含/除外コンテンツフィルター

  • 追加、更新、削除されたコンテンツの増分コンテンツ同期

  • OAuth 2.0 認証

前提条件

Salesforce では、以下を確認してください

  • Salesforce インスタンス を書き留めますURL。例えば、 などです https://company.salesforce.com/。 インスタンスは Salesforce 接続アプリケーションを実行している必要があります。

  • Salesforce 接続アプリケーションを作成し、クライアント認証情報を設定します。次に、選択したアプリについて、OAuth設定からコンシューマーキー (クライアント ID) とコンシューマーシークレット (クライアントシークレット) をコピーします。詳細については、「接続されたアプリケーションの作成」と「2.0 OAuth クライアント認証情報用の接続されたアプリケーションの設定」に関する Salesforce ドキュメントを参照してください。

    注記

    Salesforce 接続アプリケーションの場合、クライアント認証情報フローで、「名前を指定して実行」フィールドでクライアント認証情報のユーザー名またはエイリアスを検索して選択します。

の AWS アカウント、以下を確認してください

  • 認証情報を に保存する AWS Secrets Manager シークレットを書き留め、シークレットの Amazon リソースネーム (ARN) を書き留めます。このページの接続設定手順に従って、シークレットに含める必要があるキーと値のペアを含めます。

  • のデータソースに接続するために必要なアクセス許可を含める AWS Identity and Access Management (IAM) ナレッジベースの ロール/アクセス許可ポリシー。このデータソースがナレッジベースに追加するために必要なアクセス許可については、「」を参照してください。 IAM ロールについては、「データソースにアクセスするためのアクセス許可」を参照してください。

注記

コンソールを使用する場合は、「」を参照してください。 AWS Secrets Manager データソース設定ステップの一部としてシークレットを追加するか、既存のシークレットを使用します。- IAM ナレッジベースを作成するためのコンソールステップの一部として、必要なアクセス許可がすべて付与された ロールを作成できます。データソースおよびその他の設定を構成したら、 IAM 必要なすべてのアクセス許可を持つ ロールは、特定のナレッジベースに適用されます。

認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。データソース間で認証情報とシークレットを再利用することはお勧めしません。

接続設定

Salesforce インスタンスに接続するには、Amazon Bedrock がデータにアクセスしてクロールできるように、必要な設定情報を提供する必要があります。また、 に従う必要があります前提条件

このセクションには、このデータソースの設定例が含まれています。

ドキュメントフィールドの自動検出、包含/除外フィルター、増分同期、シークレット認証情報、およびこれらの仕組みの詳細については、以下を選択してください。

データソースコネクタは、ドキュメントまたはコンテンツのすべての主要なメタデータフィールドを自動的に検出してクロールします。例えば、データソースコネクタは、ドキュメントに相当するドキュメント本文、ドキュメントタイトル、ドキュメントの作成日または変更日、またはドキュメントに適用される可能性のあるその他のコアフィールドをクロールできます。

重要

コンテンツに機密情報が含まれている場合は、 Amazon Bedrock は、機密情報を使用して応答できます。

メタデータフィールドにフィルタリング演算子を適用して、レスポンスの関連性をさらに向上させることができます。例えば、ドキュメント「epoch_modification_time」や、ドキュメントが最後に更新された 1970 年 1 月 1 日に経過した秒数などです。「epoch_modification_time」が特定の数より大きい最新のデータをフィルタリングできます。メタデータフィールドに適用できるフィルタリング演算子の詳細については、「メタデータとフィルタリング」を参照してください。

特定のコンテンツのクロールを含めたり除外したりできます。例えば、除外プレフィックス/正規表現パターンを指定して、ファイル名に「プライベート」が含まれているファイルのクロールをスキップできます。包含プレフィックス/正規表現パターンを指定して、特定のコンテンツエンティティまたはコンテンツタイプを含めることもできます。包含フィルターと除外フィルターを指定し、両方がドキュメントと一致する場合、除外フィルターが優先され、ドキュメントはクロールされません。

キャンペーン名に「private」を含むキャンペーンを除外または除外する正規表現パターンの例:「.*private.*

包含/除外フィルターは、次のコンテンツタイプに適用できます。

  • Account: アカウント番号/識別子

  • Attachment: 拡張子付きの添付ファイル名

  • Campaign: キャンペーン名と関連する識別子

  • ContentVersion: ドキュメントバージョンと関連する識別子

  • Partner: 関連付けられた識別子を含むパートナー情報フィールド

  • Pricebook2: 製品/料金リスト名

  • Case: 顧客の照会/発行番号、および関連する識別子を含むその他の情報フィールド (注意: 個人情報を含めることができ、除外または除外を選択できます)

  • Contact: 顧客情報フィールド (注意: 個人情報を含めることができ、除外または除外を選択できます)

  • Contract: 契約名と関連する識別子

  • Document: 拡張子付きのファイル名

  • Idea: アイデア情報フィールドと関連する識別子

  • Lead: 潜在的な新しい顧客情報フィールド (注意: 個人情報を含めることができ、除外または除外を選択できます)

  • Opportunity: 保留中の販売/取引情報フィールドと関連する識別子

  • Product2: 製品情報フィールドと関連する識別子

  • Solution: 顧客の問い合わせ/問題および関連する識別子のソリューション名

  • Task: タスク情報フィールドと関連する識別子

  • FeedItem: Chatter フィード投稿の識別子

  • FeedComment: コメントが属する Chatter フィード投稿の識別子

  • Knowledge__kav: ナレッジ記事のバージョンと関連する識別子

  • User: 組織内のユーザーエイリアス

  • CollaborationGroup: Chatter グループ名 (一意)

データソースコネクタは、データソースがナレッジベースと同期するたびに、新規、変更、削除されたコンテンツをクロールします。 Amazon Bedrock は、データソースのメカニズムを使用して、コンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツをクロールできます。データソースをナレッジベースと初めて同期すると、デフォルトですべてのコンテンツがクロールされます。

データソースをナレッジベースと同期するには、 を使用するStartIngestionJobAPIか、コンソールでナレッジベースを選択し、データソースの概要セクションで Sync を選択します。

重要

データソースから同期するすべてのデータは、データを取得するbedrock:Retrieve権限を持つすべてのユーザーが利用できるようになります。これには、データソースのアクセス許可が制御されているデータを含めることもできます。詳細については、「ナレッジベースのアクセス許可」を参照してください。

(2OAuth.0 認証の場合) のシークレット認証情報 AWS Secrets Manager には、次のキーと値のペアを含める必要があります。

  • consumerKey: app client ID

  • consumerSecret: app client secret

  • authenticationUrl: Salesforce instance URL or the URL to request the authentication token from

注記

のシークレット AWS Secrets Manager はナレッジベースの同じリージョンを使用する必要があります。

Console

以下は、Amazon Bedrock ナレッジベースの Salesforce に接続するための設定の例です。データソースは、コンソールのナレッジベース作成ステップの一部として設定します。

  1. にサインインする AWS Management Console IAM Amazon Bedrock のアクセス許可を持つ ロールを使用して、 で Amazon Bedrock コンソールを開きますhttps://console.aws.amazon.com/bedrock/

  2. 左側のナビゲーションペインから、ナレッジベース を選択します。

  3. ナレッジベース セクションで、ナレッジベースの作成 を選択します。

  4. ナレッジベースの詳細を入力します。

    1. ナレッジベース名とオプションの説明を入力します。

    2. を指定する AWS Identity and Access Management ナレッジベースの作成に必要なアクセス許可の ロール。

      注記

      - IAM ナレッジベースを作成するためのコンソールステップの一部として、必要なアクセス許可がすべて付与された ロールを作成できます。ナレッジベースを作成する手順を完了すると、 IAM 必要なすべてのアクセス許可を持つ ロールは、特定のナレッジベースに適用されます。

    3. ナレッジベースに割り当てるタグを作成します。

    次のセクションに進み、データソースを設定します。

  5. データソースとして Salesforce を選択し、接続設定の詳細を指定します。

    1. データソース名とオプションの説明を入力します。

    2. Salesforce インスタンス を指定しますURL。例えば、 などです https://company.salesforce.com/。 インスタンスは Salesforce 接続アプリケーションを実行している必要があります。

    詳細設定を確認します。オプションで、選択したデフォルトの設定を変更できます。

  6. 詳細設定で一時的なデータ暗号化キーとデータ削除ポリシーを設定します。

    [ KMS key 設定では、カスタムキーを選択するか、デフォルトで提供されるデータ暗号化キーを使用できます。

    データを埋め込みに変換する際、 Amazon Bedrock は、一時的なデータを キーで暗号化します。 AWS は、デフォルトで を所有および管理します。独自のKMSキーを使用できます。詳細については、「データインジェスト時の一時データストレージの暗号化」を参照してください。

    データ削除ポリシー設定では、次のいずれかを選択できます。

    • 削除: ナレッジベースまたはデータソースリソースの削除時にベクトル埋め込みに変換されるすべてのデータをデータソースから削除します。ベクトルストア自体は削除されず、データのみが削除されることに注意してください。の場合、このフラグは無視されます。 AWS アカウントが削除されます。

    • 保持: ナレッジベースまたはデータソースリソースの削除時にベクトル埋め込みに変換されるデータソースからのすべてのデータを保持します。ナレッジベースまたはデータソースリソースを削除しても、ベクトルストア自体は削除されないことに注意してください。

    データソースの設定を続行します。

  7. Salesforce インスタンスに接続するための認証情報を指定します。

    1. 2.0 OAuth 認証の場合は、「」を参照してください。 AWS Secrets Manager シークレット認証情報を追加するか、作成したシークレットに既存の Amazon リソースネーム (ARN) を使用します。シークレットには、認証トークンをリクエストURLする Salesforce 接続アプリケーションコンシューマーキー (クライアント ID)、コンシューマーシークレット (クライアントシークレット)、および Salesforce インスタンスURLまたは が含まれている必要があります。詳細については、「接続されたアプリケーションの作成」および「2.0 OAuth クライアント認証情報用の接続されたアプリケーションの設定」に関する Salesforce ドキュメントを参照してください。

    データソースの設定を続行します。

  8. フィルター/正規表現パターンを使用して、特定のコンテンツを含めるか除外するかを選択します。標準コンテンツはすべてクロールされます。

    データソースの設定を続行します。

  9. デフォルトまたはカスタマイズされたチャンクおよび解析設定を選択します。

    1. カスタム設定を選択した場合は、次のいずれかのチャンクオプションを選択します。

      • 固定サイズのチャンク: コンテンツは、設定されたおおよそのトークンサイズのテキストのチャンクに分割されます。チャンクで を超えてはならないトークンの最大数と、連続するチャンク間の重複率を設定できます。

      • デフォルトのチャンク: コンテンツは最大 300 トークンのテキストのチャンクに分割されます。1 つのドキュメントまたはコンテンツに含まれるトークンが 300 個未満の場合、ドキュメントはそれ以上分割されません。

      • 階層チャンク: 親子チャンクのネストされた構造に整理されたコンテンツ。親チャンクトークンの最大サイズと子チャンクトークンの最大サイズを設定します。また、連続する親チャンクと連続する子チャンク間の重複トークンの絶対数も設定します。

      • セマンティックチャンク: 意味的に類似したテキストチャンクまたは文のグループに整理されたコンテンツ。ターゲット/現在の文を囲む文の最大数をグループ化するように設定します (バッファサイズ)。また、テキストを意味のあるチャンクに分割するためのブレークポイントパーセンタイルしきい値も設定します。セマンティックチャンクは基盤モデルを使用します。 の表示Amazon Bedrock 基盤モデルのコストに関する情報の料金

      • チャンクなし: 各ドキュメントは 1 つのテキストチャンクとして扱われます。ドキュメントを別々のファイルに分割して前処理することもできます。

      注記

      データソースの作成後にチャンク戦略を変更することはできません。

    2. の使用を選択できます。 Amazon Bedrockドキュメントを解析して標準テキストを超えるテキストを解析するための の基盤モデル。例えば、ドキュメント内の表形式データを、構造がそのままの状態で解析できます。 の表示Amazon Bedrock 基盤モデルのコストに関する情報の料金

    3. の使用を選択できます。 AWS Lambda 関数を使用して、チャンク戦略と、ドキュメントメタデータ属性/フィールドの処理方法と取り込み方法をカスタマイズします。を指定する Amazon S3 Lambda 関数の入力と出力のバケットの場所。

    次のセクションに移動して、ベクトルストアを設定します。

  10. データをベクトル埋め込みに変換するモデルを選択します。

    許可するベクトルストアを作成する Amazon Bedrock 埋め込みを保存、更新、管理する 。新しいベクトルストアをすばやく作成することも、作成したサポートされているベクトルストアから選択することもできます。現在、このデータソースで使用できるのは Amazon OpenSearch Serverless ベクトルストアのみです。新しいベクトルストアを作成すると、Amazon OpenSearch Serverless ベクトル検索コレクションと、必須フィールドを含むインデックスが自動的に設定されます。サポートされているベクトルストアから選択する場合は、ベクトルフィールド名とメタデータフィールド名をマッピングする必要があります。

    次のセクションに進み、ナレッジベースの設定を確認します。

  11. ナレッジベースの詳細を確認します。先に進む前に任意のセクションを編集し、ナレッジベースを作成できます。

    注記

    ナレッジベースの作成にかかる時間は、特定の設定によって異なります。ナレッジベースの作成が完了すると、ナレッジベースのステータスは、準備完了状態または使用可能状態に変わります。

    ナレッジベースの準備が整い、利用可能になったら、データソースを初めて同期し、コンテンツを最新の状態に保ちます。コンソールでナレッジベースを選択し、データソースの概要セクションで同期を選択します。

API

以下は、Amazon Bedrock ナレッジベースの Salesforce に接続するための設定の例です。API で を使用してデータソースを設定する AWS CLI または Python などSDK、サポートされている 。を呼び出した後CreateKnowledgeBaseCreateDataSourceを呼び出して、 の接続情報を使用してデータソースを作成しますdataSourceConfiguration。また、 でチャンク戦略/アプローチを指定vectorIngestionConfigurationし、 でデータ削除ポリシーを指定することを忘れないでください。 dataDeletionPolicy

AWS Command Line Interface

aws bedrock create-data-source \ --name "Salesforce connector" \ --description "Salesforce data source connector for Amazon Bedrock to use content in Salesforce" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://salesforce-bedrock-connector-configuration.json \ --data-deletion-policy "DELETE" \ --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}' salesforce-bedrock-connector-configuration.json { "salesforceConfiguration": { "sourceConfiguration": { "hostUrl": "https://company.salesforce.com/", "authType": "OAUTH2_CLIENT_CREDENTIALS", "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Salesforce" }, "crawlerConfiguration": { "filterConfiguration": { "type": "PATTERN", "patternObjectFilter": { "filters": [ { "objectType": "Campaign", "inclusionFilters": [ ".*public.*" ], "exclusionFilters": [ ".*private.*" ] } ] } } } }, "type": "SALESFORCE" }