Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
LangGraphを用いたAIアプリケーションにおけるメモリ永続化の実践
Search
西岡 賢一郎 (Kenichiro Nishioka)
August 30, 2024
Technology
880
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LangGraphを用いたAIアプリケーションにおけるメモリ永続化の実践
機械学習の社会実装勉強会 第38回 (
https://machine-learning-workshop.connpass.com/event/328440/
) の発表資料です。
西岡 賢一郎 (Kenichiro Nishioka)
August 30, 2024
More Decks by 西岡 賢一郎 (Kenichiro Nishioka)
See All by 西岡 賢一郎 (Kenichiro Nishioka)
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
93
AIエージェントを雇う前に決める5つのこと
knishioka
1
200
顧客に説明できる、 安全なAIの使い方 - 会計士・税理士向けAI活用勉強会 第2回
knishioka
0
120
ローカルLLM、実際どこまで使えるか
knishioka
0
100
会計士・税理士向け AI活用勉強会第1回
knishioka
0
140
権限は渡さない、操作だけ切り出す ― 自前MCPサーバー実践入門
knishioka
0
110
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
320
データサイエンスの現場から学ぶ 成功と失敗の実像と生成AI時代の展望
knishioka
0
120
ハーネスエンジニアリング入門
knishioka
0
920
Other Decks in Technology
See All in Technology
Loop Engineering これくらいでいい
mikanichinose
0
220
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
870
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
610
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.5k
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
940
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.3k
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
180
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
700
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
690
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
0
110
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
360
Featured
See All Featured
From π to Pie charts
rasagy
1
400
Product Roadmaps are Hard
iamctodd
55
13k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
400
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
The untapped power of vector embeddings
frankvandijk
2
1.9k
Scaling GitHub
holman
464
140k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
560
Joys of Absence: A Defence of Solitary Play
codingconduct
1
540
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Design in an AI World
tapps
1
350
Transcript
LangGraphを用いた AIアプリケーションにおける メモリ永続化の実践 2024/08/31 機械学習の社会実装勉強会 第 38回 1
今回のお話 AIアプリケーション開発の新たな可能性を開く LangGraphの Checkpointer機能につい て、実際の動作をデモンストレーションを通じて紹介 2
自己紹介 名前 : 西岡 賢一郎 Twitter: @ken_nishi note: https://note.com/kenichiro YouTube:
【経営 xデータサイエンス x開発】西岡 賢一郎のチャンネル 経歴 東京大学で位置予測アルゴリズムを研究し博士 (学術 ) を取得 東京大学博士課程在学中にデータサイエンスのサービスを提供する株式会社 トライディアを設立 トライディアを売却し、 CTOとして 3年半務め、 2021年 10月末に CTOを退職 CDPのスタートアップ (Sr. CSM)・株式会社データインフォームド (CEO)・株 式会社ディースタッツ (CTO) プロダクト開発チーム・データサイエンスチームの立ち上げ 3
LangChainとは 大規模言語モデル( LLM)を使用したアプリケーションを構築するためのフレー ムワーク 複雑な AIタスクを簡単に実装できるようにする さまざまなコンポーネントやツールを提供 4
LangGraphとは LangChainの一部として開発されたライブラリ 状態を持つマルチアクターアプリケーションを構築するためのツール エージェントやマルチエージェントのワークフローを作成可能 5
なぜ永続性が必要か? 1. 文脈の維持 複数の対話にわたって会話の文脈を保持 ユーザーとの長期的な対話を可能に 2. 状態の管理 アプリケーションの現在の状態を保存 必要に応じて以前の状態に戻る能力 3.
エラーからの回復 障害発生時に最後の正常な状態から再開可能 6
永続性の実現方法: Checkpointer LangGraphでは、 「 Checkpointer」を通じて永続性を実現 Checkpionterとは: アプリケーションの状態を保存し、必要に応じて復元する機能 7
Checkpointerの主な特徴 1. セッションメモリ ユーザーとのやり取りの履歴を保存 保存された状態から会話を再開可能 2. エラー回復 最後に成功した保存状態から継続可能 システム障害時の影響を最小限に 3.
ヒューマンインザループ 人間の介入や承認を要する処理の実装 AIと人間の協調作業をスムーズに 8
Checkpointerの実装 LangGraph v0.2で導入された新しいライブラリ: langgraph_checkpoint : 基本インターフェース langgraph_checkpoint_sqlite : SQLiteに保存 (開発・テスト用
) langgraph_checkpoint_postgres : PostgreSQLに保存 (本番環境用 ) 9
LangGraph v0.2 の変更 変数名変更 thread_ts → checkpoint_id parent_ts → parent_checkpoint_id
import方法の変更 旧 : from langgraph.checkpoint import BaseCheckpointSaver 新 : from langgraph.checkpoint.base import BaseCheckpointSaver SQLiteチェックポインターが分離 : langgraph-checkpoint-sqlite 10
Checkpointerの使用例 from langgraph.graph import StateGraph from langgraph.checkpoint.sqlite import SqliteSaver #
グラフの構築 builder = StateGraph(State) # graphをcompileするときにcheckpointerを指定 with SqliteSaver.from_conn_string(":memory:") as memory: graph = builder.compile(checkpointer=memory) 11
Checkpointerの仕組み 12
Checkpointerの利点 1. 一貫性のある長期的な対話 ユーザーとの会話履歴を保持し、文脈に応じた応答が可能 2. 堅牢なアプリケーション エラーや中断からの回復が容易 3. 複雑なワークフローの実現 人間の介入を含む高度な処理フローを構築可能
4. 開発の柔軟性 様々なデータベースに対応可能 カスタム実装の作成が容易 13
考慮事項 1. パフォーマンスへの影響 履歴が増えると LLM呼び出しに時間がかかる可能性 2. カスタマイズの制限 履歴の動的な操作に一部制限あり 3. 実装の選択
使用環境に適した Checkpointer機能の選択が重要 14
デモンストレーション LangGraphの Checkpointer使用の実演 MemorySaver SqliteSaver PostgresSaver ソースコード : https://github.com/knishioka/machine-learning- workshop/blob/main/langchain/langchain_persistence.ipynb
15
まとめ LangGraphの Checkpointerは、永続性を実現する強力なツール 長期的な対話、エラー回復、複雑なワークフローを可能に 適切に使用することで、より洗練された AIアプリケーションの開発が可能 16
参考文献 1. LangGraph公式ドキュメント 2. LangGraph v0.2リリースブログ 3. LangGraph Persistence How-to
17