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
530
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
640
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
3
1.6k
日本の教育の未来 を考える テクノロジーは教育をどのように変えるのか
kzkmaeda
1
240
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
230
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
9
6.3k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
6.2k
生成AIを用いた 新しい学びの体験を 提供するまでの道のり
kzkmaeda
0
340
生成AIによって変わる世界 -可能性とリスクについて考える-
kzkmaeda
2
320
新しいことを組織ではじめる、そしてつづける
kzkmaeda
5
1k
Other Decks in Technology
See All in Technology
WEBサービスを成り立たせるAWSサービス
takano0131
1
180
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
Wasmの気になる最新情報
askua
0
160
『バイトル』CTOが語る! AIネイティブ世代と切り拓くモノづくり組織
dip_tech
PRO
1
130
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
140
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
7
4.3k
リセラー企業のテクサポ担当が考える、生成 AI 時代のトラブルシュート 2025
kazzpapa3
1
370
Findy Team+ QAチーム これからのチャレンジ!
findy_eventslides
0
470
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
700
Digitization部 紹介資料
sansan33
PRO
1
5.6k
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
0
360
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Typedesign – Prime Four
hannesfritz
42
2.8k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Language of Interfaces
destraynor
162
25k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Music & Morning Musume
bryan
46
6.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
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に則ったデータフローをよりシンプルに記述できるよう 進化してくれると嬉しいなぁ