> 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/reference/ko/inference/inference-sdk/workflows.md).

# 워크플로

다음으로 로컬 추론 서버를 시작하세요 `추론 서버 시작`, 그런 다음 워크플로를 실행하세요:

```python
from inference_sdk import InferenceHTTPClient, InferenceConfiguration

# ROBOFLOW_API_KEY를 Roboflow API 키로 바꾸세요
CLIENT = InferenceHTTPClient(
    api_url="http://localhost:9001",
    api_key="ROBOFLOW_API_KEY"
).configure(InferenceConfiguration(api_key_transport="header"))

CLIENT.run_workflow(
    specification={
        "version": "1.0",
        "inputs": [
            {"type": "InferenceImage", "name": "image"},
            {"type": "InferenceParameter", "name": "my_param"},
        ],
        # ...
    },
    # 또는
    # workspace_name="my_workspace_name",
    # workflow_id="my_workflow_id",

    images={
        "image": "url 또는 np.array",
    },
    parameters={
        "my_param": 37,
    },
)
```

다음 중 하나 `명세` 다음에 설명된 대로 워크플로의 명세와 함께 제공됩니다 [워크플로 정의](https://docs.roboflow.com/workflows/developer-guide/developer-guide/definitions), 또는 둘 다 `workspace_name` 및 `workflow_id` 가 제공되어 Roboflow 앱에 미리 정의된 워크플로를 사용합니다. `workspace_name` 브라우저에 작업 공간의 기본 패널이 표시되면 Roboflow 앱 URL에서 찾을 수 있습니다.

{% hint style="info" %}
**워크플로 정의의 서버 측 캐싱:** 다음을 사용할 때 `run_workflow(...)` 와 함께 `workspace_name` 및 `workflow_id`, 서버는 15분 동안 정의를 캐시합니다. Workflows UI에서 정의를 변경한 다음 메서드를 다시 실행하면 변경 사항이 보이지 않을 수 있습니다. 캐시 없이 처리를 강제하려면 다음을 전달하세요. `use_cache=False` 을 `run_workflow(...)`.
{% endhint %}

**워크플로 프로파일링:** 다음을 전달하여 프로파일러 추적을 요청할 수 있습니다. `enable_profiling=True` 를 `run_workflow(...)`. 서버 구성이 추적 노출을 활성화하면 다음에 지정된 디렉터리에서 추적이 포함된 JSON 파일을 찾을 수 있습니다. `profiling_directory` 의 [`InferenceConfiguration`](/reference/ko/inference/inference-sdk/configuration.md) (기본값: `inference_profiling` 현재 작업 디렉터리). 추적 파일은 Google Chrome에서 다음 주소에서 불러와 렌더링할 수 있습니다: `chrome://tracing`.
