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
120
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
Henry Cui
August 26, 2023
Tweet
Share
More Decks by Henry Cui
See All by Henry Cui
Direct Preference Optimization
zchenry
0
160
Diffusion Model with Perceptual Loss
zchenry
0
77
レンズの下のLLM / LLM under the Lens
zchenry
0
98
Go with the Prompt Flow
zchenry
0
100
Mojo Dojo
zchenry
1
140
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
200
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
63
{{guidance}}のガイダンス / Guidance of guidance
zchenry
0
110
MLOps初心者がApache Airflowを触る / Apache Airflow Introduction for an MLOps Beginner
zchenry
0
170
Other Decks in Programming
See All in Programming
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1.1k
ペパボOpenTelemetry革命
pyama86
2
170
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
540
新宿ダンジョンを可視化してみた
satoshi7190
3
420
Git Lint
bkuhlmann
4
770
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.3k
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
530
Code Reviews
bkuhlmann
4
910
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
850
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
6
1.3k
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
10
1.7k
Ruby GitHub Packages
bkuhlmann
0
650
Featured
See All Featured
The Invisible Side of Design
smashingmag
294
49k
It's Worth the Effort
3n
180
27k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Faster Mobile Websites
deanohume
300
30k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Design by the Numbers
sachag
274
18k
Facilitating Awesome Meetings
lara
43
5.6k
We Have a Design System, Now What?
morganepeng
43
6.8k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
Producing Creativity
orderedlist
PRO
338
39k
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