Yolo 深圳
深セン
今すぐ参加
用語集

LangChain

LangChainがLLMアプリケーション開発をいかに簡素化するかを学びましょう。AIモデルとリアルタイムデータを連携させ、ビジョンタスクUltralytics 統合する方法を発見してください。

LangChainは、大規模言語モデル(LLM)を活用したアプリケーション開発を簡素化するために設計されたオープンソースフレームワークです。GPT-4のようなLLMは単独でも強力ですが、リアルタイムデータや特定のビジネスコンテキストを認識できず、孤立して動作することが多いです。 LangChainはブリッジとして機能し、 開発者がプロンプト、モデル、外部データソースといった様々なコンポーネントを連鎖させ、 洗練された文脈認識アプリケーションを構築することを可能にします。これらの相互作用の複雑さを管理することで、LangChainは人工知能(AI)システムが 動的な入力に基づいて問題を推論し、行動を起こすことを実現します。

LangChainのコアコンポーネント

このフレームワークは、 自然言語処理(NLP) ワークフローを強化するために連携する いくつかのモジュール型コンセプトを中心に構築されています。

  • チェーン:基本構成要素であるチェーンは、LLMやその他のユーティリティへの呼び出しの連続です。例えば、単純なチェーンではユーザーの入力を受け取り、プロンプトエンジニアリングテンプレートを用いてフォーマットし、モデルに渡して応答を生成します。より複雑なチェーンでは複数の呼び出しを連続させることができ、あるステップの出力が次のステップの入力となります。
  • エージェント:チェーンが固定された順序に従うのとは異なり、 AIエージェントはLLMを推論エンジンとして使用し、 どのアクションをどの順序で実行するかを決定します。エージェントはAPIをクエリしたり、ウェブを検索したり、 データベースにアクセスしたりして、最新の知識を必要とする質問に回答できます。
  • 検索:モデルの応答を事実データに裏付けるため、LangChainは検索拡張生成(RAG)を促進します。これはユーザークエリに基づきベクトルデータベースから関連文書を取得し、それらをモデルのコンテキストウィンドウに供給するプロセスを含みます。
  • メモリ:標準的な大規模言語モデル(LLM)は状態を持たないため、過去のやり取りを記憶しません。LangChainは メモリコンポーネントを提供し、チャットボットが会話全体で文脈を保持できるようにします。これにより、人間の対話のような 継続性を再現します。

実際のアプリケーション

LangChainは、生成AIを実験的なノートブックから様々な産業の生産環境へと移行させる上で重要な役割を果たしています。

  1. データとの対話(RAG):最も一般的な応用例の一つがエンタープライズ検索です。 企業はLangChainを活用し、内部文書・PDF・技術マニュアルを検索可能なインデックスに取り込みます。従業員が質問すると、システムは関連する段落を抽出しLLMに供給。これにより回答の正確性が保証され、幻覚ではなく自社データに基づく回答が実現します。これにより組織内の知識蒸留が大幅に改善されます。
  2. マルチモーダル分析:LangChainは、テキストと他のモダリティ(例:コンピュータビジョン(CV))を組み合わせたワークフローを調整できます。例えば、セキュリティシステムが物体検出を用いて不正な人員を特定し、その後LangChainエージェントを起動してインシデントレポートを作成し、監督者にメールで送信するといったことが可能です。

コンピュータ・ビジョンとの統合

構造化された視覚データと言語推論の相乗効果は、強力な開発領域である。Ultralytics 高性能モデルを活用し、画像から物体数・分類・位置などの詳細情報を抽出できる。この構造化データをLangChainワークフローに投入すれば、さらなる分析や自然言語による記述が可能となる。

以下の Python スニペットは、Ultralytics 検出されたクラス名を抽出する方法を示しています。これにより、下流の言語処理チェーンに供給可能なテキストベースのコンテキストが生成されます。

from ultralytics import YOLO

# Load the YOLO26 model to generate structured data for a chain
model = YOLO("yolo26n.pt")

# Run inference on an image URL
results = model("https://ultralytics.com/images/bus.jpg")

# Extract detection class names to feed into a LangChain prompt
detections = [model.names[int(c)] for c in results[0].boxes.cls]

# Format the output as a context string for an LLM
chain_input = f"The image contains the following objects: {', '.join(detections)}."
print(chain_input)

主要用語の区別

LangChainと、それが調整する技術を区別することが重要です:

  • LangChain vs.LLMs: LLM(例:Anthropic)はテキストを処理・生成する「脳」です。 LangChainは、その脳をデータ前処理パイプライン、API、ユーザーインターフェースに接続する「足場」またはインフラストラクチャです。
  • LangChain vs.プロンプトエンジニアリング: プロンプトエンジニアリングは、モデルから最良の結果を得るための最適なテキスト入力の作成に焦点を当てます。LangChainは これらのプロンプトの管理を自動化し、動的なプロンプトテンプレートを可能にします。 これらのテンプレートは、モデルに送信される前にプログラムによってデータで埋められるのです。

堅牢なAIシステムを構築したい開発者にとって、公式のLangChainドキュメントは深い技術的知見を提供し、Ultralytics これらのインテリジェントなワークフローに最先端のビジョン機能を統合するために必要なツールを提供します。さらに、Ultralytics を活用して、これらの高度なマルチモーダルシステムに供給されるデータセットとトレーニングパイプラインを管理できます。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加