Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BedrockでNL2SQLをやってみる
Search
八雲慎之助
August 09, 2025
1
46
BedrockでNL2SQLをやってみる
JAWS-UG 北陸新幹線 #4 in 長野
八雲慎之助
August 09, 2025
Tweet
Share
More Decks by 八雲慎之助
See All by 八雲慎之助
RAGでS3 Vectorを使おう
yakumo
1
200
Amazon Q CLI と MCPで Neptuneを自然言語で触ってみよう
yakumo
0
62
Amazon Neptune Graph Explorerのアプデについて
yakumo
0
100
Amazon Neptune で始めるグラフDB
yakumo
0
45
Knowledge BasesにRAGが対応しました!
yakumo
0
150
Jr.Championsになるための取り組みと期待すること
yakumo
1
250
2024年振り返り
yakumo
0
36
Neptune使ってみた
yakumo
0
49
AWS GameDayに参加してきた
yakumo
1
300
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Building an army of robots
kneath
306
45k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Balancing Empowerment & Direction
lara
1
540
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Side Projects
sachag
455
43k
Adopting Sorbet at Scale
ufuk
77
9.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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
• 直通の新幹線、特急がない(泣) • ルートとしては以下の二つ ①北陸新幹線で上越妙高まで、そこから特急しらゆきに乗り換え ②高崎まで戻り、上越新幹線に乗車 • 直通なら高速バスくらい….? • かなり安め!