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
340
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
1
89
新しいことを組織ではじめる、そしてつづける
kzkmaeda
5
640
20240824_JAWS_PANKRATION_2024
kzkmaeda
0
36
20240416_devopsdaystokyo
kzkmaeda
1
370
20240321_生成AI時代のDevOps
kzkmaeda
2
950
20240201_クラウド利用料を 半額にするために取り組んだ10+のコト
kzkmaeda
4
6.9k
20231027_Bedrock勉強会
kzkmaeda
3
1.2k
20231011_LangChainコントリビュートのすゝめ
kzkmaeda
0
1.2k
LangChain Japan MeetUp 2023-07-20
kzkmaeda
0
560
Other Decks in Technology
See All in Technology
Oracle Database 23ai 新機能#4 Real Application Clusters
oracle4engineer
PRO
0
110
マルチAWSアカウント間のストリーミングによるデータ同期/AWS SaaS Builders Forum 2024
visional_engineering_and_design
1
110
不感対策ソリューション
jtes
0
230
HashHub会社案内「なぜ今、パブリックブロックチェーンに賭けるのか」
hashhub
3
75k
CVE alive
ennael
PRO
0
360
Understanding and Optimising INP
akshayysharma
0
150
Causal Impactを用いたLINE Pay UIの効果検証とABテスト実施への貢献
lycorptech_jp
PRO
2
460
リスクから学ぶKubernetesコンテナセキュリティ/k8s-risk-and-security
mochizuki875
1
250
Efficient zero-copy networking using io_uring
ennael
PRO
0
270
【shownet.conf_】革新と伝統を融合したファシリティ
shownet
PRO
0
240
LINEヤフー新卒採用 コーディングテスト解説 実装問題編
lycorp_recruit_jp
1
12k
【shownet.conf_】ローカル5Gを活用したウォーキングツアーの体感向上
shownet
PRO
0
250
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
44
2k
Teambox: Starting and Learning
jrom
131
8.7k
Code Review Best Practice
trishagee
62
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Speed Design
sergeychernyshev
22
460
How to Ace a Technical Interview
jacobian
275
23k
A better future with KSS
kneath
235
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
Agile that works and the tools we love
rasmusluckow
327
21k
How to train your dragon (web standard)
notwaldorf
87
5.6k
The Cost Of JavaScript in 2023
addyosmani
43
5.8k
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に則ったデータフローをよりシンプルに記述できるよう 進化してくれると嬉しいなぁ