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
1
120
Checkpointerを介して、DynamoDBに状態を保存してみた
11/29 LangChain Meetup Tokyo #4のLT資料です
https://langchain.connpass.com/event/331827/
Atsushi Miyamoto
November 29, 2024
Tweet
Share
More Decks by Atsushi Miyamoto
See All by Atsushi Miyamoto
Agentic RAG with LangGraph
atsushii
0
290
Asynqを使って、サクッと非同期処理を実現する
atsushii
0
110
LangChainとSupabaseを活用して、RAGを実装してみた
atsushii
1
340
OOM発生時のトラブルシューティング Profilerを活用できるか調査してみた
atsushii
1
430
Other Decks in Technology
See All in Technology
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
550
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
360
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
570
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
290
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
100
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
260
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
500
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
2
270
OCI Success Journey OCIの何が評価されてる?疑問に答える事例セミナー(2025年2月実施)
oracle4engineer
PRO
2
140
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
230
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Music & Morning Musume
bryan
46
6.4k
GraphQLとの向き合い方2022年版
quramy
44
14k
Thoughts on Productivity
jonyablonski
69
4.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
We Have a Design System, Now What?
morganepeng
51
7.4k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Building Applications with DynamoDB
mza
93
6.2k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Navigating Team Friction
lara
183
15k
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