---
title: Bedrock ナレッジベースの構造化データ取得（Text to SQL）をやってみた
tags:  #aws #bedrock  
author: [しの](https://convert.docswell.com/user/3402128)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/YJ9K9X3RJ3.jpg?width=480
description: Bedrock ナレッジベースの構造化データ取得（Text to SQL）をやってみた by しの
published: December 23, 24
canonical: https://convert.docswell.com/s/3402128/K2271R-2024-12-23-231107
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/YJ9K9X3RJ3.jpg)

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


# Page. 2

![Page Image](https://bcdn.docswell.com/page/GJ8R92MG7D.jpg)

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


# Page. 3

![Page Image](https://bcdn.docswell.com/page/LJLKW23X7R.jpg)

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


# Page. 4

![Page Image](https://bcdn.docswell.com/page/47M298D37W.jpg)

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


# Page. 5

![Page Image](https://bcdn.docswell.com/page/P7RMG54RJ9.jpg)

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


# Page. 6

![Page Image](https://bcdn.docswell.com/page/PJXVXK2YEX.jpg)

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


# Page. 7

![Page Image](https://bcdn.docswell.com/page/3JKQW5M4JD.jpg)

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


# Page. 8

![Page Image](https://bcdn.docswell.com/page/LE3P1KYDJ5.jpg)

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


# Page. 9

![Page Image](https://bcdn.docswell.com/page/8EDLX352JG.jpg)

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


# Page. 10

![Page Image](https://bcdn.docswell.com/page/V7P2P4GL78.jpg)

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


# Page. 11

![Page Image](https://bcdn.docswell.com/page/2JVD2X66JQ.jpg)

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


# Page. 12

![Page Image](https://bcdn.docswell.com/page/5EGYRVN2EL.jpg)

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


# Page. 13

![Page Image](https://bcdn.docswell.com/page/4JQMV6Q97P.jpg)

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


# Page. 14

![Page Image](https://bcdn.docswell.com/page/K74VM4YRJ1.jpg)

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


# Page. 15

![Page Image](https://bcdn.docswell.com/page/LJ13846V7G.jpg)

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


# Page. 16

![Page Image](https://bcdn.docswell.com/page/GJWPZXW372.jpg)

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


# Page. 17

![Page Image](https://bcdn.docswell.com/page/4EZK165GE3.jpg)

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


# Page. 18

![Page Image](https://bcdn.docswell.com/page/Y76QL29Q7V.jpg)

18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/G75R12N2E4.jpg)

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


