Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BedrockでNL2SQLをやってみる
Search
やくも
August 09, 2025
1
100
BedrockでNL2SQLをやってみる
JAWS-UG 北陸新幹線 #4 in 長野
やくも
August 09, 2025
Tweet
Share
More Decks by やくも
See All by やくも
効果的なAIエージェントを考える〜それホントにAIエージェントじゃなきゃだめですか?〜
yakumo
2
630
新米エンジニアがJapan AWS Jr.Championsになるまで〜ゼロから始めたAWSとの歩み〜
yakumo
2
290
グラフDBがチョットわかるようになる話
yakumo
5
480
Amazon Bedrock で LINEbotを作成する
yakumo
2
160
RAGでS3 Vectorを使おう
yakumo
1
320
Amazon Q CLI と MCPで Neptuneを自然言語で触ってみよう
yakumo
0
77
Amazon Neptune Graph Explorerのアプデについて
yakumo
0
140
Amazon Neptune で始めるグラフDB
yakumo
0
55
Knowledge BasesにRAGが対応しました!
yakumo
0
170
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
What's in a price? How to price your products and services
michaelherold
246
12k
A better future with KSS
kneath
240
18k
Code Review Best Practice
trishagee
73
19k
It's Worth the Effort
3n
187
29k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
For a Future-Friendly Web
brad_frost
180
10k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Designing for humans not robots
tammielis
254
26k
Transcript
Bedrock NL2SQL
所属:株式会社クレスコ 好きなサービス:Amazon Neptune 年次:2年目 経歴: 2024年4月 株式会社クレスコ入社 2024年7月 ビジネスソリューション事業部配属 2025年6月
2025 Japan AWS Jr.Champion 名前:八雲 慎之助
None
• Natural Language To SQL • 自然言語で書かれた質問や命令を、 データベースから情報を取得するためのSQLクエリに変換する技術 • SQLの専門的な知識がなくてもデータの集計や分析ができる
• 複雑なクエリ文を考える時間を短縮できる • データ分析のハードルが一気に下がる
Amazon Bedrock Amazon Redshift 生成したクエリを実行
None
GRANT USAGE ON SCHEMA public TO “IAMR:ナレッジベースのロール名"; GRANT SELECT ON
products TO “IAMR:ナレッジベースのロール名"; • RedshiftのSELECT権限をナレッジベースのロールに付与 →SELECTに留めておく
Amazon Bedrock Amazon Redshift 生成したクエリを実行
• 商品テーブル • 商品名、売上価格、属性 • 返品ポリシーテーブル • 返品可能条件等 商品テーブル 返品テーブル
None
SELECT "product_name", "sales" FROM public.products ORDER BY "sales" DESC LIMIT
1; 商品テーブル
None
SELECT "p"."name", "r"."return_period", "r"."open_condition" AS "return_conditions", "r"."shipping_cost_payer" FROM public.products “p”
INNER JOIN public.return_policies "r" ON "p"."policy_id" = "r"."policy_id" WHERE "p"."name" = 'ごまドレッシング'; • 複数のテーブルを結合した検索もできている 商品テーブル 返品テーブル
読み取り(SELECT) しかやっちゃダメだよ C R U D
GRANT USAGE ON SCHEMA public TO “IAMR:ナレッジベースのロール名"; GRANT SELECT ON
products TO “IAMR:ナレッジベースのロール名"; • RedshiftのSELECT権限をナレッジベースのロールに付与 →SELECTに留めておく
Amazon Bedrock Amazon Redshift • 自然言語操作だと、望ましくない処理が実施されないか? • 誤った削除、書き換えなど • SELECTのみ許可する
消して! 書き換えて! TRUNCATEして! SELECTのみ許可
Amazon Bedrock Amazon Redshift 生成したクエリを実行
Amazon Bedrock
•構造化データ •非構造化データ XXXテーブル • 表形式のデータ • DBで管理 • 行・列といったように、データ構造が決まっている •
特定の構造が定義されていない • それだけでは検索や集計が難しい Ex)テキストファイル、画像、動画、音声
Amazon Bedrock Agent Amazon Redshift Amazon Bedrock Amazon Bedrock OpenSearch
Service XXXテーブル
Amazon Bedrock Agent Amazon Redshift Amazon Bedrock Amazon Bedrock OpenSearch
Service
None
Amazon Bedrock Agent Amazon Redshift Amazon Bedrock Amazon Bedrock OpenSearch
Service 返品規約について 商品データについて
None
• Bedrock Agentを利用して、ナレッジベースの呼び分けができる • 複雑なSQLの生成や構造・非構造データの取り扱い • 権限を絞って安全に利用できる
Amazon Bedrock S3 S3 • 動画や音声、画像からデータを抽出できる マルチモーダルストレージ
None
None
• ナレッジベースに登録できます
• Bedrock Agentを利用して、ナレッジベースの呼び分けができる • 複雑なSQLの生成や構造・非構造データの取り扱い • 権限を絞って安全に利用できる • BDAやRedShiftのETL統合など、拡張性あり
None
None
• 直通の新幹線、特急がない(泣) • ルートとしては以下の二つ ①北陸新幹線で上越妙高まで、そこから特急しらゆきに乗り換え ②高崎まで戻り、上越新幹線に乗車 • 直通なら高速バスくらい….? • かなり安め!