Function Calling (Tool Use)
Function Callingとツール使用がAIによるAPIやデータベースとの対話を可能にする仕組みをご確認ください。Ultralytics YOLO26をエージェント型ワークフローに統合する方法を学べます。
関数呼び出しは、ツール使用とも呼ばれることが多く、現代の人工知能(AI)における強力なパラダイムであり、モデルの能力を静的なテキストや画像の生成を超えて拡張できます。内部のトレーニングデータに基づいてプロンプトに回答するだけでなく、モデルは構造化されたコマンドを出力して外部のプログラミング関数をトリガーしたり、データベースにクエリを実行したり、REST APIと連携したりできます。このアプローチにより、AIはデジタル環境で具体的なアクションを実行できるようになります。
AIシステムが関数呼び出しを利用する場合、開発者はJSON Schemaを使用して記述した利用可能なツールのリストをモデルに提供します。ユーザーのプロンプトにリアルタイムデータや特定のアクションが必要な場合、モデルは通常の生成プロセスを一時停止し、選択されたツールに必要なパラメーターに一致する、高度に構造化されたJSON形式のペイロードを出力します。OpenAIの関数呼び出しAPIやAnthropicのツール使用フレームワークなどのフレームワークによってこの手法が普及し、会話エージェントは問題解決能力を備えるようになりました。
実世界での利用例#
ツール使用をワークフローに統合すると、ソフトウェアの動作方法が変わります。Berkeley Function Calling Leaderboardなどのベンチマークで評価されるこれらの機能は、高度に自律的なシステムへの移行を促進しています。
- 自動化された小売業とカスタマーサービス: 小売業におけるAIでは、バーチャルアシスタントが関数呼び出しを使用して、最新の在庫状況を照会できます。顧客が「注文はどこにありますか?」と尋ねると、モデルはデータベースAPIへの関数呼び出しを生成し、追跡ステータスを取得して、自然言語で応答します。
- ビジョン支援データ抽出: 画像・言語モデル(VLM)は、Ultralytics YOLOの物体検出器をツールとして使用できます。工場の画像で安全基準への準拠を確認するよう求められた場合、メインの会話型AIは、Ultralytics YOLO26モデルを実行するスクリプトを呼び出してヘルメットを検出し、物体検出の結果をユーザーの対話にシームレスに返せます。
ツールとしてのコンピュータービジョンの統合#
コンピュータービジョンモデルを、上位のAIエージェント向けの機能ツールとして公開できます。このアーキテクチャでは、推論を実行するPythonメソッドを定義し、推論モデルが視覚データを必要としたときにそのメソッドをトリガーできるようにします。
from ultralytics import YOLO
# Define a specific tool function for an AI agent to call
def count_objects_in_scene(image_url: str) -> str:
# Load the highly efficient YOLO26 model
model = YOLO("yolo26n.pt")
# Perform inference to analyze the visual data
results = model(image_url)
object_count = len(results[0].boxes)
# Return structured context back to the calling AI system
return f"Vision Analysis: Detected {object_count} objects in the scene."
# Simulated function call executed by an AI system
print(count_objects_in_scene("https://ultralytics.com/images/bus.jpg"))関連用語の区別#
現代のAIアーキテクチャを十分に理解するには、関数呼び出しが類似する概念とどのように関連し、どのように異なるのかを理解すると役立ちます。
- モデルコンテキストプロトコル(MCP): 関数呼び出しがモデルのプロンプトに渡される特定のAPI定義に依存するのに対し、MCPはより上位の標準化されたアーキテクチャです。MCPはAIモデルをデータソースに接続するための汎用プロトコルを作成します。一方、関数呼び出しは、モデルが実際にそれらの接続を呼び出すために使用する局所的なメカニズムです。
- 検索拡張生成(RAG): RAGは、LLMのプロンプトを拡張するために関連性の高いテキストやドキュメントを取得することに特化した手法です。関数呼び出しはより広範なメカニズムです。AIはツールを使用してRAGを実行できますが、ツールを使用してディスクにファイルを書き込んだり、メールを送信したりすることもできます。ツールを活用したRAGの包括的な実装については、PyTorch DocumentationとGoogle Geminiマルチモーダルガイドで確認できます。
- AIエージェント: AIエージェントは、環境を認識し、目標を達成するためにアクションを実行する完全な自律システムです。関数呼び出しは、エージェントにそれらのアクションを実行する能力を与える主要なスキルです。大規模なエージェントシステムをデプロイする際、チームはUltralytics Platformを使用して、エージェントが世界を認識するために呼び出す基盤のビジュアルモデルをシームレスにトレーニングし、サーブすることがよくあります。静的モデルからエージェント型ワークフローへ移行する組織は、これらの関数が通信するエンドポイントを最適化するために、TensorFlowなどのディープラーニングライブラリに依存することがよくあります。








