$30 off During Our Annual Pro Sale. View Details »

Checkpointerを介して、DynamoDBに状態を保存してみた

 Checkpointerを介して、DynamoDBに状態を保存してみた

11/29 LangChain Meetup Tokyo #4のLT資料です

https://langchain.connpass.com/event/331827/

Atsushi Miyamoto

November 29, 2024
Tweet

More Decks by Atsushi Miyamoto

Other Decks in Technology

Transcript

  1. © 2024 Loglass Inc. 1 © 2024 Loglass Inc. Checkpointerを介し

    て、DynamoDBに状態 を保存してみた 宮本 淳志 2024.11.29
  2. © 2024 Loglass Inc. 2 自己紹介 自動車整備士としてキャリアをスタートし、退職後カナダのバンクーバーへ渡航。その後、プログラミン グを現地の学校で勉強した後に、機械学習エンジニアとして現地のスタートアップでエンジニアとして のキャリアをスタートさせる。 2年半カナダに滞在したのち、福岡へ移住。

    福岡の受託開発会社でバックエンドエンジニアとして3年ほど勤務。バックエンド・フロント・インフラの 経験を積む。 2024年10月に株式会社ログラスへクラウドエンジニアとして入社。 生成AI入門中 株式会社ログラス クラウドエンジニア 宮本 淳志 Atsushi Miyamoto
  3. © 2024 Loglass Inc. 4 今日話すこと 1. 永続化の仕組み 2. Checkpointer

    3. DynamoDBをcheckpointerとして使ってみた 4. まとめ Agenda
  4. © 2024 Loglass Inc. 6 • Checkpointerを介して、単一スレッド内のグラフの状態を管理する仕組み • 会話のフィルタリングやサマライズすることで トークン量を節約し、コスト削減やレイテンシ改善することが可能

    01|永続化の仕組み Short-term memory (短期記憶) ※参考: https://langchain-ai.github.io/langgraphjs/concepts/memory/ Long-term memory (長期記憶) • Storeを使用して、異なるスレッドを跨いだデータを管理できる仕組み • 異なるスレッドの内容をいつでも、呼び出すことが可能
  5. © 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
  6. © 2024 Loglass Inc. 9 フィルタリングしないケース 02|Checkpointerとは 例 memory (Filtering

    messages) ※参考: https://langchain-ai.github.io/langgraph/how-tos/memory/manage-c onversation-history/#filtering-messages
  7. © 2024 Loglass Inc. 14 • langgraphjs-checkpoint-dynamodb インストール https://www.npmjs.com/package/@rwai/langgraphjs-checkpoint-dynamodb •

    DynamoDBにテーブル作成 ◦ CheckpointsTable -> checkpointer用 ◦ WritesTable -> Store用 03|DynamoDBをCheckpointerとして使ってみた 準備
  8. © 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/