Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ChatGPTとPythonを用いた 高速なデータ可視化プロトタイピング
Search
ingtk
July 11, 2023
Technology
1
170
ChatGPTとPythonを用いた 高速なデータ可視化プロトタイピング
ingtk
July 11, 2023
Tweet
Share
More Decks by ingtk
See All by ingtk
APIゲートウェイと認証認可サービスを導入した / Implement API Gateway and Auth Service
ingtk
0
810
Other Decks in Technology
See All in Technology
特別捜査官等研修会
nomizone
0
570
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
200
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
5
850
Knowledge Work の AI Backend
kworkdev
PRO
0
260
AI with TiDD
shiraji
1
290
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
500
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
180
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
210
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
170
Amazon Connect アップデート! AIエージェントにMCPツールを設定してみた!
ysuzuki
0
140
"人"が頑張るAI駆動開発
yokomachi
1
440
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
Site-Speed That Sticks
csswizardry
13
1k
Skip the Path - Find Your Career Trail
mkilby
0
27
Navigating Weather and Climate Data
rabernat
0
53
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
92
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Designing for Timeless Needs
cassininazir
0
93
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
2
66
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Transcript
ChatGPTとPythonを用いた 高速なデータ可視化プロトタイピング
自己紹介 稲垣 隆徳 Twitter: @ingtk8 Github: ingtk データ可視化サービスチームのテックリード バックエンドエンジニア歴:12年ほど。最近ではデータ基盤、フロントエンドもやります。
今日話すこと • バックエンドエンジニアのプロトタイピングへの関わり方 ◦ なぜプロトタイピングをやるのか ◦ プロトタイピングの課題 • データ可視化アプリケーションを爆速で作る
なぜプロトタイピングをやるか: アイデアの可視化 1. システムの初期モデルをつくる(草案とも言える製品の概念を具体化する) 2. 設計の問題を明らかにする。UIの特定の要素が直感的でない、期待通りに動作し ない場合、これらの問題はプロトタイピングの段階で発見され、修正することができ る。 3. 開発チームがクライアントの要件をより深く理解する。具体的なプロダクトを通して、
クライアントや関係者とコミュニケーションをとる機会を得る。
なぜプロトタイピングをやるか: 製品開発リスクの低減 • 技術的リスクの低減: 技術的な課題や障壁を早期に発見し、開発の遅延や市場投 入の遅れを防ぐ • スケジュールおよび予算リスクの低減: 必要な時間やリソースをより正確に見積も り、スケジュールの遅れや予算超過を防ぐ
プロトタイピングの課題 • 適切な粒度の把握 ◦ 具体的すぎると、細部に捉われ進行速度が遅くなる ◦ 抽象的すぎると、重要な詳細を見落とし実装が現実的でなくなる ◦ 目的と範囲、リソース、期限等を考慮し、プロトタイピングのゴールを適切な粒度に定める •
時間とリソース ◦ プロトタイピングは時間とリソースを必要とする ◦ プロトタイピングのゴールを明確化と、最短で達成するためのツール選定が重要。 ◦ 短期的には課題となるが、長期的にはプロトタイピングにおける恩恵の方が大きい。
プロトタイピングの実践例(テーマ) • 弊社で開催された LLM アイデアソン(Chat GPT を既存のプロダクトに応用する )
プロトタイピングの実践例(デモ) • 170 行くらいのコード(プロンプトが 50 行) • 開発に使った時間は4時間ほど
ポイント • Why ◦ 実際に今携わっているプロダクトに活かせるものを作る(製品開発リスクの低減) ◦ 実現可能性を示すことで、アイデアソンで優位性を築く(アイデアの具体化) • 課題 ◦
期間が 1 週間しかなかったため、最短で実現可能性を示さないといけない(時間とリソース)
ゴールの明確化 検証したいこと • ChatGPT が、入力に応じた適切な SQL を生成することができるかどうか ◦ 適切なプロンプトを考える •
指示の入力〜可視化までを表現することで参加者に実現可能性をわかりやすく示 したい ◦ 可視化・集計の手段は本質ではないので、なるべくコストをかけずに表現したい
技術選定 • 可視化・集計の手段は本質ではないので、なるべくコストをかけずに表現したい • 集計・可視化をローコストでやるなら、Python は有力 ◦ データサイエンス関連の豊富なライブラリ ◦ pandas
/ matplotlib / seaborn / Streamlit ...
Streamlitとは • Python を用いた高速な Web アプリケーション作成を可能にするライブラリ ◦ データサイエンス関連ライブラリとの親和性の高さ • 直感的な
API で、GUI やデータ可視化が非常に簡単に実現できる • ホットリローディング
プロトタイピングのスコープ 1. ユーザからの入力を受け付けることができる(UI) 2. 適切なプロンプト作成することができる(バックエンド) 3. ChatAPIからSQLを取得することができる(バックエンド) 4. SQLの実行結果を可視化することができる(UI)
テキストエリアを配置する
テキストエリアの配置 こんな感じで表示される
プロンプト作成 • 入力「部署ごとの人数だして」→ 当然出してくれない • 要求や与えることができる情報をなるべく正確に伝える ◦ 使用しているデータベース、テーブル定義 ◦ 項目の対応表
◦ 固有項目定義 ◦ 期待するアウトプット
データベース情報とテーブル定義を伝える
項目の対応表を伝える CREATE文は列名が英語なので、日本語との対応表を渡してあげる
個別項目定義を伝える この定義を教えることによって、「部署ごとのリーダー数だして」とか、テナントごとに定義 がことなる項目を含む指示をChatGPTが理解してくれる
期待するアウトプットを伝える ユーザの指示を含める。また、SQLで記述することを伝える。 SQL以外の情報はすべて〜の部分が重要でこの一文がないと、出力したSQLの解説を しはじめる
dataframeをテーブルとして表示 これだけ
dataframeを表示
グラフを表示 seaborn(データフレームを可視化するライブラリ)を使ってグラフを描画する。 dataframeにSQL実行結果の値が入っていれば、これだけ。
グラフを表示 簡単✌
まとめ • プロトタイピングは製品開発リスクの低減、アイデア具現化の重要な手段。 • 適切なゴールの設定と、ツール選定による時間とリソースを節約し、最短で目的を 達成することができる
サンプルコード • https://github.com/ingtk/autosql
ご清聴ありがとうございました