
5
チェーンのためのLCEL
5.5
LCEL(LangChain Expression Language)は 、 Python に埋め込まれた一種のドメイン特化
言語(DSL:Domain-Specific Language)です。ドメイン特化言語は、特定の用途向けの専用
言語を意味します。ここでの用途は、チェーン構築です。LCELは、Python の演算子をオー
バロードすることでチェーン構築のための構文を提供します。ユーザはLCELが提供する構
文を用いることで短い記述量でチェーンを構築することができます。一般にこのような構文を
糖衣構文(Syntactic Sugar)と呼びます。
糖衣構文は、複雑なコードと同じことを、より簡単なコードで書けるようにするための構文
です。このため、LCEL を使わなくてもLCEL を使う場合と同じことは実現できます。しか
し、LangChainの有用なサンプルなどの多くはLCEL で記述されています。したがって、
LangChainを学ぶ上でも LCELの理解は有用です。また、LCEL をマスターすることで、より
LangChainらしいプログラムを作成することができるでしょう。
そこで、本節ではLCELについてよく使われるパターンを網羅する形で解説を行います。本
節を読むことで、LCELを使って複雑なチェーンが書けるようになるはずです。
5.5.1
プロンプトチェーニングとLCEL
プロンプトチェーニングは、あるプロンプトで得られた応答を次のプロンプトの入力として ...