> 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/run-a-model/open-ai-compatible-llm.md).

# OpenAI互換LLM

OpenAI互換APIエンドポイント（例: ローカルQwen、vLLM、Ollama、LM Studio、またはOpenAI chat completions APIを実装する任意のサービス）にプロンプトを送信します。

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

1. 指定します **ベースURL** （例： `http://localhost:8000/v1`）と **モデル名**.
2. 次を記述します **指示** — モデルが受け取るテキスト。
3. 以下に行を追加します **入力** を使って、ステップの出力（画像、検出結果、テキスト）をリクエストに渡します。画像入力はbase64でエンコードされ、視覚コンテンツのパーツとして送信されます。画像のリストは、画像ごとに1つの視覚パーツになります。
4. 画像以外の入力は文字列に変換されます。これらを指示テキストに差し込むには、Instructionフィールドのヘルプテキストに示されているプレースホルダー構文で、入力を名前で参照します。
5. 必要に応じて **UQL操作** を適用し、挿入前に入力値を変換します。

## 画像の処理

* A `WorkflowImageData` の値はJPEGにエンコードされ、 `image_url` パーツとして送信されます。
* 生のJPEG `bytes` （例: Image Stackブロックから）は直接送信されます。
* どちらかのリストは複数の `image_url` パーツに展開されます。

画像入力が指示テキスト内で名前によって参照されている場合、そのプレースホルダーはテキストから削除されます。画像は視覚パーツとしてのみ送られます。

### 型識別子

ステップで次の識別子を使用してください `"type"` フィールド： `roboflow_core/openai_compatible@v1` ワークフローにこのブロックをステップとして追加するには。

### プロパティ

| **名前**                         | **型**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | **説明**                                 | 参照 |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | -- |
| `name`                         | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | このステップの一意の識別子を入力してください。                | ❌  |
| `base_url`                     | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | OpenAI互換サーバーのURL。/v1を含めます。             | ✅  |
| `model_name`                   | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | サーバーに送信されるモデル識別子。                      | ✅  |
| `api_key`                      | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | APIキー。エンドポイントで必要な場合。                   | ✅  |
| `system_prompt`                | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | モデルの動作を設定するオプションのシステムメッセージ。            | ✅  |
| `プロンプト`                        | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | モデルに送信されるテキスト。                         | ✅  |
| `prompt_parameters`            | `Dict[str, Union[bool, float, int, str]]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | リクエストに含めるステップ出力（画像またはテキスト）。            | ✅  |
| `prompt_parameters_operations` | `Dict[str, List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]]]` | 使用前に入力へ適用するオプションのUQL操作。                | ❌  |
| `max_tokens`                   | `整数`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | モデルが生成できる最大トークン数。                      | ❌  |
| `temperature`                  | `float`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | サンプリング温度。0.0～2.0。                      | ✅  |
| `extra_body`                   | `Dict[Any, Any]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | OpenAI SDKのextra\_body引数として渡される追加JSON。 | ❌  |

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

### ランタイム互換性

`requires_internet` - エアギャップ／オフライン環境: このブロックは、完全にオフライン／エアギャップ環境から到達できないサービスに依存しています。

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

利用可能な接続は、そのバインディング種別によって異なります。どのバインディング種別が `OpenAI互換LLM` のバージョン `v1` あるか確認してください。

<details>

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

* 入力
  * `base_url` ([*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)）：OpenAI互換サーバーのURL。/v1を含めます。
  * `model_name` ([*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)）：サーバーに送信されるモデル識別子。
  * `api_key` (*Union\[*[*`secret`*](/workflows/ja/gaido/developer-guide/kinds/secret.md)*,* [*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)*]*）：APIキー。エンドポイントで必要な場合。
  * `system_prompt` ([*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)）：モデルの動作を設定するオプションのシステムメッセージ。
  * `プロンプト` ([*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)）：モデルに送信されるテキスト。
  * `prompt_parameters` ([*`*`*](/workflows/ja/gaido/developer-guide/kinds/wildcard.md)）：リクエストに含めるステップ出力（画像またはテキスト）。
  * `temperature` ([*`float`*](/workflows/ja/gaido/developer-guide/kinds/float.md)）：サンプリング温度。0.0～2.0。
* 出力
  * `出力` (*Union\[*[*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)*,* [*`language_model_output`*](/workflows/ja/gaido/developer-guide/kinds/language-model-output.md)*]*)：の文字列値 `string` または LLM / VLM の出力（条件が `language_model_output`.
  * `error_status` ([`string`](/workflows/ja/gaido/developer-guide/kinds/string.md)) : 文字列値。

</details>

<details>

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

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/openai_compatible@v1",
	    "base_url": "http://localhost:8000/v1",
	    "model_name": "Qwen/Qwen2.5-VL-7B-Instruct",
	    "api_key": "xxx-xxx",
	    "system_prompt": "あなたは役立つアシスタントです。",
	    "prompt": "画像に何が写っているか説明してください。",
	    "prompt_parameters": {
	        "detections": "$steps.model.predictions",
	        "frames": "$steps.image_stack.frames"
	    },
	    "prompt_parameters_operations": {
	        "detections": [
	            {
	                "property_name": "class_name",
	                "type": "DetectionsPropertyExtract"
	            }
	        ]
	    },
	    "max_tokens": "<block_does_not_provide_example>",
	    "temperature": "<block_does_not_provide_example>",
	    "extra_body": {
	        "chat_template_kwargs": {
	            "enable_thinking": false
	        },
	        "guided_choice": [
	            "A",
	            "B",
	            "C",
	            "D"
	        ]
	    }
	}
```

</details>
