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

# OpenAI 호환 LLM

모든 OpenAI 호환 API 엔드포인트로 프롬프트를 전송합니다.

OpenAI 호환 API 엔드포인트(예: 로컬 Qwen, vLLM, Ollama, LM Studio, 또는 OpenAI 채팅 완성 API를 구현하는 모든 서비스)로 프롬프트를 보냅니다.

## 이 블록의 작동 방식

1. 다음을 제공합니다 **기본 URL** (예: `http://localhost:8000/v1`) 그리고 **모델 이름**.
2. 다음을 작성하세요 **지시문** - 모델이 받는 텍스트.
3. 아래에 행을 추가하여 **입력** 단계 출력(이미지, 감지 결과, 텍스트)을 요청에 입력합니다. 이미지 입력은 base64로 인코딩되어 비전 콘텐츠 부분으로 전송됩니다. 이미지 목록은 이미지마다 하나의 비전 부분이 됩니다.
4. 이미지가 아닌 입력은 문자열로 변환됩니다. 이를 지시문 텍스트에 삽입하려면 지시문 필드의 도움말 텍스트에 표시된 자리표시자 구문을 사용하여 입력 이름으로 참조하세요.
5. 선택적으로 적용 **UQL 작업** 를 사용하여 삽입 전에 입력값을 변환합니다.

## 이미지 처리

* A `WorkflowImageData` 값은 JPEG로 인코딩되어 다음 항목으로 전송됩니다. `image_url` 부분.
* 원본 JPEG `bytes` (예: Image Stack 블록에서 온 값)는 직접 전송됩니다.
* 둘 중 하나의 목록은 여러 개의 `image_url` 부분으로 분산됩니다.

이미지 입력이 지시문 텍스트에서도 이름으로 참조되면, 자리표시자는 텍스트에서 제거됩니다 - 이미지는 비전 부분으로만 전달됩니다.

### 유형 식별자

단계에서 다음 식별자를 사용하세요 `"type"` 필드: `roboflow_core/openai_compatible@v1` 워크플로우에 이 블록을 단계로 추가하려면.

### 속성

| **이름**                         | **유형**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | **설명**                                     | 참조 |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | -- |
| `name`                         | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 이 단계에 대한 고유 식별자를 입력하세요..                   | ❌  |
| `base_url`                     | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | /v1을 포함한 OpenAI 호환 서버의 URL..               | ✅  |
| `model_name`                   | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 서버로 전송되는 모델 식별자..                          | ✅  |
| `API 키`                        | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 엔드포인트에 필요한 경우 API 키..                      | ✅  |
| `system_prompt`                | `str`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 모델 동작을 설정하는 선택적 시스템 메시지..                  | ✅  |
| `prompt`                       | `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 작업..                | ❌  |
| `최대 토큰 수`                      | `정수`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 모델이 생성할 수 있는 최대 토큰 수..                     | ❌  |
| `온도`                           | `float`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 샘플링 온도, 0.0\~2.0..                         | ✅  |
| `extra_body`                   | `Dict[Any, Any]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | OpenAI SDK의 extra\_body 인수로 전달되는 추가 JSON.. | ❌  |

이 **참조** 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 `워크플로우` 런타임입니다. 자세한 내용은 *바인딩* 을 참조하세요.

### 런타임 호환성

`인터넷 필요` - 에어갭 / 오프라인 배포 : 이 블록은 완전히 오프라인 / 에어갭된 배포에서는 접근할 수 없는 서비스에 의존합니다.

### 입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 `OpenAI 호환 LLM` 버전 `v1` 을 가지고 있는지.

<details>

<summary>입력 및 출력 바인딩</summary>

* 입력
  * `base_url` ([*`string`*](/workflows/ko/developer-guide/developer-guide/kinds/string.md)): /v1을 포함한 OpenAI 호환 서버의 URL..
  * `model_name` ([*`string`*](/workflows/ko/developer-guide/developer-guide/kinds/string.md)): 서버로 전송되는 모델 식별자..
  * `API 키` (*Union\[*[*`secret`*](/workflows/ko/developer-guide/developer-guide/kinds/secret.md)*,* [*`string`*](/workflows/ko/developer-guide/developer-guide/kinds/string.md)*]*): 엔드포인트에 필요한 경우 API 키..
  * `system_prompt` ([*`string`*](/workflows/ko/developer-guide/developer-guide/kinds/string.md)): 모델 동작을 설정하는 선택적 시스템 메시지..
  * `prompt` ([*`string`*](/workflows/ko/developer-guide/developer-guide/kinds/string.md)): 모델로 전송되는 텍스트..
  * `prompt_parameters` ([*`*`*](/workflows/ko/developer-guide/developer-guide/kinds/wildcard.md)): 요청에 포함할 단계 출력(이미지 또는 텍스트)..
  * `온도` ([*`float`*](/workflows/ko/developer-guide/developer-guide/kinds/float.md)): 샘플링 온도, 0.0\~2.0..
* 출력
  * `출력` (*Union\[*[*`string`*](/workflows/ko/developer-guide/developer-guide/kinds/string.md)*,* [*`언어 모델 출력`*](/workflows/ko/developer-guide/developer-guide/kinds/language-model-output.md)*]*): 다음의 경우 문자열 값 `string` 또는 LLM / VLM 출력인 경우 `언어 모델 출력`.
  * `error_status` ([`string`](/workflows/ko/developer-guide/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>
