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
440
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
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
190
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
9
5k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
4.4k
生成AIを用いた 新しい学びの体験を 提供するまでの道のり
kzkmaeda
0
260
生成AIによって変わる世界 -可能性とリスクについて考える-
kzkmaeda
2
270
新しいことを組織ではじめる、そしてつづける
kzkmaeda
5
910
20240824_JAWS_PANKRATION_2024
kzkmaeda
0
89
20240416_devopsdaystokyo
kzkmaeda
1
480
20240321_生成AI時代のDevOps
kzkmaeda
2
1.2k
Other Decks in Technology
See All in Technology
Classmethod AI Talks(CATs) #21 司会進行スライド(2025.04.17) / classmethod-ai-talks-aka-cats_moderator-slides_vol21_2025-04-17
shinyaa31
0
580
YOLOv10~v12
tenten0727
4
940
[2025年4月版] Databricks Academy ラボ環境 利用開始手順 / Databricks Academy Labs Onboarding
databricksjapan
0
130
Creating Awesome Change in SmartNews
martin_lover
1
270
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming
tomzoh
1
230
Goの組織でバックエンドTypeScriptを採用してどうだったか / How was adopting backend TypeScript in a Golang company
kaminashi
6
5.4k
ElixirがHW化され、最新CPU/GPU/NWを過去のものとする数万倍、高速+超省電力化されたWeb/動画配信/AIが動く日
piacerex
0
140
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
200
SDカードフォレンジック
su3158
1
600
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
13
4.6k
サーバレス、コンテナ、データベース特化型機能をご紹介。CloudWatch をもっと使いこなそう!
o11yfes2023
0
160
MCPを活用した検索システムの作り方/How to implement search systems with MCP #catalks
quiver
12
6.5k
Featured
See All Featured
BBQ
matthewcrist
88
9.6k
Embracing the Ebb and Flow
colly
85
4.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Building Adaptive Systems
keathley
41
2.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Optimising Largest Contentful Paint
csswizardry
36
3.2k
Thoughts on Productivity
jonyablonski
69
4.6k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Statistics for Hackers
jakevdp
798
220k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
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に則ったデータフローをよりシンプルに記述できるよう 進化してくれると嬉しいなぁ