> 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).

# 워크플로

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

```python
from inference_sdk import InferenceHTTPClient

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

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,
    },
)
```

둘 중 하나는 `specification` 워크플로의 사양이 다음에 설명된 대로 [워크플로 정의](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`.
