Text-to-SQLで自然言語から構造化データを取得する
by
Shota Totsuka
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
No content
Slide 2
Slide 2 text
自己紹介 ©Blueish 2024. All rights reserved. 戸塚 翔太|BLUEISH Shota Totsuka ・LLMアプリ開発者(Go/Python …etc) ・生成AI, 機械学習 ・趣味: スキー/スノボ, 最近はDifyにContribute ・静岡県(浜松)に住んでます 近くの方がいれば、一緒に勉強会しましょう! Xアカウント @totsukash
Slide 3
Slide 3 text
自己紹介 ©Blueish 2024. All rights reserved. AWS認定(1月から開始)
Slide 4
Slide 4 text
01 Text-to-SQLについて 02 やってみた 03 ハマったこと 04 まとめ 目次 ©Blueish 2024. All rights reserved.
Slide 5
Slide 5 text
ちょっと注意事項... ©Blueish 2024. All rights reserved.
Slide 6
Slide 6 text
サンプルデータではできそうですが、 本番利用に向けてはハマりポイントが 多そうです。 ©Blueish 2024. All rights reserved.
Slide 7
Slide 7 text
十分検証してください。 ©Blueish 2024. All rights reserved.
Slide 8
Slide 8 text
Let's go!!! ©Blueish 2024. All rights reserved.
Slide 9
Slide 9 text
01 Text-to-SQLについて ©Blueish 2024. All rights reserved.
Slide 10
Slide 10 text
- 自然言語からSQLを作成 - 例: 「idが1の人の名前は?」 →「SELECT name FROM table WHERE id = 1」 - DBのスキーマ等とプロンプトの指示を元にSQLを作成 - 概念としてはLLMの隆盛前からあったが、生成AIでより難易度が低下 Text-to-SQL Text-to-SQLについて
Slide 11
Slide 11 text
©Blueish 2024. All rights reserved. - ベクトル検索 - 類似度の高いものを探す - 完全一致ではない - Text-to-SQL - 条件に合うものを探す - 曖昧度は低いが、SQLが正し く生成されなければ正しく情 報を取得できない ベクトル検索との違い Text-to-SQLについて
Slide 12
Slide 12 text
02 やってみた ©Blueish 2024. All rights reserved.
Slide 13
Slide 13 text
©Blueish 2024. All rights reserved. やってみた ©Blueish 2024. All rights reserved. - Bedrock ナレッジベース - ナレッジベースを通してSQLクエリを生成し、実行結果を取得 - Redshift Serverless - 構築したテーブルに対して、実際にSQLクエリを実行するためのクエリエンジン - S3 - csvファイルを格納 構成
Slide 14
Slide 14 text
©Blueish 2024. All rights reserved. やってみた ©Blueish 2024. All rights reserved. 自然言語 SQL
Slide 15
Slide 15 text
©Blueish 2024. All rights reserved. やってみた ©Blueish 2024. All rights reserved. - AWS が提供するクラウドベースのデータウェアハウスサービス - クエリエンジンの提供 - サーバーレス運用 → 運用コストの削減 Redshift Serverless
Slide 16
Slide 16 text
©Blueish 2024. All rights reserved. やってみた ©Blueish 2024. All rights reserved. - id - name - email - …etc RedshiftでDBを準備 データ構成は以下記事のものを使用させていただきました。 https://blog.denet.co.jp/adcale2024_bedrock-knowledge-bases-structured-data-retrieval/
Slide 17
Slide 17 text
©Blueish 2024. All rights reserved. やってみた ©Blueish 2024. All rights reserved. - 2024年12月4日 AWS re:Invent 2024 で構造化データ取得のサポートがプレ ビューとして発表 - 現在はRedshiftのみサポート? Bedrock ナレッジベース(with 構造化データ)
Slide 18
Slide 18 text
©Blueish 2024. All rights reserved. やってみた ©Blueish 2024. All rights reserved. 自然言語 SQL
Slide 19
Slide 19 text
03 ハマったこと ©Blueish 2024. All rights reserved.
Slide 20
Slide 20 text
©Blueish 2024. All rights reserved. ハマったこと ©Blueish 2024. All rights reserved. - 日本語で書いて欲しいクエリが英語に置換される 【解決策】 - 「”サッカー”は英語に訳さず日本語でクエリに使用して」など ①日本語が微妙
Slide 21
Slide 21 text
©Blueish 2024. All rights reserved. ハマったこと ©Blueish 2024. All rights reserved. - Generation/Orchestration それぞれ変更可能 - 出力形式やテーブルのスキーマを上書きするこ とはできなさそう - temperatureなどのパラメータは変更可能 プロンプトテンプレートの変更も可能
Slide 22
Slide 22 text
©Blueish 2024. All rights reserved. ハマったこと ©Blueish 2024. All rights reserved. ②Agentから接続できない問題
Slide 23
Slide 23 text
ご清聴ありがとうございました。 ©Blueish 2024. All rights reserved.