> 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/glmocr.md).

# GLM-OCR

이미지 속 텍스트를 Zhipu AI의 광학 문자 인식에 특화된 비전 언어 모델인 GLM-OCR을 사용해 인식합니다.

GLM-OCR은 다음 세 가지 기본 인식 모드를 지원합니다:

* **텍스트 인식** - 일련번호, 라벨, 장면 텍스트, 문서에 대한 범용 텍스트 인식.
* **수식 인식** - 수학 공식과 방정식을 인식합니다.
* **표 인식** - 표 구조와 내용을 인식합니다.

또한 선택할 수 있습니다 **사용자 지정 프롬프트** 를 선택하여 특수한 인식 작업을 위한 자체 프롬프트를 제공하거나, **구조화된 출력** 을 선택하여 사용자가 정의한 스키마가 있는 JSON 문서로 이미지에서 값을 추출할 수 있습니다(JSON Parser 블록과 함께 사용하여 키를 워크플로 출력으로 구체화합니다).

이 블록은 탐지 모델 및 DynamicCropBlock과 함께 사용하면 OCR을 실행하기 전에 관심 영역을 분리하는 데 유용합니다. 예를 들어, 객체 탐지 모델을 사용해 라벨이나 텍스트 영역을 찾고, 잘라낸 다음, 해당 크롭을 GLM-OCR에 전달합니다.

참고: GLM-OCR은 추론에 GPU가 필요합니다.

### 유형 식별자

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

### 속성

| **이름**           | **유형**           | **설명**                                                                                           | 참조 |
| ---------------- | ---------------- | ------------------------------------------------------------------------------------------------ | -- |
| `name`           | `str`            | 이 단계에 대한 고유 식별자를 입력하세요..                                                                         | ❌  |
| `작업 유형`          | `str`            | 수행할 인식 작업입니다. GLM-OCR로 전송되는 프롬프트를 결정합니다. 선택자(예: $inputs.task\_type)를 허용하므로 모드를 동적으로 설정할 수 있습니다.. | ✅  |
| `prompt`         | `str`            | GLM-OCR용 사용자 지정 텍스트 프롬프트입니다. task\_type이 'custom'일 때만 사용됩니다..                                    | ✅  |
| `출력 구조`          | `Dict[str, str]` | 예상되는 JSON 응답의 구조를 설명하는 사전입니다. 키는 JSON 필드 이름이며, 값은 모델이 각 필드에 무엇을 넣어야 하는지 설명합니다..                  | ❌  |
| `max_new_tokens` | `정수`             | 생성할 최대 토큰 수입니다. 설정하지 않으면 모델의 기본값이 사용됩니다..                                                        | ❌  |
| `model_version`  | `str`            | 추론에 사용할 GLM-OCR 모델입니다..                                                                          | ✅  |

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

### 런타임 호환성

`하드` - 런타임 `self_hosted_cpu`; 실행 `로컬` : GPU가 필요합니다; run\_locally()는 CUDA가 필요한 모델을 로드합니다.

### 입력 및 출력 바인딩

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

<details>

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

* 입력
  * `이미지` ([*`이미지`*](/workflows/ko/developer-guide/developer-guide/kinds/image.md)): 추론할 이미지입니다..
  * `작업 유형` ([*`string`*](/workflows/ko/developer-guide/developer-guide/kinds/string.md)): 수행할 인식 작업입니다. GLM-OCR로 전송되는 프롬프트를 결정합니다. 선택자(예: $inputs.task\_type)를 허용하므로 모드를 동적으로 설정할 수 있습니다..
  * `prompt` ([*`string`*](/workflows/ko/developer-guide/developer-guide/kinds/string.md)): GLM-OCR용 사용자 지정 텍스트 프롬프트입니다. task\_type이 'custom'일 때만 사용됩니다..
  * `model_version` ([*`roboflow_model_id`*](/workflows/ko/developer-guide/developer-guide/kinds/roboflow-model-id.md)): 추론에 사용할 GLM-OCR 모델입니다..
* 출력
  * `파싱된 출력` (*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 출력인 경우 `언어 모델 출력`.

</details>

<details>

<summary>예시 JSON 정의</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/glm_ocr@v1",
	    "images": "$inputs.image",
	    "task_type": "<block_does_not_provide_example>",
	    "prompt": "이미지 속 텍스트를 설명하세요.",
	    "output_structure": {
	        "my_key": "설명"
	    },
	    "max_new_tokens": "<block_does_not_provide_example>",
	    "model_version": "glm-ocr"
	}
```

</details>
