🐈

はじめてのLangChain入門|GPTに記憶や検索機能を持たせる方法とは?

に公開

LangChainとは何か?

はじめに

ChatGPTなどの大規模言語モデル(LLM)を使ったプロダクトやサービスが増えてきました。
個人開発でも「チャットボットを作った」といったものが多く見られます。

しかし、実際に使ってみるとこんな悩みにぶつかることがありませんか?

  • 毎回ゼロからの会話になってしまい、文脈を覚えてくれない
  • 外部データやツールを使いたいが、GPT単体ではできない
  • 複数ステップの処理や判断を自動でやってほしい

こうした限界を乗り越えるために開発されたのが「LangChain」というライブラリ。

LangChainとは何か、何ができるのか、そしてどんな人に向いているのか解説します。


LangChainとは?

LangChainは、「大規模言語モデル(LLM)を使ったアプリケーションを構築するためのフレームワーク」

LangChainは、GPTを“記憶・検索・ツール使用”できる賢いアシスタントに進化させるライブラリ


LangChainの主な機能

LangChainが提供する機能は多岐にわたりますが、ここでは代表的なものを紹介します。

1. Chain(チェーン)

複数の処理を連結して、1つのフローとして定義できます。
例:ユーザーの質問 → 外部検索 → 回答の整形 → 応答

2. Memory(メモリ)

過去の会話を記憶して、文脈を保持した対話を可能にします。

3. Tool(ツール)

OpenAIの関数呼び出しや外部API、検索エンジン、計算ツールなどを使えるようにします。

4. Agent(エージェント)

GPT自身が「次に何をするべきか」を考えてツールを呼び出す、“思考して行動するAI”。

5. Retriever(検索器)

ベクターデータベース(例:Pinecone、Supabaseなど)と連携して、文書ベースの検索型チャット(RAG)を実現します。

6. Output Parser / Prompt Template

GPTの出力をJSONなどに整形したり、プロンプト設計を再利用可能にします。


LangChainとOpenAI公式SDKの違い

比較項目 langchain-openai openai(公式SDK)
主な用途 LLMアプリ構築 GPT API直接操作
抽象化レベル
記憶機能 ○(Memoryあり) ×
ツール連携 ○(Tool, Agent) ×(自前で実装)
チェーン構築 ×(手動で組む)

LangChainは「アプリ全体の設計図や枠組み」、OpenAI SDKは「エンジン部分」だと考えるとわかりやすいです。


実例:LangChainでのコード

import { ChatOpenAI } from "langchain-openai";

const chatModel = new ChatOpenAI({
  openAIApiKey: process.env.OPENAI_API_KEY,
  modelName: "gpt-4",
});

const res = await chatModel.invoke("こんにちは!最近の天気は?");
console.log(res.content);

このように、LangChainではモデルに直接質問するだけでなく、処理フローの中に組み込んだり、外部データベースとの連携が容易にできます。


どんな人におすすめ?

LangChainは以下のようなユースケースに特に向いています。

  • GPTを使ったチャットボットを本格構築したい人
  • 社内文書を読み込ませて回答するRAGを作りたい人
  • 会話履歴を記憶して継続的な対話ができるAIを作りたい人
  • ツール実行、API連携を含む業務支援AIを作りたい人

まとめ

LangChainは、ChatGPTのようなLLMを“部品”として活用しながら、複雑で賢いアプリケーションを構築するためのフレームワークです。

今後ますます、単なるプロンプトだけでなく、LLMをどう組み込むかが問われる時代になります。

LangChainはその第一歩として最適なツールです。

Discussion