Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

LangChain

LangChainは、交換可能なモデル、ツール、リトリーバー、ミドルウェアを組み合わせてLLMアプリケーションやエージェントを構築するためのオープンソースフレームワークです。

LangChainは、大規模言語モデル(LLM)を基盤にアプリケーションやAIエージェントを構築するためのオープンソースフレームワークです。各モデルプロバイダーに、メッセージ、チャットモデル、ツール、リトリーバー向けの共通インターフェースを提供するため、モデル名を変更するだけで、あるプロバイダーのモデルから別のプロバイダーのモデルに切り替えられます。また、すぐに使えるエージェントループと、ベクトルストア、ドキュメントローダー、APIとの多数の統合機能も備えています。Harrison ChaseはChatGPTの公開数週間前にあたる2022年10月、LangChainをオープンソースのPythonプロジェクトとして公開しました。プロンプト、検索、モデル呼び出しを連結して生成AIアプリケーションを構築するツールキットとして、広く利用されるようになりました。LangChain 1.0とLangGraph 1.0は2025年10月22日に同時リリースされ、バージョン2.0までは破壊的変更を行わないと表明されました。

LangChainエコシステム#

現在、この名称はPythonとJavaScriptで利用できるパッケージ群を指します。

  • langchain:create_agentを中心とするエージェントフレームワークです。モデル、ツールのリスト、システムプロンプトを受け取り、動作するエージェントを返します。
  • langchain-coreとインテグレーション: チャットモデル、メッセージ、埋め込み、リトリーバー、ツールの標準インターフェースに加え、それらを実装するlangchain-openaiやlangchain-anthropicなどのプロバイダーパッケージを提供します。
  • LangGraph: LangChainエージェントが動作する、より低レベルのランタイムです。共有状態に対する一連のステップをグラフとしてプログラム化し、各ステップ後にその状態をチェックポイントとして保存できます。そのため、長時間のタスクも再起動後に再開でき、人間による承認のために一時停止することもできます。
  • LangSmith: オブザーバビリティのトレース、データセットを使ったエージェント評価、エージェントのデプロイに対応するホスト型プラットフォームです。

従来のLangChainアプリはチェーンで構成されていました。ユーザー入力を埋め込んだプロンプトテンプレート、モデル呼び出し、出力パーサーを、プロンプトチェーンのようにパイプ構文で連結します。最も一般的なチェーンは検索拡張生成(RAG)です。ドキュメントを読み込み、チャンクに分割して、埋め込みをベクトルデータベースに保存し、各質問に最もよく一致するチャンクをモデルのコンテキストウィンドウに追加します。

LangChainエージェントの実行方法#

create_agentで構築したエージェントは、モデル呼び出しとツール呼び出しのループを繰り返します。これは、あらゆるエージェントハーネスが実行する関数呼び出しのループと同じです。ミドルウェアは各ステップに介入し、モデルの前後の動作を変更します。組み込みミドルウェアは、長い履歴の要約、個人データのマスキング、指定したツールの実行前に人間の承認を求める処理を行います。

LangChainエージェントにビジョン機能を追加する#

LangChainの@toolデコレーターは、Python関数のシグネチャから引数の型を、docstringから説明を読み取り、その関数をツールに変換します。この方法でUltralytics YOLO26をラップすると、エージェントに物体検出機能を追加できます。Results.summary()は、検出ごとのクラス名、信頼度、ボックスをモデルが読み取れるデータとして返します。

from langchain_core.tools import tool
from langchain_core.utils.function_calling import convert_to_openai_tool
from ultralytics import YOLO

model = YOLO("yolo26n.pt")


@tool
def detect_objects(image_url: str) -> list[dict]:
    """Detect objects in an image and return each one's class name, confidence, and box."""
    results = model(image_url)
    return results[0].summary()


# LangChainがシグネチャとdocstringから導出するスキーマ。モデルに渡される形式です
print(convert_to_openai_tool(detect_objects))

# エージェントは、モデルのツール呼び出しに含まれる引数を使ってツールを実行します
detections = detect_objects.invoke({"image_url": "https://ultralytics.com/images/bus.jpg"})
print(detections[0]["name"], detections[0]["confidence"])

最初の出力は、image_url文字列型パラメーターと説明としてのdocstringを含む関数定義で、LangChainがモデルに送信する内容です。2つ目の出力は、ツールが返す最初の検出結果です。tools=[detect_objects]をcreate_agentに渡すと、サポートされている任意のチャットモデルからpredictモードを通じて検出器を呼び出せます。

  • エージェント型ワークフロー: ルーティング、ツールの使用、評価ループなどの一般的な設計パターンです。LangGraphのグラフとLangChainエージェントがこれらを実装します。
  • プロバイダーSDK: モデルプロバイダーのAPIを直接呼び出す場合、フレームワークは不要で、単一モデルのアプリに適しています。LangChainは、アプリが複数のモデル、ツール、データソースを扱う場合に役立つ共通インターフェース、インテグレーション、エージェントループを提供します。
  • DSPy: マルチステップのLLMプログラムのプロンプトを自動的に作成・最適化するフレームワークです。サンプルデータに対する指標を使ってプロンプトを調整します。
  • LlamaIndex: RAG用のプライベートデータの取り込み、インデックス作成、クエリに重点を置くフレームワークです。両者には共通する機能があり、LangChainやLangGraphのエージェント内で検索にLlamaIndexを使うアプリケーションもよくあります。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう