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
20240222_LangChain_ver0.1.0_LCEL
Search
Kazuki Maeda
February 22, 2024
Technology
4
580
20240222_LangChain_ver0.1.0_LCEL
https://chatgpt.connpass.com/event/307586/
での登壇資料
Kazuki Maeda
February 22, 2024
Tweet
Share
More Decks by Kazuki Maeda
See All by Kazuki Maeda
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
700
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
3
1.9k
日本の教育の未来 を考える テクノロジーは教育をどのように変えるのか
kzkmaeda
1
300
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
270
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
9
7.3k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
6.9k
生成AIを用いた 新しい学びの体験を 提供するまでの道のり
kzkmaeda
0
440
生成AIによって変わる世界 -可能性とリスクについて考える-
kzkmaeda
2
400
新しいことを組織ではじめる、そしてつづける
kzkmaeda
5
1.1k
Other Decks in Technology
See All in Technology
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
200
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
180
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
480
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
500
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
Agent Skils
dip_tech
PRO
0
130
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
190
プロポーザルに込める段取り八分
shoheimitani
1
630
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
600
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
How to make the Groovebox
asonas
2
1.9k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Skip the Path - Find Your Career Trail
mkilby
0
59
Navigating Weather and Climate Data
rabernat
0
110
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
58
50k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
340
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Transcript
LangChain浦島太郎状態から v0.1.0とLCELについていきたい ChatGPT Meetup Tokyo #6 @kzk_maeda
自己紹介 Kazuki Maeda 𝕏 @kzk_maeda SRE/DRE/EM @atama plus AWS Community
Builders AWS Startup Community Core Member
自己紹介 しばらく触ってないな・・
なんとか ついていきたい
Agenda • LangChain v0.1.0のおさらい • v0.1.0への移行 • LECLに入門 • まとめ
Agenda • LangChain v0.1.0のおさらい • v0.1.0への移行 • LECLに入門 • まとめ
Official Release Blogの概要 LangChain公式のRelease Blogには下記の項目でv0.1.0の紹介がされている • Introduction • Third Party
Integrations • Observability • Composability • Streaming • Output Parsing • Retrieval • Agents • LangChain 0.2 https://blog.langchain.dev/langchain-v0-1-0/
Introduction - Architectureの進化 • packageを分割して堅牢性と拡張性を向上 ◦ core ◦ community ◦
partner ◦ … • 個々にバージョン管理されていく • Backward compatibilityのため langchain packageは残る
Third Party Integrations - パッケージの分割 • 700+のIntegrationがあり、これがLangChainの強み • これまでは個々のlibrary依存関係がupgradeの足枷になっていたが、その影響を軽 減可能に
• community ◦ 多くの3rd party integrationのコードが記述されている • partner ◦ openaiやgoogle-vertexaiなどが個別のpackage化されており、 より安定して運用できる • langchain packageには移設先のコードへのInterfaceが残され、後方互換を 担保している
Observability - LangSmithの拡大 • LangSmithを用いた可観測性の拡大 • 先日の発表でprivate-betaから GAされた • in-VPCで立ち上がる
Enterprise editionの計画もある
Composability - LCELを標準記法に • LangChain Expression Language(LCEL)を標準記法として拡張していく • Legacy VersionのChainがあるが、LCELが十分に浸透するまでLegacyを非推奨に
することはないとのこと
Output Parsing - LLMをToolsとして扱う • LLMをtoolとして、別のツールへのinputとするユースケースにおいて 下流のアプリケーションに渡すデータの構造化が課題 • LLMの出力にデータフォーマットと型の指定を渡すことでシステム間連携 の容易性を上げる
◦ JSON、XML、Yamlなどのファイルタイプ指定が可能 • 完全に型強制をかけるというより、 promptの中で出力のデータ型を指定するという実 装だった ◦ validationをかけられるParserもあるので、使用する場合は調査が必要
Other - その他項目のwrap up • Streaming ◦ 完全な応答を待たず、応答の家庭を streaming dataとして返す
◦ LECLに対応 • Retrieval ◦ ingestion - index生成APIを公開 ◦ retrieval - 学術的なretrievalや独自のロジックを実装 ▪ retrievalの際、個人がアクセスできるdocsに認可制御をかけられる • Agents ◦ updateに関する話は少なめ • LangChain 0.2 ◦ すでに0.2の計画は立っており、今後は安定的な minor verupを予定
Agenda • LangChain v0.1.0のおさらい • v0.1.0への移行 • LECLに入門 • まとめ
install packageのバージョン更新 • 手元のapplicationで、langchain v0.1.8への更新と、分割されたpackageの導入を実 施
packageの参照を更新 • 種類によって、core/community/partnerのどれをimportするかが異なる • text_splitterなど、langchain package自体に残っているものもある ◦ architecture上、個別のusecaseに特化した機能はlangchain layerに残る
(余談)BedrockをPartner Packageに・・ • OpenAIやVertexAIはPartner Packageに所属しているのに、Bedrockは Community Packageに所属している・・ • Discussionを起票しているので、 賛同される型はvoteお願いします!
https://github.com/langchain-ai/langchain/discussions/17912
Agenda • LangChain v0.1.0のおさらい • v0.1.0への移行 • LECLに入門 • まとめ
(再掲)Composability - LCELを標準記法に • LangChain Expression Language(LCEL)を標準記法として拡張していく • Legacy VersionのChainがあるが、LCELが十分に浸透するまでLegacyを非推奨に
することはないとのこと
LCELの構成要素 • 基本的な prompt + model + output parser のパターン
• 各インスタンスをunix pipe operatorのように記述してデータの流れを宣言 • Runnableと呼ばれるI/Fを実装しており、共通の呼び出しメソッドを持つ
改めて、LCELとは • 複雑なchainをsimpleに記述することができる • 公式ドキュメントの例→ ◦ ※全てのusecaseを盛り込んだ場合の記述量の差
LCELはどのように実装されているか • Runnable*という基底クラスの __or__ メソッドをオーバーライドすることで Unix Pipe Operator型のI/Fを実現 • 個々のクラスはRunnable*を継承して実装されている
LCELはどう進化していく?(個人的主観) • データパイプラインの実装がより直感的に記述できるようになっていく? ◦ Apache AirflowのようにDAGの実装をより直感的にできると嬉しい
Agenda • LangChain v0.1.0のおさらい • v0.1.0への移行 • LECLに入門 • まとめ
LangChain v0.1.0 / LECLについて • LangChain初のstable versionがリリースされました! ◦ メインはarchitectureの進化で、これからの拡張に耐えられる ソフトウェア設計に移行されている
◦ LCELはcoreに位置付けられ、今後はLCEL I/Fを中心に進化していく • LCELはこれからbasic useになっていきます! ◦ 現状でも、シンプルにchainを記述できるようになります ◦ DAGに則ったデータフローをよりシンプルに記述できるよう 進化してくれると嬉しいなぁ