> This page is for NeMo Relay, version v0.8.4.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.0) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.10.0: https://docs.nvidia.com/nemo/relay/v0.10.0/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt
> - v0.6.0: https://docs.nvidia.com/nemo/relay/v0.6.0/llms.txt
> - v0.5.0: https://docs.nvidia.com/nemo/relay/v0.5.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Function nemo_relay_llm_stream_call_execute

> Execute a streaming LLM call end-to-end. Conditional-execution guardrails run first on the raw request. Returns a stream handle that can be polled with `nemo_relay_stream_next`. Blocks until the stream is set up.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

<pre />

Execute a streaming LLM call end-to-end. Conditional-execution guardrails run first on the raw request. Returns a stream handle that can be polled with `nemo_relay_stream_next`. Blocks until the stream is set up.

## Parameters

* `name`: Null-terminated LLM provider name.
* `native_json`: The request payload as a JSON C string representing an `LlmRequest` (`{"headers": {...}, "content": {...}}`).
* `func`: C callback that performs the actual LLM call.
* `func_user_data`: Opaque pointer passed to `func`.
* `func_free`: Optional destructor for `func_user_data`.
* `collector`: Callback invoked with each intercepted chunk as a JSON string. May be null, in which case chunks are not collected.
* `finalizer`: Callback invoked once when the stream is exhausted to produce the aggregated response as a JSON C string. May be null, in which case the finalizer returns `Json::Null`.
* `parent`: Optional parent scope handle, or null.
* `attributes`: Bitfield of LLM attributes.
* `data_json`: Optional JSON data, or null.
* `metadata_json`: Optional JSON metadata, or null.
* `model_name`: Optional LLM model identifier, or null.
* `out`: On success, receives a heap-allocated `FfiStream`.

## Safety

`name`, `native_json`, and `out` must be valid, non-null pointers. `collector` and `finalizer` may be null.