【LLM開発】LLMサービス開発用ライブラリ「LangChain」とは?

はじめに

この記事ではLLM(GPTをはじめとした大規模言語モデル)を用いたサービス開発に便利なLangChainについて、GPTを用いた自社ツールや社外向けサービスを作りたい方向けに、概要と主な機能を簡単に説明します。

(開発者向けに各機能の実装方法はのちほど別途執筆いたします。)

LangChainとは

LangChainはGPTなどのLLMを使ったサービス開発に役立ちます。

イメージとしてはGPTの拡張パックです。

GPTと組み合わせることでGPTだけではできなかったこと(検索や数値計算)を補助してくれます。

Microsoftが提供するVisual ChatGPTなどにも利用されてます。今後のLLMサービス開発に標準的に用いられるものとなるでしょう。

例えば、プロンプトをGPTにわたす際にプロンプトに独自のデータやGoogleの検索結果を含めたり、プロンプトのテンプレートを用意しておくことができます。

LangChainの主な機能

LLM同士の組み合わせ

複数の言語モデルを簡単に切り替えたり、組み合わせたりすることが可能になります。

1つの言語モデルでは得られない結果を得る事ができます。

プロンプトテンプレート

プロンプトを共通化したり、変数をプロンプトに組み込むことができます。

例えば、料理のレシピを作るプロンプトを作ったとき、料理名だけを簡単に変更することができるようになります。

記憶

前のユーザーの発言や、言語モデルの回答を覚えておくことができます。

これはChatGPTのAPIだけでは実現できなかったことです。

連鎖

LLMからの出力を再度、別の入力として用いることができます。

例えば、料理レシピのプロンプトテンプレートへ「寿司」と入力した結果をLLMへ入れることができます。

エージェント

LangChainの中心的な機能です。

Google検索、数値計算、独自データからのテキストデータ取得など、予め用意されているツールをエージェントに与えることで、入力に応じた最適解を生成してくれます。

まとめ

この記事ではLangChainの概要と主な機能を紹介しました。

LangChainの検索や記憶機能を利用して、ツールやサービスを作ってみてはいかがでしょうか。