ChatGPT連携サービス
![](https://aismiley.co.jp/wp-content/uploads/2023/04/Bizchatgpt.png)
最終更新日:2024/07/17
大規模言語モデル(LLM)の開発が急速に進み、ChatGPTなどのAIツールが日常生活に浸透してきました。その中で、LLMを活用したアプリケーション開発を促す「LangChain(ラングチェーン)」は、特に注目されているキーワードの一つです。
本記事では、LangChainの概要から料金、主な機能、ChatGPTやPythonでの使い方などについて解説します。企業での活用例も紹介しますので、LangChainの有益性を知り、社内での生成AI活用に向けてぜひ参考にしてみてください。
LangChainは、LLMのアプリケーション開発を効率的に進め、実装するためのライブラリです。世界的に有名なLLMであるOpenAI社の「ChatGPT」やGoogleが開発した「Gemini」など、多くのLLM開発における効率化や生産性の向上などを促します。
LangChainの創設者であるハリソン・チェイス(Harrison Chase)氏は、2022年10月にオープンソースプロジェクトとしてLangChainを設立。GitHubやDiscordなどのコミュニティから支援を得て、事業体への移行を果たしました。
LangChainはOSS(オープンソースソフトウェア)であり、商標利用や改変、配布は公式に認められています。ただし、OSSはMITライセンスの元で運営されており、遵守しない場合には著作権違反のリスクがあるため注意が必要です。
GitHubで公開されているライセンス情報を確認した上で利用することが重要です。
LangChainは、LLMなどさまざまなAI技術を組み合わせることで、複雑かつ高度なアプリケーションの開発や構築を支援します。LangChainでは現在、データの取得・処理からLLMへの入力、LLMの回答に対する処理といった多岐にわたる機能を提供しています。
LangChainの構造には、PythonやJavaScript、TypeScriptで使える「ライブラリ」や、一般的なチャットツールなどで使われる機能を収集した「テンプレート」などが含まれます。ライブラリには、後述するChainsやPromots、Retrievalといった複数の機能が存在しており、組み合わせながらLLM開発を進めることが可能です。
LangChainを使用するメリットとして、以下が挙げられます。
LangChainにより自動化が促され、複雑な言語モデルやツールとの統合における負担軽減や生産性の向上が期待できます。また、柔軟性が高く、スピーディなソリューションの提供にもつながります。
加えて、LangChainはPythonやJavaScriptといった一般的なプログラミング言語で実装できる上、将来の成長に合わせたスケールアップにも対応しています。
LangChainは無料で利用できますが、有料プランも用意されています。各プランの料金体系は以下の通りです。
デベロッパー | プラス | エンタープライズ | |
月額料金 | 無料 | $39 | 要相談 |
ユーザー制限 | 1人 | 10人までの共同開発 | – |
1時間あたりの容量上限 | 原則として500MB | 5GB | 要相談 |
LangChainに含まれている主要な機能は、以下の6つです。
それぞれの機能について具体的に解説します。
Modelsは、さまざまなモデルを組み合わせるための機能です。LangChainでは、ChatGPTをはじめとするLLMや埋め込みモデルなど多種多様なモデルを、単一インターフェース上で使用できます。
この機能により、コーディングの手間が省ける上、モデル同士のカスタマイズが可能です。また、活用範囲が広がることで、企業の独自LLM開発にも役立ちます。加えて、今後新しいLLMが登場した際にも、LangChainで統合が可能です。
Promptsは、LLMへのプロンプト(入力文)の最適化や管理を行う機能のことです。プロンプトは、LLMの出力を左右する重要な要素であり、LLMを使ったアプリケーション開発においても重視されます。
プロンプト機能には、テンプレート化や例文の選択、記述形式の指定・統一などが含まれます。必要に応じて、活用することで、開発者は効果的なプロンプトを作成でき、パフォーマンスの向上や実装コストの削減にもつながります。
Chainsとは、複数のプロンプトを実行可能にする機能です。Chainsを用いることで、通常のLLMで作成された出力をAIが自動的に次のプロンプトに含めてくれます。
よって、ユーザーが1回プロンプトを入力するだけで、AIが連鎖的に別のプロンプトを自動作成し、複数回の出力を得られます。複数のプロンプトの入力することで、より正確な回答を出力できる可能性が高まるのです。
また、Chainsには、以下の小機能も用意されています。
Agentsは、複数の機能を組み合わせてタスクを実行する機能のことです。情報収集を行う検索エンジンやグラフ作成用のPythonコードなどを合わせて利用できます。また、実行タスクに応じた最適なツールを自動選択することも可能です。
また、Agentsには、以下の小機能も用意されています。
Memoryは、過去の回答履歴を記録し、再利用するための機能で、短期と長期の2タイプに分けられます。短期記憶は、個別のやり取りに関するデータを保管する機能です。一方、長期記憶は複数のやり取りの履歴をキープする機能で、LLMで得た情報を元に更新・反映します。
また、Memoryには、以下の小機能も用意されています。
Retrievalは、ドキュメントのような外部データを検索する機能です。具体的には、LLMが学習していない情報や学習できなかったデータを加味して、回答に反映させることが可能です。PDFやExcel、CSVといった外部データの長文データを与えて、高精度な回答を作成します。
社内データや製品データをLLMに学習させる前に、「RAG(Retrieval Augmented Generation)」という拡張機能を用いて検索に活用することもできます。
LangChainとChatGPTをセットで利用すれば、双方の弱みを補充し合い、処理速度やモデル精度の向上などの効果が期待できます。また、ChatGPT単体よりも膨大なデータにアクセスし、正確かつ包括的な出力を実現できるようになります。
同時に、モデルの学習効率の向上にもつながる可能性が高いです。加えて、LangChainでは、デフォルトのChatGPTにはない機能を拡張し、提供サービスの品質向上や効率化アップにもつながります。LLMに外部データを参照させ、情報を参照した上で回答を生成することができれば、ハルシネーションの低減に役立ちます。
現在、LangChainではPythonとJavaScript(TypeScript)で利用できるように整備されています。中でも、開発者コミュニティが活発で、公式の学習ソースやフレームワークが充実しているPythonを使用するケースが一般的です。
Pythonを用いたLangChainのおおまかな使用方法は、以下の通りです。
ここからは、実際にLangChainを企業において活用する事例を紹介します。ChatGPTなど生成AIツールと組み合わせることで、さまざまなAIアプリケーションの開発を効率的に行えるようになり、ビジネスの促進につながります。
ChatGPTとLangChainを用いて社内チャットボットを構築できます。RAGを用いて、企業の社内データを元に回答を生成します。社内チャットボットにより、業務効率化や業務負担軽減などの効果が期待できます。
なお、RAGの実装には、LangChainのRetrieval機能が用いられます。
WebサイトやページのURLから、内容の要約を作成するアプリケーションを開発できます。YoutubeのURLを読み込む「YoutubeLoader」や、Youtube以外のURLを取得する「UnstructuredURLLoader」を活用し、HTMLテキストから情報を取得して、GPT-4モデルで要約を行います。
ただし、文字数制限により回答が変わる可能性があるため、プロンプトテンプレートの内容を日本語で調整する必要があります。
「Faiss(Facebook AI Similarity Search)」とは、類似ドキュメントを検索するためのオープンソースライブラリです。LangChainのFaissにより、PDFなどのテキストの類似検索を簡単に実行できます。
一般的なテキスト検索は、文字列そのものを検索しますが、類似検索では似たテキストを検索できる点が特徴です。タイプミスやちょっとした表現の違いによって検索結果がヒットしないような事態を避け、近くの情報やデータを得ることができます。
LangChainは利便性の高いツールである一方で、現状では課題や注意点もあります。まず、LangChainはMITライセンスの元で運営されているため、ライセンスを遵守しなかった場合、著作権違反となるため注意が必要です。
また、UXや機能に関連する突然のアップデートがあった場合、蓄積されたノウハウが通用しなくなる可能性があります。加えて、商用ソフトウェアと違ってメーカーサポートが存在しないため、トラブルや不具合が発生した際の対処など、ある程度の技術が必要です。
LangChainは、生成AIをより効果的に活用するために役立つフレームワークです。公開されている多くのLLMと組み合わせが可能で、Pythonという汎用性の高いプログラミング言語を用いて、LLM用アプリケーションを開発・実装できます。
現時点ではサポート面やライセンスなどの注意点もありますが、自社のビジネスを促す独自システムの開発を促すツールの一つと言えます。
生成AIサービスの企業一覧表を下記より無料配布しています。自社のAI活用を検討する際にぜひご活用ください。
LangChainに含まれる多くのプロンプト例は、GPT-3.5(GPT-4)の英語版を想定して作られています。そのため、ツールを活用して日本語ローカルLLMに対応させる必要があります。記憶要約に使うプロンプトを、日本語に翻訳して書き換えることも可能です。
2024年4月に登場した「LangChain v0.1.0」の後、2024年5月に次の「LangChain v0.2」がリリースされています。ただし、最新バージョンにはいくつかの制限が含まれており、移行スクリプトを使う前にはバックアップを取るなどの対策が必要です。
LangChainは、Githubにてオープンソースで公開されています。リポジトリーには、スクリプトやテンプレートなどが含まれています。
業務の課題解決に繋がる最新DX・情報をお届けいたします。
メールマガジンの配信をご希望の方は、下記フォームよりご登録ください。登録無料です。
AI製品・ソリューションの掲載を
希望される企業様はこちら