💭
LangChain × OpenAI エージェント試作 調査結果
調査日
2025年4月30日(水)
調査テーマ
LangChain と OpenAI API を使用して、自己紹介および質問応答が可能なエージェントを試作する。
実施環境
- OS: Windows 11
- Python: 3.10
- 仮想環境: venv
- LangChain: 最新版(v0.1.0 以降)
- OpenAI: gpt-3.5-turbo
- プロキシ環境: あり
実施手順
プロジェクト作成と環境構築
mkdir langchain-agent-test
cd langchain-agent-test
python -m venv venv
.\venv\Scripts\activate
pip install langchain openai langchain-community
API キーの準備
-
.env
ファイルまたはスクリプト内で OpenAI API キーを設定
Python スクリプト作成(agent_test.py)
LangChain エージェントに簡易的な自己紹介用ツールを実装し、ユーザーからの質問を受けて応答するループを構築。
from langchain.chat_models import ChatOpenAI
from langchain.agents import initialize_agent, AgentType, Tool
def simple_self_intro(_input: str) -> str:
return "私は技術開発部所属のAIエージェントです。あなたの質問に答えます。"
tools = [
Tool(
name="SelfIntroduction",
func=simple_self_intro,
description="自己紹介を行います。"
)
]
llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0.2)
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True,
)
while True:
user_input = input("質問をどうぞ (exitで終了):")
if user_input.lower() == "exit":
break
result = agent.run(user_input)
print(result)
実行と動作確認
python agent_test.py
入力例と応答:
質問をどうぞ (exitで終了):あなたは誰?
→ 私は技術開発部所属のAIエージェントで、質問に答えたり、サポートを提供したりするためにここにいます。
質問をどうぞ (exitで終了):次世代技術の注目点は?
→ 次世代技術の注目点は、AI、IoT、ブロックチェーン、バーチャルリアリティなどがあります。
成果と評価
項目 | 結果 |
---|---|
LangChain + OpenAI 連携 | 成功 |
自己紹介ツール呼び出し | 成功 |
自然言語質問への応答 | 成功 |
エージェントの推論ステップ表示 | 成功(verbose 出力で確認) |
発生した警告と今後の対応
警告内容 | 対応方針 |
---|---|
from langchain.chat_models が非推奨 |
langchain_community.chat_models への移行検討 |
ChatOpenAI クラスの将来的移動 |
langchain-openai パッケージでの使用に切替可能 |
agent.run() の非推奨化 |
.invoke() への置き換え推奨 |
LangChain Agent から LangGraph への移行推奨 | LangGraph の学習・検証を次回以降検討 |
結論
- LangChain と OpenAI を使用したエージェントの試作は成功した。
- 自己紹介ツールと汎用質問応答を組み合わせた、簡易的な REACT 型エージェントを動作確認できた。
- LangChain のバージョン変更による警告が多く、今後は LangGraph およびモジュール分割に対応した構成への移行が求められる。
Discussion