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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Atsushi Miyamoto
November 29, 2024
Technology
1
330
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
1
570
Asynqを使って、サクッと非同期処理を実現する
atsushii
0
530
LangChainとSupabaseを活用して、RAGを実装してみた
atsushii
1
910
OOM発生時のトラブルシューティング Profilerを活用できるか調査してみた
atsushii
1
660
Other Decks in Technology
See All in Technology
Getting started with Google Antigravity
meteatamel
0
360
Agent Payments Protocolで実装するAIエージェント間取引
tokio007
0
160
Java ランタイムからカスタムランタイムに行き着くまで
ririru0325
0
120
2026年のAIエージェント構築はどうなる?
minorun365
11
2.3k
パネルディスカッション資料 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
270
バイブコーディングで作ったものを紹介
tatsuya1970
0
180
GitHub Copilot CLI 現状確認会議(2026年2月のすがた)
torumakabe
4
640
AWS Bedrock Guardrails / 機密情報の入力・出力をブロックする — Blocking Sensitive Information Input/Output
kazuhitonakayama
2
170
「OSアップデート:年に一度の「大仕事」を乗り切るQA戦略」_Mobile Tech Flex 〜4社合同!私たちのモバイル開発自慢大会〜
gu3
0
230
Goで実現する堅牢なアーキテクチャ:DDD、gRPC-connect、そしてAI協調開発の実践
fujidomoe
3
750
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
43k
AWSが推進するAI駆動開発ライフサイクル入門 〜 AI駆動開発時代に必要な人材とは 〜/ introduction_to_aidlc_and_skills
fatsushi
7
4.8k
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
3
230
Automating Front-end Workflow
addyosmani
1371
200k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
120
Making Projects Easy
brettharned
120
6.6k
How to Ace a Technical Interview
jacobian
281
24k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Designing for Timeless Needs
cassininazir
0
140
AI: The stuff that nobody shows you
jnunemaker
PRO
3
330
The Mindset for Success: Future Career Progression
greggifford
PRO
0
260
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
130
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