LangChainとは?2025年最新動向・料金・実装例までいま知るべきポイント総まとめ!

- デフォルトのLLM単体ではできない機能を追加して、効率化を高めるライブラリ
- 開発スピードの向上、ハルシネーションの抑制が見込める
- MITライセンスベースで公開されており、再配布や商用利用も可能
皆さんは、Langchainというライブラリをご存知でしょうか?
Langchainを使うことで、ChatGPTやClaude3といった生成AIの機能を高め、より実用的に使えるようになるのです。現代において生成AIは、プログラミングやWebライティングをはじめ、あらゆる業種において「なくてはならない存在」となっているのが現状。
他社よりもできる限り生成AIを有効活用したいですよね。そこで、ライブラリ「Langchain」の出番です!
具体的にどのような変化があり、どの点が便利になるのか、そして導入方法は何か、気になりますよね?
そこで今回の記事では、Langchainの概要や導入方法、実際に使ってみた感想をお伝えしていきます。
本記事を一読することで、いつも使用している生成AIが見違えるほど高機能になり、生産性を格段にアップさせられます。ぜひ最後までお読みいただき、参考にしてください!
\生成AIを活用して業務プロセスを自動化/
Langchainの概要
LangChainは、2022年10月にオープンソースプロジェクトとして立ち上げられました。
その後、急激に人気を集め、2023年3月頃から、AmazonやGoogle、Microsoft Azureのクラウドストレージなどのシステムと統合されるなど、いまやLLMを使ったアプリケーション開発のスタンダードになりつつあります。
そんなLangchainの機能などをわかりやすくまとめました。
Langchainとは?
Langchainは、デフォルトのLLM単体ではできない機能を追加して、効率化を高めるライブラリです。
2025年7月24日にLangChain v0.3.27が公開され、Pydantic v2への完全対応と共に、text‑splitterパッケージが0.3.9に更新されました。リリースノートによると、XML解析の安全性強化やRuff自動修正が盛り込まれていて、例外ハンドリング(プログラムの実行中に発生する予期しないエラーを検知して適切に処理する仕組み)も刷新されています。
ChatGPTなどの大規模言語モデル(LLM)と外部リソース(データソース、言語処理系)を組み合わせることで、ChatGPT単体ではできなかった機能を拡張させ、より高度なサービスが展開できます。
例えば、LLMに対し「外部データを参考にして、事実をもとに回答を出力させる」といった、いわゆるRAG(Retrieval-Augumented Generation)の実装も可能になります。こうすることで、ハルシネーションを低減できると言われているのです。
特定のタスクに特化させるという手段では、ファインチューニングという選択肢もありますが、Langchainならモデルに追加学習させることなく機能を追加できるのが魅力です。
ライブラリとは?
プログラミングにおけるライブラリとは、よく使われる関数やクラス、設定ファイルなどをひとまとめにした「再利用可能な部品箱」のようなイメージです。
我々開発者は、自分で1からコードを書く代わりに、pipなどのパッケージマネージャーでインストールして、importするだけで高度な機能を呼び出すことができるというわけです。たとえば、LangChainも「LLM を操作する」「ベクトル検索を組み込む」といった専門的な処理を部品として提供していて、私たちはその部品を自由に組み合わせてアプリを組み立てることができます。
ライブラリを使う最大のメリットは、開発スピードの向上とバグの削減です。動作する保証のあるコードを利用することで、短時間で安定した機能を実装でき、メンテナンスも公式アップデートを取り込むだけで済みます。
Langchainのライセンスと商用利用について
LangchainはMITライセンスで提供されており、配布や商用利用も可能になっています。
詳しくはライセンスページをご確認ください。
利用用途 | 可否 |
---|---|
商用利用 | ⭕ |
改変 | ⭕ |
配布 | ⭕ |
特許使用 | ⭕ |
私的利用 | ⭕ |
Langchainの開発元
Langchainを開発したのは、機械学習スタートアップ企業Robust Intelligenceに勤務していたハリソン・チェイス(Harrison Chase)という人物です。
冒頭で紹介したとおり、2022年10月にオープンソースプロジェクトとして立ち上げられ、その後法人化しています。
法人化するまでに成長したのは、GitHub・Twitter・Discordなど、さまざまなプラットフォームで多くの協力者を得られたことが関係しているようです。
Langchainで何ができるのか
ここでは、Langchainで何ができるのか気になっている方のために、基本的な6つの機能を紹介します。それぞれ一つの機能としてますが、機能全体を連携して動作させることも可能です。※1
LLMのカスタマイズ(Models)
Modelsとは、ChatGPTといったさまざまな大規模言語モデル(LLM)、チャットモデル、埋め込みモデルを同じインターフェース上で取り扱えるようにする機能です。これにより、モデル同士の組み合わせや、カスタマイズが実現でき、応用の幅が広がります。
外部ツールとの連携(Indexes)
Indexesは、外部データを利用して連携するための機能です。PDFやCSVファイルといった様々な外部データの文書を取得し、回答を生成できます。この効率的な検索システムによって、外部データを利用した最適な指示を送ることができます。
テンプレートでの効率化(Prompts)
Promptsは、言語モデルへの入力を生成するためのプロンプトの管理や最適期化を行うための機能です。LLMを使用したサービスを行う際には、プロンプトの機能を付け加える必要があります。LangChainのPromptsの機能によって、プロンプトテンプレートや統一された記述方法でコーディングが可能となり、実装コストを抑えることができます。
対話履歴の記憶(Memory)
Memoryは、ユーザーとの対話の履歴を記憶する機能です。これにより、過去の会話を参照して、より一貫性のある回答生成が可能となります。過去に言語モデルが出力した結果や回答履歴を記憶しておくことで、必要に応じて再び活用することができるようになるのです。
複雑な回答への対応(Chains)
Chainsは、一度の指示だけで複雑な回答生成が可能となる複数のプロンプトを実行できる機能です。一度指示したプロンプトから生成された回答をもとに、次のプロンプトが実行され、繰り返すことで高精度の回答を生成することができます。さらに、長い文章を分割して要約したり、要約した文章を一つにまとめるといった利用方法が可能となります。
複数ツールの連携(Agents)
Agentsは、複数の異なったツールを組み合わせて実行する機能です。検索エンジンツールと、グラフを生成するツールを組み合わせて活用するといった方法が可能となります。必要な情報だけを収集して正しいグラフを生成できるまで修正を繰り返してくれるので、正確なデータを効率よく取得できます。
上記の機能はいずれもLangchainを使わずとも、長いコードを使用すれば実践できます。しかし、Langchainならそれぞれの機能だけでなく全体に連携させて実践することができるため、時間の手間を省いて効率よく実用できるのでとても便利です。
なお、Langchainの使い方については「LangChain完全入門」という書籍でも詳しく解説されています。操作が不安な方は、ぜひチェックしてみてください。
LangChainを使うメリット
LangChainを使うメリットを大きく3つ取り上げてご紹介します。
開発スピードが飛躍的に向上する
LangChainでは、LLM呼び出し・埋め込み生成・ベクトル検索・外部ツール連携が1つのインターフェースに抽象化されています。コマンドで、from langchain_openai import ChatOpenAI とするだけで最新モデルへ接続することができますし、公式テンプレートをコピペしてパラメータを少し変えるだけで動かすことができます。
さらに、LangServeでチェーンをそのままFastAPI化できるため、バックエンドを待たずにフロント実装と並列開発が可能な点も強みです。
ハルシネーションを抑制し信頼性を確保
標準のRAGパイプラインは「ドキュメント分割→埋め込み→検索→回答」のフローを自動で実行し、クエリと同時に根拠文書をLLMへ渡します。これによって、ハルシネーションが大幅に減少しています。
v0.3系では、Structured Tool Callに対応し、モデルがJSONで引用URLや信頼スコアを返してくれるため、UIで1次ソースを提示するようなアプリを実装できます。また、検証フェーズにおいても、ファクトチェック用ログが自動で残るので、品質保証コストを圧縮できるのもポイントです。
運用・監視まで一気通貫で対応
LangSmithのトレース機能は、チェーンごとのトークン数・レイテンシ・エラーを自動記録する機能です。開発時に全量を収集して、本番では sampling_rate=0.1 に落とすだけで、可観測性を確保することができます。
LangGraphと組み合わせれば、エージェントの思考ステップをグラフ表示し、リトライやチェックポイント保存を数行で実装可能です。
Langchainの料金体系
本記事に記載しているLangchainのデモを動かすには、「OpenAI API」と「SerpAPI」のそれぞれのキーの取得が必要です。そしてそれぞれのキーの取得には、以下の料金がかかります。ただし、提示された無料の範囲であれば料金をかけることなく使用することが可能です。
OpenAI APIの費用
OpenAI APIは従量課金制となっています。利用するモデルによって入出力ともに費用が変わりますのでご注意ください。
モデル | 入力 | 出力 |
---|---|---|
gpt-4o | $2.50/1M トークン | $10.00/1M トークン |
gpt-4o-mini | $0.150/1M トークン | $0.600/1M トークン |
SerpAPIの費用
SerpAPIは無料プランがあるので、まずは無料プランで試してみることをおすすめします。
プラン | 月額 | 検索数 |
---|---|---|
Free Plan | 無料 | 100検索 /月 |
DEVELOPER | $75 /月 | 5,000検索 /月 |
また、Meta社からリリースされている「Llama3.3」や、rinna社からリリースされているオープンソースモデルを活用すれば、上記のようなAPIキーを使用せずともLangChainを使うことが可能になります。
なお、Llamaindexを使った開発について知りたい方はこちらをご覧ください。

Langchainを実際に使ってみた
Langchainはローカルでインストールし実行することもできますが、GoogleColabでも動かすことが可能です。
Langchainを実行するのに必要なスペック
今回、GoogleColabでLangchainを動かしてみました。その際の動作環境は下記の通りです。
- GoogleColab
- GPU:T4
なんと無料プランで使えるGPUのT4でも問題なく動かすことができました。
今回はそれほど重たい処理をしなかったのでスペック的には問題ありませんでしたが、複雑な処理を行う場合は有料プランのGPUを利用することをおすすめします。
Langchainをpythonで使う
では早速GoogleColab上でLangchainを使う準備をしていきましょう。
まず、LangchainとOpenAI APIをインストールします。
!pip install langchain
!pip install langchain-community
!pip install openai
次に、OpenAI API KEYを設定します。
「*************」の部分は各自のAPI KEYを入力してください。
import os
os.environ["OPENAI_API_KEY"] = "*************"
これで準備完了です。
では、Langchainの基本であるLLMを呼び出してみましょう。
from langchain.llms import OpenAI
# LLMを準備する
llm = OpenAI(temperature=0.9)
# LLMを呼び出し
print(llm.predict("今までにない全く新しい生成AIの名前を日本語で考えてください。"))
生成結果はこちらです。

ネオテルス・・・!
ナイスセンス!!
LangchainにGitHubリポジトリを学習させる
今度はLangchainにGitHubリポジトリを学習させてみます。LangchainとOpenAI APIをインストールするところまでは、上記の手順と同じです。
次にIndexesを使うためのライブラリをインストールします。
pip install chromadb
pip install tiktoken
上記コードを入力して実行したあとは、GitHubリポジトリを読み込むためのライブラリのインストールしましょう。
pip install GitPython
あとは前述した手順と同じようにOpenAIのAPIキーを指定します。
その後、以下のコードを実行してLangChainに読み込ませるGitHubリポジトリのURLとブランチ名を準備、最後にqueryの部分に質問を入力してください。
import os
from langchain.vectorstores import Chroma
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.indexes import VectorstoreIndexCreator
from langchain.document_loaders import GitLoader
from langchain.llms import OpenAI
clone_url = "https://github.com/hwchase17/langchain"
branch = "master"
repo_path = "./temp/"
filter_ext = ".py"
if os.path.exists(repo_path):
clone_url = None
loader = GitLoader(
clone_url=clone_url,
branch=branch,
repo_path=repo_path,
file_filter=lambda file_path: file_path.endswith(filter_ext),
)
index = VectorstoreIndexCreator(
vectorstore_cls=Chroma, # Default
embedding=OpenAIEmbeddings(disallowed_special=()), # Default
).from_loaders([loader])
query = "質問を入力"
llm = OpenAI(temperature=0.9)
answer = index.query(query, llm=llm)
print(answer)
リポジトリ内の全ファイルを読み込むこともできますが、時間を短縮するためにも拡張子を指定することをおすすめします。
なお、生成AIの機能を拡張できるLlamaIndexについて知りたい方はこちらをご覧ください。

Langchainの使い方
Langchainにはいくつか機能があるのですが、今回はその中の「Retrieval」と「Agents」を使ってChatGPTを拡張していきます。
LangchainのRetrievalの使い方
まず、LangchainのRetrievalを使ってPDFを読み込み、その情報をもとに回答を生成できるようにしましょう。
今回はRetrievalの中の機能のひとつである、PDFの長文を読み込んで検索する機能「Document Loader」を使ってみます。
LangChainとOpenAIのモデルを利用するので、環境構築としてGoogleColaboratoryでプロジェクトを立ち上げ、次のコマンドを入力して必要なパッケージなどをセットアップします。
基本となるlangchainとopenaiの他に、Documents Loaderを使用するためには次の3つのパッケージが必要になります。
- pypdf
- tiktoken
- faiss-cpu
まとめてインストールしてしまいましょう。
!pip install langchain
!pip install openai
!pip install langchain-openai
!pip install pypdf
!pip install tiktoken
!pip install faiss-cpu

次にOPENAI_API_KEYを設定します。「*****」の箇所は各自発行したKEYを入力してください。
import os
os.environ["OPENAI_API_KEY"] = "*******"

環境構築は、これで終了です。
今回は仮に、航空大手ANAの決算情報のPDFファイルをダウンロードしてきて、「ANAIR.pdf」という名前でアップロードしました。
アップしたPDFファイルから企業情報を取得してもらいましょう。
from langchain.document_loaders import PyPDFLoader
from langchain.vectorstores import FAISS
from langchain.embeddings.openai import OpenAIEmbeddings
loader = PyPDFLoader("ANAIR.pdf")
pages = loader.load_and_split()
print(pages[0])
faissIn = FAISS.from_documents(pages,OpenAIEmbeddings())
docs = faissIn.similarity_search("PDFの発行元の企業情報を教えて", k=2)
for doc in docs:
print(doc.page_content)
実行結果は下記のようになりました。

結果を確認すると、PDFの内部の情報から企業情報にあたる部分をピックアップされていることを確認できました。
少し余計な情報もありますが、短いプロンプトでここまで情報が抽出されるのはすごいですね。
LangchainのAgentsの使い方
次に、LangchainのAgentsを使ってインターネットの情報を利用してみましょう。今回は弊社のドメインから、会社名を検索して調べてもらい、その後、各種企業情報を取得してもらいます。
追加の設定
検索結果を取得するための追加パッケージと、SerpAPIのAPIキーを設定します。
!pip install google-search-results
import os
import pprint
os.environ[“SERPAPI_API_KEY”] = “ここは各自取得したAPIキーを入力してください”

ドメインから会社名を取得
プログラムの全体は下記の通りです。

一つずつ解説していきますね。まず、from〜の部分で必要なagentやtoolをインポートします。
from langchain_openai import ChatOpenAI
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.utilities import SerpAPIWrapper
次にChatGPTのモデルを指定します。
llm = ChatOpenAI(model="gpt-3.5-turbo-0125", temperature=0)
そして、Google検索機能を提供するツールである「SerpApi」を指定します。
tool_names = ["serpapi"]
tools = load_tools(tool_names,llm=llm)
出力結果が英語になることもあるので、日本語で結果を返すパラメータを指定したSerpAPIWrapperを設定します。
params = {
"gl": "jp",
"hl": "ja",
}
search = SerpAPIWrapper(params=params)
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
agent.run("""
weel.co.jpを所有する会社名を日本語で教えて?
""")
■結果

実行結果を見てみると「weel.co.jp 会社名」で検索していることがわかりますね。
そして検索結果の中から会社名だけを抽出して「株式会社WEEL」と結果を教えてくれています!
設立日を取得
会社名が株式会社WEELとわかったので、設立日を教えてもらいます。

上記の続きにagunt.run(“”)で追加のプロンプトを入力します。
agent.run("""
株式会社WEELの設立を教えて?
""")
■設立日の取得結果

一番最初に「検索するのが早そう」というAIの感想が表示されて思わず笑ってしまいました・・・。
実行結果を見ているとAIが何を考えて検索しているのか、どういう情報を取得できてどうしたいのかなどを把握できるのでとても面白いですね。
さて、結果は「2017年9月に設立されました」と、しっかり情報が返ってきています!
資本金、業務内容を取得
同じ手順で株式会社WEELの資本金とサービス内容を取得してみましょう。
■資本金の取得結果

資本金の取得時には何度か検索を繰り返していますね。そして、ホームページのaboutから情報を取得したようです。
■業務内容の取得結果

業務内容取得時の際、一度は別の会社情報を取得したようです。その後、今までの検索した結果と違うと理解したのか再検索して業務内容を取得する動きをしていますね。すごい!
従業員数の取得
では最後に従業員数を取得してみます。
■従業員数の取得結果

実は何度試してみても弊社の正確な従業員数を取得することはできませんでした。おそらく弊社ホームページ内の企業情報に従業員数が掲載されていないため、同名の別会社の情報を取得してきているのだと思われます。
LangChainを使ってChatGPTを拡張すると、インターネット上から最新情報を取得することができますが、こちらが意図していない結果を返してくることも度々あります。
そのため、入力するプロンプトの精度を高めることや、取得した情報のファクトチェックも合わせて行うことをおすすめします。
LangChainのマルチモーダルRAGの使い方
次に、公式のGitに上がっているLangChainのマルチモーダルRAGを試してみました。
今回はPDFファイルからイメージとテキストを分離するというものをやってみます。
まずは必要なパッケージをインストールします。
! pip install -U langchain openai chromadb langchain-experimental
! pip install "unstructured[all-docs]==0.10.19" pillow pydantic lxml pillow matplotlib tiktoken open_clip_torch torch
上記コードを実行したあと、セッションの再起動を求められるのでリスタートします。

セッションリスタート後、popplerとtesseractが必要になるので関連するパッケージをインストールします。
次に、PDFファイルを格納するディレクトリを作成し、パスを通します。
このディレクトリ内に、サンプルとしてpdf2.pdfというファイルを置いています。
使用したPDFは公式にもサンプルとして上がっていた下記のものです。
このようなポスターから、テキストだけをうまく抜き出すことができるのでしょうか・・・?

では、PDFからイメージとテキストを分離します。
!pip install onnxruntime==1.15.1
!pip install nltk
import nltk
nltk.download('averaged_perceptron_tagger_eng') # Download the missing data
nltk.download('punkt')
nltk.download('punkt_tab')
!sudo apt-get update
!sudo apt-get install poppler-utils tesseract-ocr libtesseract-dev
!export PATH=$PATH:/path/to/tesseract
!pip install pytesseract
# Import the pytesseract library
import pytesseract
from unstructured.partition.pdf import partition_pdf
path = "./pdf/"
raw_pdf_elements = partition_pdf(
filename=path + "pdf2.pdf",
extract_images_in_pdf=True,
infer_table_structure=True,
chunking_strategy="by_title",
max_characters=4000,
new_after_n_chars=3800,
combine_text_under_n_chars=2000,
image_output_dir_path=path,
# Specify the OCR language (e.g., 'eng' for English)
ocr_languages="eng"
)
tables = []
texts = []
for element in raw_pdf_elements:
if "unstructured.documents.elements.Table" in str(type(element)):
tables.append(str(element))
elif "unstructured.documents.elements.CompositeElement" in str(type(element)):
texts.append(str(element))
print(texts)
以下が出力結果です。

順番はバラバラですが、PDFファイル内のテキストを抽出し出力することができました。
LangchainでGPT4を指定する方法
LangchainをChatGTPと連携する際は、モデルをGPT4に指定することもできます。環境構築とOpenAI_API_KEYの設定が完了したら、以下のコードを入力してください。
ChatOpenAI(model='gpt-4-0125-preview')
あとは、プロンプトを入力して応答を待つだけです。生成AIの回答精度を高めたい方はGPT4を使ってみてください。
LangChainを使う上での課題・注意点
LangChainは便利ですが、油断すると思わぬコストやバグを招きます。ここでは、代表的な落とし穴を3つ挙げ、その回避策を簡潔に説明しますので、参考にしてください。
依存関係の衝突とバージョン迷子
LangChain v0.3系は、Pydantic v2系を前提とするため、旧版ライブラリが混在している環境では ImportErrorが発生してしまいます。pip install -U langchain –upgrade-strategy eager で依存を一括更新して、requirements.txt を固定化することが必須となりますので覚えておきましょう。CIで pip check コマンドを回して衝突を早期検知し、DockerやPoetryを使って再現性を担保しましょう。
エージェントの無限ループとトークン爆増
ReAct系エージェントは誤ったツール選択や曖昧なプロンプトで思考ループに陥り、APIコストが青天井状態になることがあります。
max_iterations を5〜10に制限しておいて、LangSmith側でトークン閾値超過時にアラートを飛ばす設定を推奨します。Toolの戻り値に想定外なパターンが来た場合は、ガードレールで強制終了させると安全です。
RAG の情報鮮度と機密データ管理
ベクトルDBに旧データが残ったまま更新を怠ると、鮮度の低い回答でユーザー体験を損なってしまいます。また、社内文書をまるごとクラウドにアップすると情報漏洩リスクが高まる点にも要注意です。
対策として、metadata.last_updated で日付フィルタを設定し、社外持ち出し不可ファイルはオンプレWeaviateなどに格納しておきましょう。さらに、アクセス権と暗号化をポリシー化したうえで定期的に再埋め込みを行いましょう。
これらのポイントを押さえておけば、LangChainの強みを最大化しつつ、リスクは最小化することができます。PoCの段階でチェックリスト化しておくと後工程が格段に楽になります。
LangchainでLLMを使いやすく拡張しよう!
Langchainは、LLMの機能を高機能化するライブラリで、、LLMの能力をさらに拡張するためのツールです。
このライブラリにより、現在のLLM単体ではできない機能を拡張させ、効率化を高めることができます。主な機能として、言語モデルのカスタマイズ(Models)、外部ツールとの連携(Indexes)、テンプレートでの効率化(Prompts)、対話履歴の記憶(Memory)などが挙げられます。
使用例として、「Document Loader」機能を使ってPDF文書の内容を検索する方法とChatGPTの拡張をご紹介しました。Langchainを利用するには、OpenAIやSerpAPIなどのAPIキーの取得が必要で、無料の範囲であれば利用は可能ですが、使用量によっては料金がかかる場合があります。Langchainは競合他社より大きなアドバンテージを得るのに大いに役立つのでぜひ試してみてはいかがでしょうか。

生成系AIの業務活用なら!
・生成系AIを活用したPoC開発
・生成系AIのコンサルティング
・システム間API連携
最後に
いかがだったでしょうか?
LangChain導入で社内の生成AI活用を次のステージへ。開発効率・信頼性・運用性を一気に底上げできます。今こそ差がつく導入戦略を検討してみませんか。
株式会社WEELは、自社・業務特化の効果が出るAIプロダクト開発が強みです!
開発実績として、
・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント
などの開発実績がございます。
生成AIを活用したプロダクト開発の支援内容は、以下のページでも詳しくご覧いただけます。
➡︎株式会社WEELのサービスを詳しく見る。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、大規模言語モデル(LLM)を対象に、言語理解能力、生成能力、応答速度の各側面について比較・検証した資料も配布しております。この機会にぜひご活用ください。