# `Vllm.Config.EPLBConfig`
[🔗](https://github.com/nshkrdotcom/vllm/blob/v0.3.0/lib/snakebridge_generated/vllm/config/eplb_config.ex#L7)

Configuration for Expert Parallel Load Balancing (EP).

# `t`

```elixir
@opaque t()
```

# `_validate_eplb_config`

```elixir
@spec _validate_eplb_config(
  SnakeBridge.Ref.t(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python method `EPLBConfig._validate_eplb_config`.

## Returns

- `term()`

# `log_balancedness`

```elixir
@spec log_balancedness(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `log_balancedness_interval`

```elixir
@spec log_balancedness_interval(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `new`

```elixir
@spec new(term(), term(), term(), keyword()) ::
  {:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()}
```

Constructs `EPLBConfig`.

## Parameters

- `dataclass_self__` (term())
- `args` (term())
- `kwargs` (term())

# `num_redundant_experts`

```elixir
@spec num_redundant_experts(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `policy`

```elixir
@spec policy(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `step_interval`

```elixir
@spec step_interval(SnakeBridge.Ref.t()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `use_async`

```elixir
@spec use_async(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `window_size`

```elixir
@spec window_size(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

---

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