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

Function Calling (Tool Use)

関数呼び出し(ツール利用)では、言語モデルがJSON引数とともに外部関数の実行を要求し、アプリケーションがその関数を実行して結果を返します。

関数呼び出しは、ツール呼び出しまたはツール使用とも呼ばれ、大規模言語モデル(LLM)が通常のテキストではなく、外部関数の実行要求で回答する機能です。アプリケーションは、利用可能な各ツールを、名前、目的、引数を定義するJSON Schemaで記述します。リクエストにリアルタイムデータやアクションが必要な場合、モデルはツール名とJSON引数を返し、アプリケーションが関数を実行した後、モデルはその結果に基づいて回答を作成します。モデル自身が何かを実行することはありません。MetaのToolformerは2023年2月、モデルが自らのテキストにAPI呼び出しを挿入する方法を自己学習できることを示しました。OpenAIは2023年6月13日にAPIへ関数呼び出しを追加し、関数が必要なタイミングを検出し、シグネチャに適合する引数を整形するようファインチューニングしたモデルを提供しました。現在では主要なモデルプロバイダーがすべて対応しており、オープンモデルは指示チューニングやチャットテンプレートを通じてこの機能を学習します。

関数呼び出しの仕組み#

ツール呼び出しは、モデルとアプリケーションの間を往復し、モデルが必要な情報を得るまで繰り返します。

以下のコードは、OpenAIの関数呼び出しガイドの形式で、モデルの返信を記述することで、APIキーなしで実行できるようにし、1回の往復の両側を再現します。

import json

from jsonschema import validate

# リクエストとともに送信されるツール定義: 引数の名前、目的、JSON Schema
tool = {
    "type": "function",
    "name": "get_order_status",
    "description": "Look up the shipping status of an order by its number.",
    "parameters": {
        "type": "object",
        "properties": {"order_id": {"type": "string", "pattern": "^[0-9]+$"}},
        "required": ["order_id"],
    },
}

# モデルの出力は関数呼び出しで、その引数はJSON文字列として届きます
call = {"type": "function_call", "call_id": "call_1", "name": "get_order_status", "arguments": '{"order_id": "4417"}'}
args = json.loads(call["arguments"])
validate(args, tool["parameters"])  # 引数がスキーマに適合しない場合、何も実行される前に例外が発生します

# アプリケーションは独自の関数を実行し、同じcall_idの下で結果を返します
orders = {"4417": "Shipped, arriving Thursday"}
print({"type": "function_call_output", "call_id": call["call_id"], "output": orders[args["order_id"]]})

{'type': 'function_call_output', 'call_id': 'call_1', 'output': 'Shipped, arriving Thursday'}を出力します。これは、モデルを再度呼び出す前にアプリケーションが会話に追加する項目です。ツールに"strict": trueを設定すると、APIが制約付きデコーディングを適用するため、モデルが生成する引数は常にスキーマに一致します。

ツールの選択と連鎖#

モデルは、2件の注文を同時に確認する場合など、1回のターンで複数の独立した呼び出しを行えます。また、アプリケーションは特定のツールを強制したり、いずれかのツールの使用を必須にしたり、そのターンでツールを禁止したりできます。ターンをまたいで呼び出しを連鎖させ、各結果に基づいて次の呼び出しを決定するループが、エージェントハーネス内で動作するAIエージェントをモデルから作り出します。Berkeley Function Calling Leaderboardは、適切な関数の選択、引数の設定、並列呼び出しや複数ターンにわたる呼び出し、適合するツールがない場合の辞退といったスキルを評価します。ツールの結果は入力としてモデルに戻されるため、ツールが取得したウェブページやドキュメントにprompt injectionが含まれる可能性があります。そのためアプリケーションは、ツールに必要最小限の権限を与え、購入、削除、メッセージの送信を行う前に人による確認を求めます。

ビジョンモデルは、出力がすでに構造化されているため、自然なツールになります。Ultralytics YOLOでは、Results.summary()がYOLO26モデルが検出した各オブジェクトを、クラス名、クラスインデックス、信頼度、ボックス座標からなる辞書として返します。このリストはjson.dumpsによって直接ツールの結果に変換されるため、チャットモデルやビジョン言語モデル(VLM)はpredictモードを呼び出して、写真内のオブジェクトを数えたり位置を特定したりできます。

  • コンピューター操作エージェント: スクリーンショット、クリック、キー入力を通じてソフトウェアを操作するため、APIのないアプリケーションにも対応できます。APIがある場合、関数呼び出しは構造化された1回のリクエストで同じ結果を得ます。
  • 構造化出力: 請求書から項目を抽出する場合など、モデルの最終応答をスキーマに従わせます。関数呼び出しでは、同じスキーマを使ってアクションを要求し、その結果を受け取ります。
  • 検索拡張生成(RAG): 検索したドキュメントをプロンプトに追加します。検索ツールでRAGを実装でき、エージェント型RAGでは、検索するタイミングと検索対象をモデルが決定します。
  • Model Context Protocol(MCP): 2024年11月にAnthropicが発表したオープンプロトコルで、アプリケーションが外部プログラムによって提供されるツールを検出できるようにします。モデルは引き続き関数呼び出しを通じてMCPツールを呼び出します。

Explore solutions

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

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

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

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

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

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

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

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

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を導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン
スポーツにおけるコンピュータービジョン
Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン
航空画像向けコンピュータービジョン
Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン
航空宇宙分野のコンピュータービジョン
Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン
セキュリティ分野のコンピュータービジョン
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を導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン
スポーツにおけるコンピュータービジョン
Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン
航空画像向けコンピュータービジョン
Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン
航空宇宙分野のコンピュータービジョン
Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン
セキュリティ分野のコンピュータービジョン
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の未来を一緒に築きましょう!

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