# `Vllm.Inputs`
[🔗](https://github.com/nshkrdotcom/vllm/blob/v0.3.0/lib/snakebridge_generated/vllm/inputs/__init__.ex#L6)

Submodule bindings for `vllm.inputs`.

## Version

- Requested: 0.14.0
- Observed at generation: 0.14.0

## Runtime Options

All functions accept a `__runtime__` option for controlling execution behavior:

    Vllm.Inputs.some_function(args, __runtime__: [timeout: 120_000])

### Supported runtime options

- `:timeout` - Call timeout in milliseconds (default: 120,000ms / 2 minutes)
- `:timeout_profile` - Use a named profile (`:default`, `:ml_inference`, `:batch_job`, `:streaming`)
- `:stream_timeout` - Timeout for streaming operations (default: 1,800,000ms / 30 minutes)
- `:session_id` - Override the session ID for this call
- `:pool_name` - Target a specific Snakepit pool (multi-pool setups)
- `:affinity` - Override session affinity (`:hint`, `:strict_queue`, `:strict_fail_fast`)

### Timeout Profiles

- `:default` - 2 minute timeout for regular calls
- `:ml_inference` - 10 minute timeout for ML/LLM workloads
- `:batch_job` - Unlimited timeout for long-running jobs
- `:streaming` - 2 minute timeout, 30 minute stream_timeout

### Example with timeout override

    # For a long-running ML inference call
    Vllm.Inputs.predict(data, __runtime__: [timeout_profile: :ml_inference])

    # Or explicit timeout
    Vllm.Inputs.predict(data, __runtime__: [timeout: 600_000])

    # Route to a pool and enforce strict affinity
    Vllm.Inputs.predict(data, __runtime__: [pool_name: :strict_pool, affinity: :strict_queue])

See `SnakeBridge.Defaults` for global timeout configuration.

# `__all__`

```elixir
@spec __all__() :: {:ok, [term()]} | {:error, Snakepit.Error.t()}
```

Python module attribute `vllm.inputs.__all__`.

## Returns

- `list(term())`

# `build_explicit_enc_dec_prompt`

```elixir
@spec build_explicit_enc_dec_prompt(term(), term() | nil) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.inputs.build_explicit_enc_dec_prompt`.

## Parameters

- `encoder_prompt` (term())
- `decoder_prompt` (term() | nil)
- `mm_processor_kwargs` (term() default: None)

## Returns

- `term()`

# `build_explicit_enc_dec_prompt`

```elixir
@spec build_explicit_enc_dec_prompt(term(), term() | nil, keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
@spec build_explicit_enc_dec_prompt(term(), term() | nil, term()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `build_explicit_enc_dec_prompt`

```elixir
@spec build_explicit_enc_dec_prompt(term(), term() | nil, term(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `decoder_only_inputs`

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

Python module attribute `vllm.inputs.DecoderOnlyInputs`.

## Returns

- `term()`

# `embeds_inputs`

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

Construct [`EmbedsInputs`][vllm.inputs.data.EmbedsInputs] from optional

values.

## Parameters

- `prompt_embeds` (term())
- `cache_salt` (term() default: None)

## Returns

- `term()`

# `embeds_inputs`

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

# `embeds_inputs`

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

# `processor_inputs`

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

Python module attribute `vllm.inputs.ProcessorInputs`.

## Returns

- `term()`

# `prompt_type`

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

Python module attribute `vllm.inputs.PromptType`.

## Returns

- `term()`

# `singleton_inputs`

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

Python module attribute `vllm.inputs.SingletonInputs`.

## Returns

- `term()`

# `singleton_prompt`

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

Python module attribute `vllm.inputs.SingletonPrompt`.

## Returns

- `term()`

# `to_enc_dec_tuple_list`

```elixir
@spec to_enc_dec_tuple_list(
  term(),
  keyword()
) :: {:ok, [{term(), term() | nil}]} | {:error, Snakepit.Error.t()}
```

Python binding for `vllm.inputs.to_enc_dec_tuple_list`.

## Parameters

- `enc_dec_prompts` (term())

## Returns

- `list({term(), term() | nil})`

# `token_inputs`

```elixir
@spec token_inputs([integer()]) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Construct [`TokenInputs`][vllm.inputs.data.TokenInputs] from optional

values.

## Parameters

- `prompt_token_ids` (list(integer()))
- `cache_salt` (term() default: None)

## Returns

- `term()`

# `token_inputs`

```elixir
@spec token_inputs(
  [integer()],
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec token_inputs([integer()], term()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `token_inputs`

```elixir
@spec token_inputs([integer()], term(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

# `zip_enc_dec_prompts`

```elixir
@spec zip_enc_dec_prompts(term(), term()) ::
  {:ok, [term()]} | {:error, Snakepit.Error.t()}
```

Zip encoder and decoder prompts together into a list of

[`ExplicitEncoderDecoderPrompt`][vllm.inputs.data.ExplicitEncoderDecoderPrompt]
instances.

`mm_processor_kwargs` may also be provided; if a dict is passed, the same
dictionary will be used for every encoder/decoder prompt. If an iterable is
provided, it will be zipped with the encoder/decoder prompts.

## Parameters

- `enc_prompts` (term())
- `dec_prompts` (term())
- `mm_processor_kwargs` (term() default: None)

## Returns

- `list(term())`

# `zip_enc_dec_prompts`

```elixir
@spec zip_enc_dec_prompts(term(), term(), keyword()) ::
  {:ok, [term()]} | {:error, Snakepit.Error.t()}
@spec zip_enc_dec_prompts(term(), term(), term()) ::
  {:ok, [term()]} | {:error, Snakepit.Error.t()}
```

# `zip_enc_dec_prompts`

```elixir
@spec zip_enc_dec_prompts(term(), term(), term(), keyword()) ::
  {:ok, [term()]} | {:error, Snakepit.Error.t()}
```

---

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