# `HuggingfaceClient.Inference.TaskRunner`
[🔗](https://github.com/huggingface/huggingface_client/blob/v0.1.0/lib/huggingface_client/inference/tasks/task_runner.ex#L1)

Shared run/stream/resolve_provider logic used by all inference task modules.

# `run`

```elixir
@spec run(HuggingfaceClient.Client.t(), map(), String.t()) ::
  {:ok, map()} | {:error, Exception.t()}
```

Executes a non-streaming inference task.

# `stream`

```elixir
@spec stream(HuggingfaceClient.Client.t(), map(), String.t()) ::
  {:ok, Enumerable.t()} | {:error, Exception.t()}
```

Executes a streaming inference task.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
