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
LangChainでデータ分析エージェントを作ってみる
Search
熊懐葵
September 29, 2024
Technology
0
110
LangChainでデータ分析エージェントを作ってみる
機械学習の社会実装勉強会 第39回 (
https://machine-learning-workshop.connpass.com/event/328440/
) の発表資料です。
熊懐葵
September 29, 2024
Tweet
Share
More Decks by 熊懐葵
See All by 熊懐葵
StreamlitとLangChainを使った表画像OCRアプリの実装
aoikumadaki
2
130
AWS LambdaとLangSmithを使った社内レポート添削システムMinervaの実装
aoikumadaki
0
98
Other Decks in Technology
See All in Technology
プロダクトチームへのSystem Risk Records導入・運用事例の紹介/Introduction and Case Studies on Implementing and Operating System Risk Records for Product Teams
taddy_919
1
160
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
24
6.7k
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
140
ネット広告に未来はあるか?「3rd Party Cookie廃止とPrivacy Sandboxの効果検証の裏側」 / third-party-cookie-privacy
cyberagentdevelopers
PRO
1
120
AWS CDKでデータリストアの運用、どのように設計する?~Aurora・EFSの実践事例を紹介~/aws-cdk-data-restore-aurora-efs
mhrtech
4
630
で、ValhallaのValue Classってどうなったの?
skrb
1
660
Emacs x Nostr
hakkadaikon
1
150
Commitment vs Harrisonism - Keynote for Scrum Niseko 2024
miholovesq
6
1k
「最高のチューニング」をしないために / hack@delta 24.10
fujiwara3
21
3.4k
サイロ化した金融システムを、packwerk を利用して無事故でリファクタリングした話
coincheck_recruit
3
3.7k
Autify Company Deck
autifyhq
1
39k
Aurora_BlueGreenDeploymentsやってみた
tsukasa_ishimaru
1
120
Featured
See All Featured
How GitHub (no longer) Works
holman
311
140k
Statistics for Hackers
jakevdp
796
220k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
41
2.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.1k
Into the Great Unknown - MozCon
thekraken
31
1.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Documentation Writing (for coders)
carmenintech
65
4.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
363
19k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Transcript
LangChainで データ分析エージェントを作ってみる 2024/09/29 機械学習の社会実装勉強会 第39回 熊懐 葵
目次 • 背景: 商圏分析 • データ分析エージェント • イメージ • 実装(LangChain
> Pandas Dataframe) • 性能調査(サンプルデータ・実データ) • 処理プロセスの調査
背景: 商圏分析 商圏分析 • 商圏: 特定の店舗が顧客に影響を及ぼすエリア(コンビニ…半径500m以内→徒歩10分) • 商圏の人の属性や人流・競合の立地などから、新店舗の立地選定やマーケティング戦略に活用 既存サービスの課題 •
使用料金の高さ・機能の複雑さ モチベーション • 使いやすい商圏分析ツールを作れないか • LLMを用いたデータ分析エージェントを作りたい
既存サービスの例: MarketAnalyzer https://www.giken.co.jp/products/marketanalyzer/case/ より 多機能→複雑
データ分析エージェントのイメージ 駅別乗降客数データ + 「人がよく乗降する駅は?」 実行結果から回答を出力「〇〇駅で△人です」 コード類やソフトの複雑な操作などせずに データ分析をすることができる 質問とデータから、適切な データ分析プログラムを生成 ↓
プログラムを実行 ユーザー エージェント
LangChainライブラリを用いて実装した 実行例
データ分析エージェントの実装 • OpenAI API Key • LangChain v0.3 create_pandas_dataframe_agent 必要なもの
• データ読み込み • エージェント作成 • エージェント実行 処理内容 ▼ データの読み込み・エージェント作成 (公式) < エージェントが自動で コードを生成しデータを操作する ので、扱いには注意
データ分析エージェントの実装 • OpenAI API Key • LangChain v0.3 create_pandas_dataframe_agent 必要なもの
• データ読み込み • エージェント作成 • エージェント実行 処理内容 ▼ エージェント実行 終了と打つと会話が終了 会話履歴を保存
性能調査: サンプルデータ ▼ 従業員データ(Chat GPTが生成) ▼ 実行結果1 ID 名前 年齢
部門 給料
性能調査: サンプルデータ ※0.6895282023 ▼ 実行結果2 ▼ 従業員データ(Chat GPTが生成) ID 名前
年齢 部門 給料
性能調査: 実データ ▼ 大分県の中心部の駅乗降客数データ 国土数値情報ダウンロードサイト https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-S12-v3_1.html 駅名、駅コード、運営会社、路線名、 2011~2022年の乗降客数(年度別) …その他(35カラム)
性能調査: 実データ データ通りの回答ではある ▼ 実行結果 国土数値情報ダウンロードサイト https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-S12-v3_1.html ▼ データ(一部表示)
性能調査: 実データ ▼ 実行結果 国土数値情報ダウンロードサイト https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-S12-v3_1.html ▼ データ(一部表示) ←増加量(スプレッドシートで検算)
v0.3(9月中旬~)で性能が向上している? ▼ LangChain v0.2での実行結果 元データと異なる数値 v0.3 ではマルチモーダル機能が強化される予定らしい 図の出力機能などでもっと便利になりそう
処理プロセスの調査 ▼ verbose=Trueにする
処理プロセスの調査 ▼ 実行結果 分析に必要なコードを生成し、実行している →数値部分が決定的な出力になる
まとめ 背景 • 商圏分析ツールの高価さ・使いにくさ • LLMを用いて、安価で使いやすいデータ分析ツールは作れないか 今回 • LangChain Toolkitsのcreate_pandas_dataframe_agentを使用
• 基本的なデータ分析の性能を確認 今後 • 性能の限界→是非試してみてください!(※性能向上も速い) • マルチモーダル性能の強化に期待