Quantcast
Channel: LLM – AIポータルメディアAIsmiley
Viewing all articles
Browse latest Browse all 249

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

$
0
0

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

本記事では、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やPrompts、Retrievalといった複数の機能が存在しており、組み合わせながらLLM開発を進めることが可能です。

LangChainを使うメリット

画像②

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

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

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

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

LangChainは無料?料金体系

画像③

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

モデル 特徴 料金
Opus 最高レベルの知能と対応力 入力15ドル・出力75ドル
Sunnet バランスが良く柔軟対応が得意 入力3ドル・出力15ドル
Haiku スピードと手軽さを重視 入力0.25ドル

○○

無料プラン
有料プラン
日本語対応 mmmmm

○○

プラン名 月額料金 トークン数 その他特典
Free 無料 1日150トークン
Apprentice $12 8,500トークン 同時実行ジョブ数5件
プライベート生成
新機能への優先アクセス
Artisan $30 25,000トークン 同時実行ジョブ数10件
プライベート生成
新機能への優先アクセス
Maestro $60 60,000トークン 同時実行ジョブ数20件
プライベート生成
新機能への優先アクセス

Free無料1日150トークンあああ

Apprentice$128,500トークン同時実行ジョブ数5件
プライベート生成
新機能への優先アクセス

Maestro$6060,000トークン同時実行ジョブ数20件
プライベート生成
新機能への優先アクセス
デベロッパープラスエンタープライズ月額料金無料$39要相談ユーザー制限1人10人までの共同開発―1時間あたりの容量上限原則として500MB5GB要相談

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には、以下の小機能も用意されています。

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

Agents

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

Agentsには、小機能として次のようなものが含まれています。

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

Agentsには、小機能として次のようなものが含まれています。

  • Tools:外部とAgentがやり取りする機能
  • Toolkits:任意のToolsを搭載したもの
  • 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(Retrieval Augmented Generation)と呼ばれる仕組みを用いて、企業の社内データを元に回答を生成します。社内チャットボットにより、業務効率化や業務負担の軽減といった効果が期待できるでしょう。

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用アプリケーションを開発、実装できます。

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

生成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にてオープンソースで公開されています。リポジトリーには、スクリプトやテンプレートなどが含まれています。

テキスト

The post 【練習】LangChainとは?主な機能一覧やChatGPTとの連携・Pythonでの使い方を紹介 first appeared on AIポータルメディアAIsmiley.


Viewing all articles
Browse latest Browse all 249

Trending Articles