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
340
1
Share
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
580
Asynqを使って、サクッと非同期処理を実現する
atsushii
0
560
LangChainとSupabaseを活用して、RAGを実装してみた
atsushii
1
930
OOM発生時のトラブルシューティング Profilerを活用できるか調査してみた
atsushii
1
670
Other Decks in Technology
See All in Technology
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
120
OCI技術資料 : 証明書サービス概要
ocise
1
7.2k
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
170
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.3k
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
17k
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
180
GitHub Advanced Security × Defender for Cloudで開発とSecOpsのサイロを超える: コードとクラウドをつなぐ、開発プラットフォームのセキュリティ
yuriemori
1
120
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
210
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
170
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.3k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
170
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
870
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
87
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
330
Faster Mobile Websites
deanohume
310
31k
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