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
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
Search
Henry Cui
August 26, 2023
Programming
0
160
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
Henry Cui
August 26, 2023
Tweet
Share
More Decks by Henry Cui
See All by Henry Cui
プロダクション言語モデルの情報を盗む攻撃 / Stealing Part of a Production Language Model
zchenry
0
70
Direct Preference Optimization
zchenry
0
270
Diffusion Model with Perceptual Loss
zchenry
0
220
レンズの下のLLM / LLM under the Lens
zchenry
0
140
Go with the Prompt Flow
zchenry
0
130
Mojo Dojo
zchenry
1
170
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
350
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
81
{{guidance}}のガイダンス / Guidance of guidance
zchenry
0
140
Other Decks in Programming
See All in Programming
Beyond Laravel Octane - Hyperf for Laravel Artisans
albertcht
1
140
Jakarta EE as Seen Trough the Lens of the ASF
ivargrimstad
0
290
タイミーにおけるデータの利用シーンと データ基盤の挑戦
marufeuille
4
3.2k
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
0
190
【YAPC::Hakodate 2024】TypeScriptエンジニアが感じたPerlのここが面白い
kimitashoichi
1
270
CSC509 Lecture 02
javiergs
PRO
0
160
ポケモンで考えるコミュニケーション / Communication Lessons from Pokémon
mackey0225
4
180
Новый уровень ML-персонализации Lamoda: Как мы усилили ее в каталоге и перенесли на другие продукты
lamodatech
0
220
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
pyama86
3
400
PHPを書く理由、PHPを書いていて良い理由 / Reasons to write PHP and why it is good to write PHP
seike460
PRO
5
470
学生の時に開催したPerl入学式をきっかけにエンジニアが組織に馴染むために勉強会を主催や仲間と参加して職能間の境界を越えていく
ohmori_yusuke
1
140
Quarto Clean Theme
nicetak
0
220
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
39
2.3k
Building Applications with DynamoDB
mza
90
6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.3k
It's Worth the Effort
3n
183
27k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
The Mythical Team-Month
searls
218
43k
Optimizing for Happiness
mojombo
375
69k
Transcript
驚愕の事実!LangChainが抱える問題 機械学習の社会実装勉強会第26回 Henry 2023/8/26
記事の紹介 ▪ The Problem With LangChain • https://minimaxir.com/2023/07/langchain-problem/ • BuzzFeed社のエンジニアが執筆
▪ 記事が言いたいこと • LangChainは思うほど使いやすくない • 過度な複雑さと避けるために、APIをそのまま使うべき ▪ 断り:あくまでも記事の意見であって、発表者の意見ではない 2
内容 ▪ LangChainが実現したReAct論文 ▪ LangChainのテンプレート ▪ LangChainの履歴保存 ▪ LangChain Agentに関して
▪ 環境情報 • Python 3.8.6 • langchain 0.0.266 3
LangChainが実現したReAct論文 ▪ ReAct: Synergizing Reasoning and Acting in Language Models
• ICLR 2023 上位論文 ▪ タスクに対して、ReasoningとActを交互に行う 4
LangChainが実現したReAct論文 ▪ 著者実装は https://github.com/ysymyth/ReAct にて公開 ▪ 論文実験用なので、ハードコーディングのところがある • https://github.com/ysymyth/ReAct/blob/master/hotpotqa.ipynb 5
LangChainのテンプレート ▪ 記事の主な批判「LangChainが簡単なことを複雑化した」 ▪ その一例として、Templateの作り方に対して ▪ langchain/langchain/prompts/base.py • f-stringはstring.Formatterベース •
jinja2はjinja2.Templateでレンダーリング 6
LangChainの履歴保存 ▪ 履歴を保存するためのコードは逆に長くなっている • 左:LangChain、右:OpenAI API 7
LangChain Agentに関して ▪ initialize_agentではデフォルトでsystem promptを入れてない • system promptを含むagent_kwargsを明示的に渡す必要がある ▪ Tool選択の際で、出力がJSONじゃないといけない
• langchain/langchain/agents/conversational_chat/prompt.py 8
LangChain Agentに関して ▪ Tool選択の際で、出力がJSONじゃないといけない • Custom AgentやCustom Chainなどを使うことができるが、やることが また複雑になってしまう •
function callingも使える? ▪ function callingは6/13にAPIで公開 ▪ 記事の日付は7/14だが、内容が固まったのはfunction calling公開前だと思われる • 自由フォーマットの内容をJSONにパースするのにもう一回LLMも使え る? 9
まとめ ▪ LangChainに関する記事の検証 10