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
Deep Dive into Momento with LangChain
Search
Kazuki Maeda
June 22, 2023
Technology
400
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Deep Dive into Momento with LangChain
もめんと Meet-up in June #2
Kazuki Maeda
June 22, 2023
More Decks by Kazuki Maeda
See All by Kazuki Maeda
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
760
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
3
2.2k
日本の教育の未来 を考える テクノロジーは教育をどのように変えるのか
kzkmaeda
1
340
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
290
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
9
7.9k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
7.6k
生成AIを用いた 新しい学びの体験を 提供するまでの道のり
kzkmaeda
0
480
生成AIによって変わる世界 -可能性とリスクについて考える-
kzkmaeda
2
440
新しいことを組織ではじめる、そしてつづける
kzkmaeda
4
1.1k
Other Decks in Technology
See All in Technology
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
350
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
1
190
AIプラットフォームを運用し続けるための可観測性
tanimuyk
4
1.1k
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
1.2k
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
130
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
180
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.6k
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
990
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
新アーキテクチャ「TiDB X」解説とDedicated比較 TiDB Cloud Premiumのゲーム運用活用を検証
staffrecruiter
0
110
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
12
7.1k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
190
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Deep Space Network (abreviated)
tonyrice
0
160
ラッコキーワード サービス紹介資料
rakko
1
3.5M
Docker and Python
trallard
47
3.9k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Technical Leadership for Architectural Decision Making
baasie
3
400
Information Architects: The Missing Link in Design Systems
soysaucechin
0
960
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Transcript
Deep Dive into Momento with LangChain もめんと Meet-up in June
#2 kzk_maeda
Kazuki Maeda @kzk_maeda SRE @atama plus AWS Community Builders AWS
Startup Community Core Member 7+ years of experience of AWS Like: Lambda / Step Functions / Glue / MWAA / Athena 最近はGoogle CloudとLLM系を勉強中 自己紹介
agenda Momento with LangChainを触ってみる Momento with LangChainのコードを追ってみる 今後の期待
agenda Momento with LangChainを触ってみる Momento with LangChainのコードを追ってみる 今後の期待
Momento Cacheとは • Serverless Cache Service • Web上でセットアップして、SDKを埋め込むだけで クラスターセットアップなど不要で利用開始できる •
キャパシティの管理、プロビジョニング、パフォーマンスモニタリングなど オペレーション業務からの解放
LangChainとは • LLM(大規模言語モデル)を利用したアプリケーション開発に利用できる ライブラリ • 各種LLM APIの抽象化、独自データのLoader、ツール群の組み合わせなどの 様々な機能が提供されている • バージョンアップ頻度が異常
なぜLangChainとMomento? https://twitter.com/LangChainAI/status/1662138670332395520?s=20
なぜLangChainとMomento? https://python.langchain.com/docs/ecosystem/integrations/momento
なぜLangChainとMomento? https://www.gomomento.com/blog/momento-is-now-fully-integrated-into-the-langchain-ecosystem
LangChainでMomentoが使える場所 • LLM Cache • Conversation Memory
LLM Cache 通常LangChainでは、都度OpenAIなどのLLMサービスとやりとりをしますが
LLM Cache Cacheが効いていると、InterceptしてCacheからResponseを返します
LLM Cache 実装 数行のコードで実装可能
LLM Cache クエリ時間比較 同一のPromptであれば実行時間を90%以上低減
LLM Cache Token消費量比較 CacheがAnswerを返すのでOpenAIのToken消費量は0
LLM Cache 時間もコストも削減が見込める!!
Conversation Memory 通常、LangChainからLLMへのRequestは状態を持たないので独立実行 →以前の会話内容をLangChainは記憶しない
Conversation Memory ConversationChainのMemoryとしてMomentoを活用し、会話の流れを作れる
Conversation Memory 実装 こちらもシンプルなコードで実装可能
agenda Momento with LangChainを触ってみる Momento with LangChainのコードを追ってみる 今後の期待
注 ここからLangChainのコードを眺めていきますが、 冒頭で紹介したように、LangChainの更新頻度は異常です。 以降のコードは version 0.0.207 のものとなっております。 また、説明の都合でコードの一部のみ抜粋して表示します。
LLM Cache 中で何が行われているのか追ってみましょう
LLM Cache llm_cache が有効であるとcacheに問い合わせる機構が LLMの基底クラスに定義されている
LLM Cache PromptとLLMのparameterをhash化して str castしたtextをKeyにして、Momentoに格納
LLM Cache こんな感じでCacheが衝突しないようになっている
Conversation Memory 中で何か行われているのか追ってみましょう
Conversation Memory ConversationChainの中でmemoryをセットできる
Conversation Memory デフォルトで message_store: 文字列をprefixに付与して session_id を追加したtextをKeyにしている
Conversation Memory plain textをKeyのprefixに追加することで、 CacheのKey(hash化された文字列)との衝突を 抑制している??という推測(中の人教えてください)
ここまで追ってみて • ライブラリを利用する側はシンプルに使えるようにいろんな処理が抽象化されてい る一方、実装側では衝突を防ぐための仕組みが入っていたりと工夫されていること がわかった • 実際にデバッグしてCache Keyを特定してコンソールから確認することができ、楽し かった
agenda Momento with LangChainを触ってみる Momento with LangChainのコードを追ってみる 今後の期待
今後の期待 • Cache機構の拡大 ◦ (LangChainの対応が必要かもしれませんが) Embeddingの生成など、他にもTokenを利用し、時 間がかかる処理があるので、そこでも Cacheが効かせられると嬉しいなと思った • Vector
Storeとしての利用 ◦ 時限式で消えるVector Storeという用途がLLMアプリケーションの中ではそこそこ求められるケース がありそう ◦ Vector Storeが消えていたら新規に Embedding生成してStoreすることでデータ鮮度を高く保つとか ◦ Momentoでそれが実現できると管理が楽で嬉しいなと思った
今後の期待 • 特にVector Storeとして使えると、こういう仕組みを作る時に使い勝手が 非常にいい(気がします)
Thank you