DXを推進するAIポータルメディア「AIsmiley」| AI製品・サービスの比較・検索サイト
03-6452-4750 10:00〜18:00 年末年始除く

LangChainとは?主な機能一覧やChatGPTとの連携・Pythonでの使い方を紹介

最終更新日:2024/07/17

大規模言語モデル(LLM)の開発が急速に進み、ChatGPTなどのAIツールが日常生活に浸透してきました。その中で、LLMを活用したアプリケーション開発を促す「LangChain(ラングチェーン)」は、特に注目されているキーワードの一つです。

本記事では、LangChainの概要から料金、主な機能、ChatGPTやPythonでの使い方などについて解説します。企業での活用例も紹介しますので、LangChainの有益性を知り、社内での生成AI活用に向けてぜひ参考にしてみてください。

LangChainとは

LangChainは、LLMのアプリケーション開発を効率的に進め、実装するためのライブラリです。世界的に有名なLLMであるOpenAI社の「ChatGPT」やGoogleが開発した「Gemini」など、多くのLLM開発における効率化や生産性の向上などを促します。

LangChainの創設者であるハリソン・チェイス(Harrison Chase)氏は、2022年10月にオープンソースプロジェクトとしてLangChainを設立。GitHubやDiscordなどのコミュニティから支援を得て、事業体への移行を果たしました。

LangChainの商標利用・ライセンス

LangChainはOSS(オープンソースソフトウェア)であり、商標利用や改変、配布は公式に認められています。ただし、OSSはMITライセンスの元で運営されており、遵守しない場合には著作権違反のリスクがあるため注意が必要です。

GitHubで公開されているライセンス情報を確認した上で利用することが重要です。

LangChainの仕組みと構成

LangChainは、LLMなどさまざまなAI技術を組み合わせることで、複雑かつ高度なアプリケーションの開発や構築を支援します。LangChainでは現在、データの取得・処理からLLMへの入力、LLMの回答に対する処理といった多岐にわたる機能を提供しています。

LangChainの構造には、PythonやJavaScript、TypeScriptで使える「ライブラリ」や、一般的なチャットツールなどで使われる機能を収集した「テンプレート」などが含まれます。ライブラリには、後述するChainsやPromots、Retrievalといった複数の機能が存在しており、組み合わせながらLLM開発を進めることが可能です。

LangChainを使うメリット

LangChainを使用するメリットとして、以下が挙げられます。

  • 複雑な言語モデルやツールの統合の簡素化
  • スピーディなソリューション提供の実現
  • 開発効率の向上とコスト削減
  • アクセシビリティや拡張性の向上

LangChainにより自動化が促され、複雑な言語モデルやツールとの統合における負担軽減や生産性の向上が期待できます。また、柔軟性が高く、スピーディなソリューションの提供にもつながります。

加えて、LangChainはPythonやJavaScriptといった一般的なプログラミング言語で実装できる上、将来の成長に合わせたスケールアップにも対応しています。

LangChainは無料?料金体系

LangChainは無料で利用できますが、有料プランも用意されています。各プランの料金体系は以下の通りです。

デベロッパー プラス エンタープライズ
月額料金 無料 $39 要相談
ユーザー制限 1人 10人までの共同開発
1時間あたりの容量上限 原則として500MB 5GB 要相談

LangChainの主な機能一覧

LangChainに含まれている主要な機能は、以下の6つです。

  • Models
  • Prompts
  • Chains
  • Memory
  • Agents
  • Retrieval

それぞれの機能について具体的に解説します。

Models

Modelsは、さまざまなモデルを組み合わせるための機能です。LangChainでは、ChatGPTをはじめとするLLMや埋め込みモデルなど多種多様なモデルを、単一インターフェース上で使用できます。

この機能により、コーディングの手間が省ける上、モデル同士のカスタマイズが可能です。また、活用範囲が広がることで、企業の独自LLM開発にも役立ちます。加えて、今後新しいLLMが登場した際にも、LangChainで統合が可能です。

Prompts

Promptsは、LLMへのプロンプト(入力文)の最適化や管理を行う機能のことです。プロンプトは、LLMの出力を左右する重要な要素であり、LLMを使ったアプリケーション開発においても重視されます。

プロンプト機能には、テンプレート化や例文の選択、記述形式の指定・統一などが含まれます。必要に応じて、活用することで、開発者は効果的なプロンプトを作成でき、パフォーマンスの向上や実装コストの削減にもつながります。

Chains

Chainsとは、複数のプロンプトを実行可能にする機能です。Chainsを用いることで、通常のLLMで作成された出力をAIが自動的に次のプロンプトに含めてくれます。

よって、ユーザーが1回プロンプトを入力するだけで、AIが連鎖的に別のプロンプトを自動作成し、複数回の出力を得られます。複数のプロンプトの入力することで、より正確な回答を出力できる可能性が高まるのです。

また、Chainsには、以下の小機能も用意されています。

  • SimpleSequential Chain:質問に対する回答の要約文章
  • Sequential Chain:Chainを組み合わせて順番に実行するもの
  • Transformation Chain:任意の操作を指定するもの

Agents

Agentsは、複数の機能を組み合わせてタスクを実行する機能のことです。情報収集を行う検索エンジンやグラフ作成用のPythonコードなどを合わせて利用できます。また、実行タスクに応じた最適なツールを自動選択することも可能です。

また、Agentsには、以下の小機能も用意されています。

  • Tools:外部とAgentがやり取りする機能
  • Toolkits:任意のToolを搭載したもの
  • Agent Executor:ToolsやToolkitsで設定を調整し、Agent Executorでタスクを実行する

Memory

Memoryは、過去の回答履歴を記録し、再利用するための機能で、短期と長期の2タイプに分けられます。短期記憶は、個別のやり取りに関するデータを保管する機能です。一方、長期記憶は複数のやり取りの履歴をキープする機能で、LLMで得た情報を元に更新・反映します。

また、Memoryには、以下の小機能も用意されています。

  • ConversationBufferMemory:会話記録をプロンプトに入れ込むためのメモリ
  • ConversationSummaryMemory:会話の要約保存
  • ConversationEntityMemory:特定の事物に関する情報の記録
  • ChatMessageHistory:対話履歴データの管理

Retrieval

Retrievalは、ドキュメントのような外部データを検索する機能です。具体的には、LLMが学習していない情報や学習できなかったデータを加味して、回答に反映させることが可能です。PDFやExcel、CSVといった外部データの長文データを与えて、高精度な回答を作成します。

社内データや製品データをLLMに学習させる前に、「RAG(Retrieval Augmented Generation)」という拡張機能を用いて検索に活用することもできます。

LangChainとChatGPTで何ができる?

LangChainとChatGPTをセットで利用すれば、双方の弱みを補充し合い、処理速度やモデル精度の向上などの効果が期待できます。また、ChatGPT単体よりも膨大なデータにアクセスし、正確かつ包括的な出力を実現できるようになります。

同時に、モデルの学習効率の向上にもつながる可能性が高いです。加えて、LangChainでは、デフォルトのChatGPTにはない機能を拡張し、提供サービスの品質向上や効率化アップにもつながります。LLMに外部データを参照させ、情報を参照した上で回答を生成することができれば、ハルシネーションの低減に役立ちます。

PythonでのLangChainの使い方

現在、LangChainではPythonとJavaScript(TypeScript)で利用できるように整備されています。中でも、開発者コミュニティが活発で、公式の学習ソースやフレームワークが充実しているPythonを使用するケースが一般的です。

Pythonを用いたLangChainのおおまかな使用方法は、以下の通りです。

  1. LangChainをインストールする
  2. LLMのモデルを選定し、読み込みを行う
  3. プロンプトを必要に応じて構築する
  4. Chainを実行する

LangChainの活用例

ここからは、実際にLangChainを企業において活用する事例を紹介します。ChatGPTなど生成AIツールと組み合わせることで、さまざまなAIアプリケーションの開発を効率的に行えるようになり、ビジネスの促進につながります。

社内チャットボットの導入

ChatGPTとLangChainを用いて社内チャットボットを構築できます。RAGを用いて、企業の社内データを元に回答を生成します。社内チャットボットにより、業務効率化や業務負担軽減などの効果が期待できます。

なお、RAGの実装には、LangChainのRetrieval機能が用いられます。

URLからサイト要約を作成

WebサイトやページのURLから、内容の要約を作成するアプリケーションを開発できます。YoutubeのURLを読み込む「YoutubeLoader」や、Youtube以外のURLを取得する「UnstructuredURLLoader」を活用し、HTMLテキストから情報を取得して、GPT-4モデルで要約を行います。

ただし、文字数制限により回答が変わる可能性があるため、プロンプトテンプレートの内容を日本語で調整する必要があります。

PDF検索(Faiss)

「Faiss(Facebook AI Similarity Search)」とは、類似ドキュメントを検索するためのオープンソースライブラリです。LangChainのFaissにより、PDFなどのテキストの類似検索を簡単に実行できます。

一般的なテキスト検索は、文字列そのものを検索しますが、類似検索では似たテキストを検索できる点が特徴です。タイプミスやちょっとした表現の違いによって検索結果がヒットしないような事態を避け、近くの情報やデータを得ることができます。

LangChainの現状における課題と注意点

LangChainは利便性の高いツールである一方で、現状では課題や注意点もあります。まず、LangChainはMITライセンスの元で運営されているため、ライセンスを遵守しなかった場合、著作権違反となるため注意が必要です。

また、UXや機能に関連する突然のアップデートがあった場合、蓄積されたノウハウが通用しなくなる可能性があります。加えて、商用ソフトウェアと違ってメーカーサポートが存在しないため、トラブルや不具合が発生した際の対処など、ある程度の技術が必要です。

まとめ

LangChainは、生成AIをより効果的に活用するために役立つフレームワークです。公開されている多くのLLMと組み合わせが可能で、Pythonという汎用性の高いプログラミング言語を用いて、LLM用アプリケーションを開発・実装できます。

現時点ではサポート面やライセンスなどの注意点もありますが、自社のビジネスを促す独自システムの開発を促すツールの一つと言えます。

生成AIサービスの企業一覧表を下記より無料配布しています。自社のAI活用を検討する際にぜひご活用ください。

生成AIのサービス比較と企業一覧

よくある質問

LangChainで日本語は使える?

LangChainに含まれる多くのプロンプト例は、GPT-3.5(GPT-4)の英語版を想定して作られています。そのため、ツールを活用して日本語ローカルLLMに対応させる必要があります。記憶要約に使うプロンプトを、日本語に翻訳して書き換えることも可能です。

LangChainの最新版はどのバージョンですか?

2024年4月に登場した「LangChain v0.1.0」の後、2024年5月に次の「LangChain v0.2」がリリースされています。ただし、最新バージョンにはいくつかの制限が含まれており、移行スクリプトを使う前にはバックアップを取るなどの対策が必要です。

LangChainはGithubで公開されていますか?

LangChainは、Githubにてオープンソースで公開されています。リポジトリーには、スクリプトやテンプレートなどが含まれています。

AIsmiley編集部

株式会社アイスマイリーが運営するAIポータルメディア「AIsmiley」は、AIの専門家によるコンテンツ配信とプロダクト紹介を行うWebメディアです。AI資格を保有した編集部がDX推進の事例や人工知能ソリューションの活用方法、ニュース、トレンド情報を発信しています。

・Facebookでも発信しています
@AIsmiley.inc
・Xもフォローください
@AIsmiley_inc

メルマガに登録する

AIサービス
生成AI
ChatGPT
LLM
DXトレンドマガジン メールマガジン登録

業務の課題解決に繋がる最新DX・情報をお届けいたします。
メールマガジンの配信をご希望の方は、下記フォームよりご登録ください。登録無料です。

お名前 - 姓・名

お名前を入力してください

メールアドレス

メールアドレスを入力してください

AI・人工知能記事カテゴリ一覧

今注目のカテゴリー

ChatGPT連携サービス

チャットボット

画像認識・画像解析

需要予測

ChatGPT連携サービス

チャットボット

画像認識・画像解析

需要予測

AI活用のご相談したい企業様はこちら

03-6452-4750

AI製品・ソリューションの掲載を
希望される企業様はこちら