Bedrock ナレッジベースの構造化データ取得(Text to SQL)をやってみた

287 Views

December 23, 24

スライド概要

profile-image

インフラエンジニア

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Bedrock ナレッジベースの構造化データ 取得(Text to SQL)をやってみた 株式会社 Waalsforce 篠田 敬廣 1

2.

注意点 • 資料の内容は2024/12/19時点の情報となります • 本登壇で説明する内容は個人の見解も含まれます • 資料の内容にAWS公式と相違があった場合、AWS 公式を正とさせていただきます 2

3.

• ナレッジベースの構造化データ取得 • 実際にやってみた • Amazon Q generative SQL(時間 あれば) 3

4.

• ナレッジベースの構造化データ取得 • 実際にやってみた • Amazon Q generative SQL 4

5.

ナレッジベースの構造化データ取得とは? • • Bedrockのデータ参照先をRedshift(構造化データ)にでき る 自然言語からSQL文を作ってRedshiftを参照してくれる →Text to SQL to Text 山田太郎の趣味 は? SQL文生成 SELECT hobby FROM users WHERE name = '山田'; Bedrock Redshift 5

6.

ナレッジベースの構造化データ取得とは? • • Bedrockのデータ参照先をRedshift(構造化データ)にでき る 自然言語からSQL文を作ってRedshiftを参照してくれる →Text to SQL to Text 山田太郎の趣味は読書と ゲームです Bedrock SQL文生成 SELECT hobby FROM users WHERE name = '山田'; Redshift 6

7.

うれしいこと • 既存のRedshiftをBedrockのナレッジベースに使える • 構造化データ(RDB)をデータソースにできる →ナレッジデータをイチから準備する手間が省ける 7

8.

• ナレッジベースの構造化データ取得 • 実際にやってみた • Amazon Q generative SQL 8

9.

Redshift側の事前準備 • データベース • テーブル(テスト用データ) ※Redshift サーバレスを使用しました 投入したテストデータ 9

10.

Bedrockの事前準備① • • ナレッジベースから「Knowledge Base with structured data store」で作成する 参照先のRedshiftとDBを選択(割愛) 10

11.

Bedrockの事前準備② • Bedrock Knowledge Basesが使用するIAMロールに「Redshift」の Select権限を付与する必要がある • Redshift側でIAMロールにSelect権限を付与するクエリ実行 CREATE USER "IAMR:AmazonBedrockExecutionRoleForKnowledgeBase_vcz9z" WITH PASSWORD DISABLE; 11

12.

試してみる 山田太郎の趣味は?と聞くと 「ゲームと読書」と正しい情報を 回答してくれた 12

13.

Next.jsのスキルを持っている人がいるか?と聞くと Next.jsのスキルを持った人は「いない」と回答をしてくれた 13

14.

Retrieval and response generationの種類 データソースの参照のみ 自然言語で回答 SQL文の生成 14

15.

Redshiftとのデータ同期 • Redshiftでデータを更新してもBedrockからはリアルタイムで同 期はされない • 最新データに保つには都度Bedrock側でデータを同期させる必 要がある 15

16.

• ナレッジベースの構造化データとは? • 実際にやってみた • Amazon Q generative SQL 16

17.

Amazon Q generative SQL • Amazon Qから 自然言語でSQL文を生成できる • 作ったSQL文をワンクリックでクエリに渡せる(実行できる) • (確か)当初は英語のみ対応だったが今は日本語も対応して いる • 2023年のre:inventで発表されて機能 • 2024年10月にGA 17

19.

まとめ ⚫ 「Bedrock ナレッジベースの構造化データ取得」はBedrockナ レッジベースのデータ参照先をRedshiftにできる ⚫ Text to SQL to Text で自然言語からSQL文を生成し、自 然言語で回答を得られる ⚫ Redshiftとのデータ同期は都度必要(リアルタイム更新され ない) ⚫ Amazon Q generative SQL は自然言語からSQL文を生 成できる 19