Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Checkpointerを介して、DynamoDBに状態を保存してみた
Search
Atsushi Miyamoto
November 29, 2024
Technology
1
68
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
Asynqを使って、サクッと非同期処理を実現する
atsushii
0
38
LangChainとSupabaseを活用して、RAGを実装してみた
atsushii
0
170
OOM発生時のトラブルシューティング Profilerを活用できるか調査してみた
atsushii
0
250
Other Decks in Technology
See All in Technology
つくってあそぼ! ユビキタス言語作文の紹介
ndadayo
1
150
長年運用されているサービスの主要データ移行をサービス停止せず安全にリリースしました
phayacell
2
190
B10-ひと目でわかる(といいなぁ)Microsoft Purview
seafay
PRO
0
510
JAWS-UG 横浜支部 #76 AWS re:Invent 2024 宇宙一早い Recap LT3Amazon EKS Auto Modeと遊び(パーティ)の話
tjotjo
0
140
実務につなげる数理最適化
recruitengineers
PRO
3
140
TimeTreeが経た3つの転換点 ー プロダクト成長過程でその時、その瞬間、何を考えてたか
ysmtysts
1
3.7k
How is Cilium Tested?
yutarohayakawa
5
300
お悩みハンドブック紹介資料
grafferhandbook
0
1.5k
宇宙最速のランチRecap LT会(AWS re:Invent 2024)
watany
1
380
WED Company Deck for Engineer
wed
2
3.7k
Oracle Database Release and Support Timelines 2024/12/11
wmo6hash
0
180
「品質とスピードはトレード・オンできる」に向き合い続けた2年半を振り返る / Quality and speed can be traded on.
mii3king
0
740
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Thoughts on Productivity
jonyablonski
67
4.3k
Docker and Python
trallard
41
3.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Visualization
eitanlees
145
15k
GraphQLとの向き合い方2022年版
quramy
44
13k
Facilitating Awesome Meetings
lara
50
6.1k
Building Adaptive Systems
keathley
38
2.3k
Optimising Largest Contentful Paint
csswizardry
33
3k
Automating Front-end Workflow
addyosmani
1366
200k
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