> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/ja/burokku/blocks/advanced-blocks/vlm-as-detector.md).

# 検出器としての VLM

## v2

VLM（視覚言語モデル）とLLM（大規模言語モデル）のJSON文字列を、バウンディングボックス、クラス名、信頼度を抽出し、正規化座標をピクセル座標に変換し、クラス名をクラスIDにマッピングし、複数のモデル種別とタスク形式を処理することで、標準化された物体検出予測形式に変換します。これにより、VLMベースの物体検出、LLM検出解析、テキストから検出への変換ワークフローを可能にします。

## このブロックの仕組み

このブロックは、物体検出予測を含むVLM/LLMのテキスト出力を、ワークフローの検出ブロックと互換性のある標準化された物体検出形式に変換します。このブロックは、

1. 画像と、JSON形式の検出結果を含むVLM出力文字列を受け取ります
2. VLM出力からJSONコンテンツを解析します:

   **Markdownで囲まれたJSONを処理します:**

   * Markdownコードブロック内に囲まれたJSONを検索します（`json ...` )
   * この形式はLLM/VLMの応答で一般的です
   * 複数のMarkdown JSONブロックが見つかった場合は、最初のブロックのみを解析します
   * Markdownタグ内からJSONコンテンツを抽出します

   **生のJSON文字列を処理します:**

   * Markdownブロックが見つからない場合は、文字列全体をJSONとして解析しようとします
   * 標準的なJSON形式の文字列をサポートします
3. モデル種別とタスク種別に基づいて適切なパーサーを選択します:
   * 異なるモデル出力（google-gemini、anthropic-claude、spacexai、florence-2、openai）を処理する登録済みパーサーを使用します
   * 複数のタスク種別をサポートします: "object-detection"、"open-vocabulary-object-detection"、"object-detection-and-caption"、"phrase-grounded-object-detection"、"region-proposal"、"ocr-with-text-detection"
   * 各モデル/タスクの組み合わせは、その形式に特化したパーサーを使用します
4. モデル種別に基づいて検出データを解析します:

   **OpenAI/Gemini/Claude/SpaceXAIモデルの場合:**

   * 解析済みJSONからdetections配列を抽出します
   * 画像の寸法を使って、正規化座標（0〜1の範囲）をピクセル座標に変換します
   * クラス名、信頼度スコア、バウンディングボックス座標を抽出します
   * 提供されたclassesリストを使ってクラス名をclass IDにマッピングします
   * バウンディングボックス、クラス、信頼度を持つ検出オブジェクトを作成します

   **Florence-2モデルの場合:**

   * supervisionの組み込みLMMパーサーをFlorence-2形式に使用します
   * 異なるタスク種別を、専用の解析処理（物体検出、オープンボキャブラリー、領域提案、OCRなど）で処理します
   * region proposalタスクでは、クラス名として「roi」を割り当てます
   * オープンボキャブラリー検出では、提供されたclassesリストをclass IDのマッピングに使用します
   * その他のタスクでは、MD5ベースのclass ID生成、または提供されたclassesを使用します
   * Florence-2の検出では信頼度を1.0に設定します（このモデルは信頼度を提供しません）
5. 座標を変換し、データを正規化します:
   * 正規化座標（0〜1）を絶対ピクセル座標（x\_min, y\_min, x\_max, y\_max）に変換します
   * 画像の幅と高さを使って座標をスケーリングします
   * 信頼度スコアを有効範囲\[0.0, 1.0]に正規化します
   * 範囲外の信頼度値をクランプします
6. クラス名からclass IDへのマッピングを作成します:
   * OpenAI/Gemini/Claudeの場合: 提供されたclassesリストを使ってインデックスマッピング（class\_name → class\_id）を作成します
   * クラスは順番にマッピングされます（1番目のクラス = ID 0、2番目 = ID 1、以降同様）
   * 提供されたリストにないクラスはclass\_id = -1になります
   * Florence-2の場合: タスク種別に基づいて異なるマッピング戦略を使用します
7. 物体検出予測を構築します:
   * バウンディングボックス（xyxy形式）を持つsupervisionのDetectionsオブジェクトを作成します
   * class ID、クラス名、信頼度スコアを含めます
   * メタデータを追加します: detection ID、inference ID、画像寸法、予測タイプ
   * crop対応の検出用に親座標を付与します
   * 予測を標準の物体検出形式で整形します
8. エラーを処理します:
   * 設定します `error_status` JSON解析に失敗した場合はTrueにします
   * 設定します `error_status` 検出解析に失敗した場合はTrueにします
   * エラーが発生した場合、予測としてNoneを返します
   * 追跡のために常にinference\_idを含めます
9. 物体検出予測を返します:
   * 出力 `predictions` 標準の物体検出形式で（検出ブロックと互換性あり）
   * 出力 `error_status` 解析の成功/失敗を示します
   * 出力 `inference_id` 追跡と来歴管理のため

このブロックは、VLM/LLMのテキストベースのJSON出力を標準化された検出予測に変換することで、VLM/LLMを物体検出に使用できるようにします。これらは、他の物体検出モデル出力と同様にワークフローで使用できます。

## 一般的なユースケース

* **VLMベースの物体検出**: VLM出力を検出予測に解析することで、視覚言語モデルを物体検出に使用します（例: GPT-4Vで物体を検出する、Claude Visionを検出に使う、Geminiの検出出力を解析する）。これによりVLM検出ワークフローが可能になります
* **オープンボキャブラリー検出**: VLMを使って、カスタムクラスによるオープンボキャブラリー物体検出を行います（例: VLMでカスタムオブジェクトを検出する、オープンボキャブラリー検出を使う、学習セットにないオブジェクトを検出する）。これによりオープンボキャブラリー検出ワークフローが可能になります
* **マルチタスク検出**: VLMを使ってさまざまな検出タスクを行います（例: キャプション付き物体検出、フレーズ基準の検出、region proposal、検出付きOCR）。これによりマルチタスク検出ワークフローが可能になります
* **LLM検出解析**: 検出結果を含むLLMのテキスト出力を標準化された形式に解析します（例: GPTの検出出力を解析する、LLM予測を検出形式に変換する、LLMを検出に使う）。これによりLLM検出ワークフローが可能になります
* **テキストから検出への変換**: モデルからのテキストベースの検出出力を、ワークフロー互換の検出予測に変換します（例: テキスト予測を検出形式に変換する、テキストベースの検出を解析する、モデル出力を検出に変換する）。これによりテキストから検出へのワークフローが可能になります
* **VLM統合**: VLM出力を検出ワークフローに統合します（例: 検出パイプラインでVLMを使う、VLM予測を検出ブロックと統合する、VLMと従来の検出を組み合わせる）。これによりVLM統合ワークフローが可能になります

## 他のブロックへの接続

このブロックは画像とVLM出力を受け取り、物体検出予測を生成します:

* **VLM/LLMブロックの後に** 検出出力を標準形式に解析するため（例: VLM出力を検出へ、LLM出力を検出へ、モデル出力を解析する）。これによりVLMから検出へのワークフローが可能になります
* **検出ベースのブロックの前に** 解析済みの検出を使用するため（例: ワークフローで解析済み検出を使う、下流ブロックに検出を渡す、VLM検出を検出ブロックと使う）。これにより検出からワークフローへの流れが可能になります
* **フィルタリングブロックの前に** VLM検出をフィルタリングするため（例: クラスでフィルタする、信頼度でフィルタする、VLM予測にフィルタを適用する）。これにより検出からフィルタへのワークフローが可能になります
* **分析ブロックの前に** VLM検出結果を分析するため（例: VLM検出を分析する、解析済み検出に対して分析を行う、VLM検出メトリクスを追跡する）。これにより検出分析ワークフローが可能になります
* **可視化ブロックの前に** VLM検出結果を表示するため（例: VLM検出を可視化する、解析済み検出予測を表示する、VLM検出出力を示す）。これにより検出可視化ワークフローが可能になります
* **ワークフロー出力で** VLM検出を最終出力として提供するため（例: VLM検出出力、解析済み検出結果、VLMベースの検出出力）。これにより検出出力ワークフローが可能になります

## バージョン差分

このバージョン（v2）には、v1に対して次の改善が含まれます:

* **改善された型システム**: この `inference_id` 出力は現在 `INFERENCE_ID_KIND` の代わりに `STRING_KIND`を使用しており、ワークフローシステム内の推論追跡識別子に対して、より良い型安全性と意味的な意図を提供します
* **OpenAIモデルのサポート**: Google Gemini、Anthropic Claude、Florence-2モデルに加えてOpenAIモデルのサポートを追加し、物体検出に使用できるVLM/LLMモデルの範囲を拡大しました
* **強化された型安全性**: 改善された型システムにより、ワークフロー実行エンジンとの統合が向上し、推論追跡の意味がより明確になります

## 要件

このブロックには、画像入力（メタデータと寸法用）と、JSON検出データを含むVLM出力文字列が必要です。JSONは生のJSONでも、Markdownコードブロックで囲まれていてもかまいません（`json ...` ）。このブロックは5つのモデル種別をサポートします: "openai"、"google-gemini"、"anthropic-claude"、"spacexai"、"florence-2"。複数のタスク種別をサポートします: "object-detection"、"open-vocabulary-object-detection"、"object-detection-and-caption"、"phrase-grounded-object-detection"、"region-proposal"、"ocr-with-text-detection"。 `classes` パラメータは、OpenAI、Gemini、Claude、SpaceXAIモデルでは必須です（クラス名をIDにマッピングするため）が、Florence-2ではオプションです（一部のタスクでは不要）。クラスはインデックス順にIDへマッピングされます（1番目のクラス = 0、2番目 = 1、以降同様）。リストにないクラスはclass\_id = -1になります。このブロックは、標準形式の物体検出予測（検出ブロックと互換性あり）、error\_status（boolean）、および追跡用のinference\_id（INFERENCE\_ID\_KIND）を出力します。

### 型識別子

次の識別子をstepの `"type"` フィールドに使用します: `roboflow_core/vlm_as_detector@v2` として、このブロックをワークフローのステップとして追加します。

### プロパティ

| **名前**       | **型**       | **説明**                                                                                                                                                                                                                                                                                                                                                  | 参照 |
| ------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name`       | `str`       | このステップに一意の識別子を入力してください。                                                                                                                                                                                                                                                                                                                                 | ❌  |
| `classes`    | `List[str]` | 分類モデルで使用するすべてのクラス名の一覧。順番通りに指定します。クラス名（VLM出力から）とクラスID（検出形式用）のマッピングを生成するために必要です。クラスはインデックス順にIDへマッピングされます：1番目のクラス = ID 0、2番目 = ID 1、以降同様。VLM出力内でこのリストにないクラスはclass\_id = -1になります。OpenAI、Gemini、Claude、SpaceXAIモデルでは必須です。Florence-2ではオプションです（一部のタスクでは不要）。VLMに検出させるよう指示したクラスと一致している必要があります。                                                                   | ✅  |
| `model_type` | `str`       | 予測を生成したVLM/LLMモデルの種類。JSON出力から検出データを抽出するために使用するパーサーを決定します。サポートされるモデル: 'openai'（GPT-4V）、'google-gemini'（Gemini Vision）、'anthropic-claude'（Claude Vision）、'spacexai'（Grok）、'florence-2'（Microsoft Florence-2）。各モデル種別でJSON出力形式が異なるため、正しく解析するには適切なモデル種別を指定する必要があります。                                                                                         | ❌  |
| `task_type`  | `str`       | VLM/LLMモデルが実行したタスク種別。使用するパーサーと形式ハンドラーを決定します。サポートされるタスク種別: 'object-detection'（標準的な物体検出）、'open-vocabulary-object-detection'（カスタムクラスでの物体検出）、'object-detection-and-caption'（キャプション付き検出）、'phrase-grounded-object-detection'（フレーズを検出に対応付ける）、'region-proposal'（関心領域の提案）、'ocr-with-text-detection'（テキスト領域を検出するOCR）。このタスク種別は、VLM/LLMに実行するよう依頼した内容と一致している必要があります。 | ❌  |

この **参照** 列は、プロパティを次の中で利用可能な動的値でパラメータ化できる可能性を示します `ワークフロー` 実行時に。 *バインディング* 詳細はこちら

### 入力と出力のバインディング

利用可能な接続は、そのバインディング種別に依存します。どのバインディング種別が `VLMを検出器として使用` バージョン `v2` を持つか確認してください。

<details>

<summary>入力と出力のバインディング</summary>

* input
  * `image` ([*`image`*](/workflows/ja/gaido/developer-guide/kinds/image.md)): VLM予測の生成に使用された入力画像。正規化座標をピクセル座標へ変換するための画像寸法（幅、高さ）と、検出予測用のメタデータ（parent\_id）を抽出するために使用します。整合性を保つため、VLM/LLMブロックに渡したものと同じ画像をここでも使用してください。
  * `vlm_output` ([*`language_model_output`*](/workflows/ja/gaido/developer-guide/kinds/language-model-output.md)): 物体検出予測を含むVLMまたはLLMブロックからの文字列出力。生のJSON文字列、またはMarkdownコードブロックで囲まれたJSON（例: `json {...}` ）。形式はmodel\_typeとtask\_typeによって異なります。モデルやタスクごとにJSON構造は異なります。複数のMarkdownブロックが存在する場合は、最初のものだけが解析されます。
  * `classes` ([*`list_of_values`*](/workflows/ja/gaido/developer-guide/kinds/list-of-values.md)): 分類モデルで使用するすべてのクラス名の一覧。順番通りに指定します。クラス名（VLM出力から）とクラスID（検出形式用）のマッピングを生成するために必要です。クラスはインデックス順にIDへマッピングされます: 1番目のクラス = ID 0、2番目 = ID 1、以降同様。VLM出力内でこのリストにないクラスはclass\_id = -1になります。OpenAI、Gemini、Claudeモデルでは必須です。Florence-2ではオプションです（一部のタスクでは不要）。VLMに検出させるよう指示したクラスと一致している必要があります。
* output
  * `error_status` ([`boolean`](/workflows/ja/gaido/developer-guide/kinds/boolean.md)): 真偽値フラグ。
  * `predictions` ([`object_detection_prediction`](/workflows/ja/gaido/developer-guide/kinds/object-detection-prediction.md)): sv.Detections(...)オブジェクト形式の、検出されたバウンディングボックスを持つ予測。
  * `inference_id` ([`inference_id`](/workflows/ja/gaido/developer-guide/kinds/inference-id.md)): 推論識別子。

</details>

<details>

<summary>JSON定義の例</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/vlm_as_detector@v2",
	    "image": "$inputs.image",
	    "vlm_output": [
	        "$steps.lmm.output"
	    ],
	    "classes": [
	        "$steps.lmm.classes",
	        "$inputs.classes",
	        [
	            "dog",
	            "cat",
	            "bird"
	        ],
	        [
	            "class_a",
	            "class_b"
	        ]
	    ],
	    "model_type": [
	        "openai"
	    ],
	    "task_type": "<block_does_not_provide_example>"
	}
```

</details>

## v1

VLM（視覚言語モデル）とLLM（大規模言語モデル）のJSON文字列を、バウンディングボックス、クラス名、信頼度を抽出し、正規化座標をピクセル座標に変換し、クラス名をクラスIDにマッピングし、複数のモデル種別とタスク形式を処理することで、標準化された物体検出予測形式に変換します。これにより、VLMベースの物体検出、LLM検出解析、テキストから検出への変換ワークフローを可能にします。

## このブロックの仕組み

このブロックは、物体検出予測を含むVLM/LLMのテキスト出力を、ワークフローの検出ブロックと互換性のある標準化された物体検出形式に変換します。このブロックは、

1. 画像と、JSON形式の検出結果を含むVLM出力文字列を受け取ります
2. VLM出力からJSONコンテンツを解析します:

   **Markdownで囲まれたJSONを処理します:**

   * Markdownコードブロック内に囲まれたJSONを検索します（`json ...` )
   * この形式はLLM/VLMの応答で一般的です
   * 複数のMarkdown JSONブロックが見つかった場合は、最初のブロックのみを解析します
   * Markdownタグ内からJSONコンテンツを抽出します

   **生のJSON文字列を処理します:**

   * Markdownブロックが見つからない場合は、文字列全体をJSONとして解析しようとします
   * 標準的なJSON形式の文字列をサポートします
3. モデル種別とタスク種別に基づいて適切なパーサーを選択します:
   * 異なるモデル出力（google-gemini、anthropic-claude、florence-2）を処理する登録済みパーサーを使用します
   * 複数のタスク種別をサポートします: "object-detection"、"open-vocabulary-object-detection"、"object-detection-and-caption"、"phrase-grounded-object-detection"、"region-proposal"、"ocr-with-text-detection"
   * 各モデル/タスクの組み合わせは、その形式に特化したパーサーを使用します
4. モデル種別に基づいて検出データを解析します:

   **Gemini/Claudeモデルの場合:**

   * 解析済みJSONからdetections配列を抽出します
   * 画像の寸法を使って、正規化座標（0〜1の範囲）をピクセル座標に変換します
   * クラス名、信頼度スコア、バウンディングボックス座標を抽出します
   * 提供されたclassesリストを使ってクラス名をclass IDにマッピングします
   * バウンディングボックス、クラス、信頼度を持つ検出オブジェクトを作成します

   **Florence-2モデルの場合:**

   * supervisionの組み込みLMMパーサーをFlorence-2形式に使用します
   * 異なるタスク種別を、専用の解析処理（物体検出、オープンボキャブラリー、領域提案、OCRなど）で処理します
   * region proposalタスクでは、クラス名として「roi」を割り当てます
   * オープンボキャブラリー検出では、提供されたclassesリストをclass IDのマッピングに使用します
   * その他のタスクでは、MD5ベースのclass ID生成、または提供されたclassesを使用します
   * Florence-2の検出では信頼度を1.0に設定します（このモデルは信頼度を提供しません）
5. 座標を変換し、データを正規化します:
   * 正規化座標（0〜1）を絶対ピクセル座標（x\_min, y\_min, x\_max, y\_max）に変換します
   * 画像の幅と高さを使って座標をスケーリングします
   * 信頼度スコアを有効範囲\[0.0, 1.0]に正規化します
   * 範囲外の信頼度値をクランプします
6. クラス名からclass IDへのマッピングを作成します:
   * Gemini/Claudeの場合: 提供されたclassesリストを使ってインデックスマッピング（class\_name → class\_id）を作成します
   * クラスは順番にマッピングされます（1番目のクラス = ID 0、2番目 = ID 1、以降同様）
   * 提供されたリストにないクラスはclass\_id = -1になります
   * Florence-2の場合: タスク種別に基づいて異なるマッピング戦略を使用します
7. 物体検出予測を構築します:
   * バウンディングボックス（xyxy形式）を持つsupervisionのDetectionsオブジェクトを作成します
   * class ID、クラス名、信頼度スコアを含めます
   * メタデータを追加します: detection ID、inference ID、画像寸法、予測タイプ
   * crop対応の検出用に親座標を付与します
   * 予測を標準の物体検出形式で整形します
8. エラーを処理します:
   * 設定します `error_status` JSON解析に失敗した場合はTrueにします
   * 設定します `error_status` 検出解析に失敗した場合はTrueにします
   * エラーが発生した場合、予測としてNoneを返します
   * 追跡のために常にinference\_idを含めます
9. 物体検出予測を返します:
   * 出力 `predictions` 標準の物体検出形式で（検出ブロックと互換性あり）
   * 出力 `error_status` 解析の成功/失敗を示します
   * 出力 `inference_id` 追跡と来歴管理のため

このブロックは、VLM/LLMのテキストベースのJSON出力を標準化された検出予測に変換することで、VLM/LLMを物体検出に使用できるようにします。これらは、他の物体検出モデル出力と同様にワークフローで使用できます。

## 一般的なユースケース

* **VLMベースの物体検出**: VLM出力を検出予測に解析することで、視覚言語モデルを物体検出に使用します（例: GPT-4Vで物体を検出する、Claude Visionを検出に使う、Geminiの検出出力を解析する）。これによりVLM検出ワークフローが可能になります
* **オープンボキャブラリー検出**: VLMを使って、カスタムクラスによるオープンボキャブラリー物体検出を行います（例: VLMでカスタムオブジェクトを検出する、オープンボキャブラリー検出を使う、学習セットにないオブジェクトを検出する）。これによりオープンボキャブラリー検出ワークフローが可能になります
* **マルチタスク検出**: VLMを使ってさまざまな検出タスクを行います（例: キャプション付き物体検出、フレーズ基準の検出、region proposal、検出付きOCR）。これによりマルチタスク検出ワークフローが可能になります
* **LLM検出解析**: 検出結果を含むLLMのテキスト出力を標準化された形式に解析します（例: GPTの検出出力を解析する、LLM予測を検出形式に変換する、LLMを検出に使う）。これによりLLM検出ワークフローが可能になります
* **テキストから検出への変換**: モデルからのテキストベースの検出出力を、ワークフロー互換の検出予測に変換します（例: テキスト予測を検出形式に変換する、テキストベースの検出を解析する、モデル出力を検出に変換する）。これによりテキストから検出へのワークフローが可能になります
* **VLM統合**: VLM出力を検出ワークフローに統合します（例: 検出パイプラインでVLMを使う、VLM予測を検出ブロックと統合する、VLMと従来の検出を組み合わせる）。これによりVLM統合ワークフローが可能になります

## 他のブロックへの接続

このブロックは画像とVLM出力を受け取り、物体検出予測を生成します:

* **VLM/LLMブロックの後に** 検出出力を標準形式に解析するため（例: VLM出力を検出へ、LLM出力を検出へ、モデル出力を解析する）。これによりVLMから検出へのワークフローが可能になります
* **検出ベースのブロックの前に** 解析済みの検出を使用するため（例: ワークフローで解析済み検出を使う、下流ブロックに検出を渡す、VLM検出を検出ブロックと使う）。これにより検出からワークフローへの流れが可能になります
* **フィルタリングブロックの前に** VLM検出をフィルタリングするため（例: クラスでフィルタする、信頼度でフィルタする、VLM予測にフィルタを適用する）。これにより検出からフィルタへのワークフローが可能になります
* **分析ブロックの前に** VLM検出結果を分析するため（例: VLM検出を分析する、解析済み検出に対して分析を行う、VLM検出メトリクスを追跡する）。これにより検出分析ワークフローが可能になります
* **可視化ブロックの前に** VLM検出結果を表示するため（例: VLM検出を可視化する、解析済み検出予測を表示する、VLM検出出力を示す）。これにより検出可視化ワークフローが可能になります
* **ワークフロー出力で** VLM検出を最終出力として提供するため（例: VLM検出出力、解析済み検出結果、VLMベースの検出出力）。これにより検出出力ワークフローが可能になります

## 要件

このブロックには、画像入力（メタデータと寸法用）と、JSON検出データを含むVLM出力文字列が必要です。JSONは生のJSONでも、Markdownコードブロックで囲まれていてもかまいません（`json ...` ）。このブロックは3つのモデル種別をサポートします: "google-gemini"、"anthropic-claude"、"florence-2"。複数のタスク種別をサポートします: "object-detection"、"open-vocabulary-object-detection"、"object-detection-and-caption"、"phrase-grounded-object-detection"、"region-proposal"、"ocr-with-text-detection"。 `classes` パラメータはGeminiおよびClaudeモデルでは必須です（クラス名をIDにマッピングするため）が、Florence-2ではオプションです（一部のタスクでは不要）。クラスはインデックス順にIDへマッピングされます（1番目のクラス = 0、2番目 = 1、以降同様）。リストにないクラスはclass\_id = -1になります。このブロックは、標準形式の物体検出予測（検出ブロックと互換性あり）、error\_status（boolean）、および追跡用のinference\_id（string）を出力します。

### 型識別子

次の識別子をstepの `"type"` フィールドに使用します: `roboflow_core/vlm_as_detector@v1` として、このブロックをワークフローのステップとして追加します。

### プロパティ

| **名前**       | **型**       | **説明**                                                                                                                                                                                                                                                                                                                     | 参照 |
| ------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name`       | `str`       | このステップに一意の識別子を入力してください。                                                                                                                                                                                                                                                                                                    | ❌  |
| `classes`    | `List[str]` | 検出モデルで使用するすべてのクラス名の一覧。順番通りに指定します。google-geminiおよびanthropic-claudeモデルでは、クラス名（VLM出力から）とクラスID（検出形式用）のマッピングを生成するために必要です。florence-2モデルではオプションです（open-vocabulary-object-detectionタスクでのみ必須）。クラスはインデックス順にIDへマッピングされます: 1番目のクラス = ID 0、2番目 = ID 1、以降同様。VLM出力内でこのリストにないクラスはclass\_id = -1になります。VLMに検出させるよう指示したクラスと一致している必要があります。     | ✅  |
| `model_type` | `str`       | 検出予測を生成したVLM/LLMモデルの種類。JSON出力を解析するために使用するパーサーを決定します。'google-gemini': Google Geminiモデルの出力。'anthropic-claude': Anthropic Claudeモデルの出力。'florence-2': Microsoft Florence-2モデルの出力。各モデル種別でJSON出力形式が異なるため、適切な解析が必要です。                                                                                                             | ❌  |
| `task_type`  | `str`       | VLMモデルが実行したタスク種別。JSON出力の解析方法と期待される検出形式を決定します。サポートされるタスク: 'object-detection'（プロンプトなしの検出）、'open-vocabulary-object-detection'（提供されたクラスによる検出）、'object-detection-and-caption'（キャプション付き検出）、'phrase-grounded-object-detection'（プロンプト付き検出）、'region-proposal'（関心領域）、'ocr-with-text-detection'（OCRによるテキスト検出）。各タスク種別には特定の出力形式要件があります。 | ❌  |

この **参照** 列は、プロパティを次の中で利用可能な動的値でパラメータ化できる可能性を示します `ワークフロー` 実行時に。 *バインディング* 詳細はこちら

### 入力と出力のバインディング

利用可能な接続は、そのバインディング種別に依存します。どのバインディング種別が `VLMを検出器として使用` バージョン `v1` を持つか確認してください。

<details>

<summary>入力と出力のバインディング</summary>

* input
  * `image` ([*`image`*](/workflows/ja/gaido/developer-guide/kinds/image.md)): VLM予測の生成に使用された入力画像。正規化座標をピクセル座標へ変換するための画像寸法（幅、高さ）と、検出予測用のメタデータ（parent\_id）を抽出するために使用します。整合性を保つため、VLM/LLMブロックに渡したものと同じ画像をここでも使用してください。
  * `vlm_output` ([*`language_model_output`*](/workflows/ja/gaido/developer-guide/kinds/language-model-output.md)): 物体検出予測を含むVLMまたはLLMブロックからの文字列出力。生のJSON文字列、またはMarkdownコードブロックで囲まれたJSON（例: `json {...}` ）。形式はmodel\_typeとtask\_typeによって異なります。モデルやタスクごとにJSON構造は異なります。複数のMarkdownブロックが存在する場合は、最初のものだけが解析されます。
  * `classes` ([*`list_of_values`*](/workflows/ja/gaido/developer-guide/kinds/list-of-values.md)): 検出モデルで使用するすべてのクラス名の一覧。順番通りに指定します。google-geminiおよびanthropic-claudeモデルでは、クラス名（VLM出力から）とクラスID（検出形式用）のマッピングを生成するために必要です。florence-2モデルではオプションです（open-vocabulary-object-detectionタスクでのみ必須）。クラスはインデックス順にIDへマッピングされます: 1番目のクラス = ID 0、2番目 = ID 1、以降同様。VLM出力内でこのリストにないクラスはclass\_id = -1になります。VLMに検出させるよう指示したクラスと一致している必要があります。
* output
  * `error_status` ([`boolean`](/workflows/ja/gaido/developer-guide/kinds/boolean.md)): 真偽値フラグ。
  * `predictions` ([`object_detection_prediction`](/workflows/ja/gaido/developer-guide/kinds/object-detection-prediction.md)): sv.Detections(...)オブジェクト形式の、検出されたバウンディングボックスを持つ予測。
  * `inference_id` ([`string`](/workflows/ja/gaido/developer-guide/kinds/string.md)): 文字列値。

</details>

<details>

<summary>JSON定義の例</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/vlm_as_detector@v1",
	    "image": "$inputs.image",
	    "vlm_output": [
	        "$steps.lmm.output"
	    ],
	    "classes": [
	        "$steps.lmm.classes",
	        "$inputs.classes",
	        [
	            "dog",
	            "cat",
	            "bird"
	        ],
	        [
	            "class_a",
	            "class_b"
	        ]
	    ],
	    "model_type": "google-gemini",
	    "task_type": "<block_does_not_provide_example>"
	}
```

</details>
