> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/curator/llms.txt.
> For full documentation content, see https://docs.nvidia.com/nemo/curator/llms-full.txt.

# nemo_curator.core.serve.base

## Module Contents

### Classes

| Name                                                                 | Description                                                                        |
| -------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| [`BaseModelConfig`](#nemo_curator-core-serve-base-BaseModelConfig)   | Base public model config shared by inference backends.                             |
| [`BaseServerConfig`](#nemo_curator-core-serve-base-BaseServerConfig) | Base server-level config; subclasses declare which model config types they accept. |
| [`InferenceBackend`](#nemo_curator-core-serve-base-InferenceBackend) | Base class for inference server backend implementations.                           |

### API

<Anchor id="nemo_curator-core-serve-base-BaseModelConfig">
  <CodeBlock showLineNumbers={false} wordWrap={true}>
    ```python
    class nemo_curator.core.serve.base.BaseModelConfig(
        model_identifier: str,
        model_name: str | None = None,
        runtime_env: dict[str, typing.Any] = dict()
    )
    ```
  </CodeBlock>
</Anchor>

<Indent>
  <Badge>
    Dataclass
  </Badge>

  Base public model config shared by inference backends.

  <ParamField path="model_identifier" type="str" />

  <ParamField path="model_name" type="str | None = None" />

  <ParamField path="resolved_model_name" type="str" />

  <ParamField path="runtime_env" type="dict[str, Any] = field(default_factory=dict)" />

  <Anchor id="nemo_curator-core-serve-base-BaseModelConfig-_merge_package_runtime_env">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.core.serve.base.BaseModelConfig._merge_package_runtime_env(
          key: str,
          base: dict[str, typing.Any] | list[str] | None,
          override: dict[str, typing.Any] | list[str] | None
      ) -> dict[str, typing.Any] | list[str]
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    <Badge>
      staticmethod
    </Badge>
  </Indent>

  <Anchor id="nemo_curator-core-serve-base-BaseModelConfig-merge_runtime_envs">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.core.serve.base.BaseModelConfig.merge_runtime_envs(
          base: dict[str, typing.Any],
          override: dict[str, typing.Any] | None
      ) -> dict[str, typing.Any]
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    <Badge>
      staticmethod
    </Badge>

    Merge two runtime\_env dicts while preserving package lists.
  </Indent>
</Indent>

<Anchor id="nemo_curator-core-serve-base-BaseServerConfig">
  <CodeBlock showLineNumbers={false} wordWrap={true}>
    ```python
    class nemo_curator.core.serve.base.BaseServerConfig()
    ```
  </CodeBlock>
</Anchor>

<Indent>
  <Badge>
    Dataclass
  </Badge>

  Base server-level config; subclasses declare which model config types they accept.

  <ParamField path="model_configs" type="tuple[type[BaseModelConfig], ...] = ()" />
</Indent>

<Anchor id="nemo_curator-core-serve-base-InferenceBackend">
  <CodeBlock showLineNumbers={false} wordWrap={true}>
    ```python
    class nemo_curator.core.serve.base.InferenceBackend()
    ```
  </CodeBlock>
</Anchor>

<Indent>
  <Badge>
    Abstract
  </Badge>

  Base class for inference server backend implementations.

  <Anchor id="nemo_curator-core-serve-base-InferenceBackend-start">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.core.serve.base.InferenceBackend.start() -> None
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    <Badge>
      abstract
    </Badge>
  </Indent>

  <Anchor id="nemo_curator-core-serve-base-InferenceBackend-stop">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.core.serve.base.InferenceBackend.stop() -> None
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    <Badge>
      abstract
    </Badge>
  </Indent>
</Indent>