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
Checkpointerを介して、DynamoDBに状態を保存してみた
Search
Atsushi Miyamoto
November 29, 2024
Technology
390
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Checkpointerを介して、DynamoDBに状態を保存してみた
11/29 LangChain Meetup Tokyo #4のLT資料です
https://langchain.connpass.com/event/331827/
Atsushi Miyamoto
November 29, 2024
More Decks by Atsushi Miyamoto
See All by Atsushi Miyamoto
Agentic RAG with LangGraph
atsushii
1
630
Asynqを使って、サクッと非同期処理を実現する
atsushii
0
690
LangChainとSupabaseを活用して、RAGを実装してみた
atsushii
1
1k
OOM発生時のトラブルシューティング Profilerを活用できるか調査してみた
atsushii
1
730
Other Decks in Technology
See All in Technology
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
2
1.1k
人とエージェントが高め合う協業設計
kintotechdev
0
880
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
460
Jitera Company Deck
jitera
0
530
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
210
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
100
AI驚き屋発見器
yama3133
1
180
kaonavi Tech Night#1
kaonavi
0
170
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
660
セキュリティ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
490
発表と総括 / Presentations and Summary
ks91
PRO
0
210
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
1
1.5k
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
420
Writing Fast Ruby
sferik
630
63k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
390
The Art of Programming - Codeland 2020
erikaheidi
57
14k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
360
Odyssey Design
rkendrick25
PRO
2
730
Done Done
chrislema
186
16k
Bash Introduction
62gerente
615
220k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Transcript
© 2024 Loglass Inc. 1 © 2024 Loglass Inc. Checkpointerを介し
て、DynamoDBに状態 を保存してみた 宮本 淳志 2024.11.29
© 2024 Loglass Inc. 2 自己紹介 自動車整備士としてキャリアをスタートし、退職後カナダのバンクーバーへ渡航。その後、プログラミン グを現地の学校で勉強した後に、機械学習エンジニアとして現地のスタートアップでエンジニアとして のキャリアをスタートさせる。 2年半カナダに滞在したのち、福岡へ移住。
福岡の受託開発会社でバックエンドエンジニアとして3年ほど勤務。バックエンド・フロント・インフラの 経験を積む。 2024年10月に株式会社ログラスへクラウドエンジニアとして入社。 生成AI入門中 株式会社ログラス クラウドエンジニア 宮本 淳志 Atsushi Miyamoto
© 2024 Loglass Inc. 3 Loglassについて
© 2024 Loglass Inc. 4 今日話すこと 1. 永続化の仕組み 2. Checkpointer
3. DynamoDBをcheckpointerとして使ってみた 4. まとめ Agenda
© 2024 Loglass Inc. 5 01 永続化の仕組み
© 2024 Loglass Inc. 6 • Checkpointerを介して、単一スレッド内のグラフの状態を管理する仕組み • 会話のフィルタリングやサマライズすることで トークン量を節約し、コスト削減やレイテンシ改善することが可能
01|永続化の仕組み Short-term memory (短期記憶) ※参考: https://langchain-ai.github.io/langgraphjs/concepts/memory/ Long-term memory (長期記憶) • Storeを使用して、異なるスレッドを跨いだデータを管理できる仕組み • 異なるスレッドの内容をいつでも、呼び出すことが可能
© 2024 Loglass Inc. 7 02 Checkpointer
© 2024 Loglass Inc. 8 特定のグラフの状態をスレッドに保存する スレッドはユニークなIdを持っているので、グラフ実行後にIdを使用して、保存し た状態にアクセスでき、以下のことが可能となる • human-in-the-loop
• memory • time travel • fault-tolerance 02|Checkpointer できること ※参考: https://langchain-ai.github.io/langgraph/concepts/persistence/?ref =blog.langchain.dev#persistence
© 2024 Loglass Inc. 9 フィルタリングしないケース 02|Checkpointerとは 例 memory (Filtering
messages) ※参考: https://langchain-ai.github.io/langgraph/how-tos/memory/manage-c onversation-history/#filtering-messages
© 2024 Loglass Inc. 10 フィルタリングするケース 02|Checkpointerとは 例 memory (Filtering
messages)
© 2024 Loglass Inc. 11 02|Checkpointerとは ライブラリー • checkpoint-postgres https://github.com/langchain-ai/langgraph/tree/main/libs/checkpoint-postgres
• checkpoint-sqlite https://github.com/langchain-ai/langgraph/tree/main/libs/checkpoint-sqlite
© 2024 Loglass Inc. 12 03 DynamoDBを Checkpointerとして使ってみた
© 2024 Loglass Inc. 13 03|DynamoDBをCheckpointerとして使ってみた 先日のTweet
© 2024 Loglass Inc. 14 • langgraphjs-checkpoint-dynamodb インストール https://www.npmjs.com/package/@rwai/langgraphjs-checkpoint-dynamodb •
DynamoDBにテーブル作成 ◦ CheckpointsTable -> checkpointer用 ◦ WritesTable -> Store用 03|DynamoDBをCheckpointerとして使ってみた 準備
© 2024 Loglass Inc. 15 03|DynamoDBをCheckpointerとして使ってみた 実際の動作 アウトプット ※参考: https://langchain-ai.github.io/langgraphjs/#example
© 2024 Loglass Inc. 16 03|DynamoDBをCheckpointerとして使ってみた 作成されたItems アウトプット
© 2024 Loglass Inc. 17 03|DynamoDBをCheckpointerとして使ってみた 再度同じ質問をしてみた アウトプット
© 2024 Loglass Inc. 18 04 まとめ
© 2024 Loglass Inc. 19 04|まとめ まとめ • LangGraph初めて触ったので、いい勉強になりました!! •
最近DynamoDB オンデマンドスループットの価格引き下げがあったので、Checkpointとして 使用するのはコスト的にも良さそうでは?? ◦ https://aws.amazon.com/jp/about-aws/whats-new/2024/11/amazon-dyn amo-db-reduces-prices-on-demand-throughput-global-tables/
© 2024 Loglass Inc. 20