LangChainを使っていたら突然 ModuleNotFoundError: No module named 'langchain-community' が出て開発が止まってしまった。特にバージョン0.1.0以降にアップグレードした環境で、ドキュメントローダーを使おうとした時にこの問題に遭遇した話です。
何が起きたか(課題)
LangChain v0.1.0リリース以降のパッケージ構造変更が原因で、以下の問題が発生しました。
- 外部連携機能(ドキュメントローダー、ベクターストアなど)がコアパッケージから分離した。
-
langchain-communityパッケージが未インストール状態になっていた。 - コード内のインポートパスが古いままになっていた。
どう解決したか(概要)
このエラーを解消するために、LangChainの新しいパッケージ構造に合わせて以下の3ステップで対応しました。
- 仮想環境の確認と有効化: プロジェクト専用の環境が正しくアクティブになっているかを確認しました。特にIDEやJupyter環境ではカーネルの再起動が必要でした。
-
不足パッケージの明示的インストール: エラーメッセージが示す通り、不足している
langchain-communityをpip installで追加インストールしました。フルセットを利用するためにlangchain-coreも合わせてインストールすることが推奨されます。 -
インポートパスの修正: 既存コード内のインポート元を修正しました。例えば、ドキュメントローダーは
from langchain.document_loaders import ...からfrom langchain_community.document_loaders import ...へと変更する必要がありました。
このパッケージ分離の変更を理解することが、現在のLLMアプリケーション開発では必須だと感じました。
効果(Before/After)
この手順を踏むことで、以前はエラーで停止していたドキュメントローダーを使ったRAG処理パイプラインが完全に動作するようになりました。開発の停滞が解消され、安定してLLMアプリケーション開発を進められる状態に戻りました。
🚀 詳細な設定とコードはこちら
具体的なWAFのルール設定や、より詳細なログ解析データは元のブログで公開しています。