【LangChain v0.3完全対応】Pythonで始めるLLMアプリ開発入門
はじめに
「ChatGPT APIを使えばチャットボットが作れる」というのは知っていても、実際に業務レベルのアプリケーション(社内文書検索、エージェント、長文要約など)を作ろうとすると、プロンプトの管理やメモリの実装など、APIを叩くだけでは解決できない多くの課題に直面します。
そこで登場するのがLangChainです。LLMアプリケーション開発のデファクトスタンダードとなっているこのフレームワークを使えば、複雑なAI処理を驚くほど簡単に実装できます。本記事では、最新のv0.3系をベースに、LangChainの基礎知識と最初の一歩を解説します。
LangChainとは何か?
大規模言語モデル(LLM)を利用したアプリケーション開発を効率化するための「糊(のり)」の役割を果たすPython/JavaScriptライブラリです。
LangChainは、LLM単体ではできないことを実現するためのコンポーネントを提供します。
- Chain: 複数の処理(入力→推論→出力加工)を連鎖させる。
- Agent: AIにツール(検索、計算機など)を使わせて自律的に行動させる。
- Memory: 会話のコンテキストを保持する。
- RAG: 外部データを検索して回答に含める。
環境構築とインストール
まずは必要なライブラリをインストールしましょう。最近のバージョンではパッケージが細分化されています。
# コアライブラリ
pip install langchain langchain-core
# OpenAIを使う場合(APIキーが必要)
pip install langchain-openai
# Local-LLM (Ollama)を使う場合
pip install langchain-ollama
今回は、無料で使えるOllama (Llama 3) をバックエンドにして進めます。OpenAIを使う場合も数行変えるだけで対応可能です。
最初のコード:モデルの実行
最も基本的な「LLMに質問して回答を得る」処理を書いてみましょう。
from langchain_ollama import ChatOllama
# モデルの初期化
llm = ChatOllama(model="llama3")
# 推論の実行 (invokeメソッド)
response = llm.invoke("Pythonを学ぶメリットを3つ教えて")
# 結果の表示
print(response.content)
たったこれだけです。ChatOpenAI に書き換えれば、そのままGPT-4で動きます。この「モデルの差し替えやすさ」がLangChainの大きな魅力の一つです。
なぜ生のAPIではなくLangChainを使うのか
「requestsでAPI叩けばいいじゃん」と思うかもしれません。しかし、LangChainを使うメリットは以下の点にあります。
1. 統一インターフェース (Runnables)
OpenAI, Anthropic, Ollamaなど、各社で異なるAPI仕様を統一的なインターフェース(invoke, stream,
batch)で扱えます。コードのポータビリティが劇的に向上します。
2. プロンプト管理の体系化
文字列連結でプロンプトを作るのはバグの温床です。PromptTemplateを使えば、変数を安全に埋め込み、テンプレートとして再利用・管理ができます。(次回詳しく解説します)
まとめ
LangChainは、LLMアプリ開発における「Spring Framework」や「Ruby on Rails」のような存在です。最初は用語が多くて戸惑うかもしれませんが、基本概念さえ押さえれば、開発速度は何倍にも上がります。
次回は、動的な入力を扱うための「PromptTemplate」と、出力をPythonオブジェクトとして受け取るための「OutputParser」について解説します。
まずは pip install langchain から始めてみましょう!
コメント
コメントを投稿