> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nvidia.com/nemo/curator/v26.04/nemo-curator/nemo_curator/models/client/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/curator/_mcp/server. # nemo_curator.models.client ## Submodules * **[`nemo_curator.models.client.llm_client`](/nemo/curator/nemo-curator/nemo_curator/models/client/llm_client)** * **[`nemo_curator.models.client.openai_client`](/nemo/curator/nemo-curator/nemo_curator/models/client/openai_client)** ## Package Contents ### Classes | Name | Description | | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------- | | [`AsyncLLMClient`](#nemo_curator-models-client-llm_client-AsyncLLMClient) | Interface representing a client connecting to an LLM inference server | | [`AsyncOpenAIClient`](#nemo_curator-models-client-openai_client-AsyncOpenAIClient) | A wrapper around OpenAI's Python async client for querying models | | [`LLMClient`](#nemo_curator-models-client-llm_client-LLMClient) | Interface representing a client connecting to an LLM inference server | | [`OpenAIClient`](#nemo_curator-models-client-openai_client-OpenAIClient) | A wrapper around OpenAI's Python client for querying models | ### API ```python class nemo_curator.models.client.AsyncLLMClient( max_concurrent_requests: int = 5, max_retries: int = 3, base_delay: float = 1.0 ) ``` Abstract Interface representing a client connecting to an LLM inference server and making requests asynchronously ```python nemo_curator.models.client.AsyncLLMClient._execute_with_retries( request: collections.abc.Callable[[], collections.abc.Awaitable[nemo_curator.models.client.llm_client._T]] ) -> nemo_curator.models.client.llm_client._T ``` async Run an async request with the client's concurrency and retry policy. ```python nemo_curator.models.client.AsyncLLMClient._query_model_impl( messages: collections.abc.Iterable, model: str, conversation_formatter: nemo_curator.models.client.llm_client.ConversationFormatter | None = None, generation_config: nemo_curator.models.client.llm_client.GenerationConfig | dict | None = None ) -> list[str] ``` async abstract Internal implementation of query\_model without retry/concurrency logic. Subclasses should implement this method instead of query\_model. ```python nemo_curator.models.client.AsyncLLMClient.query_model( messages: collections.abc.Iterable, model: str, conversation_formatter: nemo_curator.models.client.llm_client.ConversationFormatter | None = None, generation_config: nemo_curator.models.client.llm_client.GenerationConfig | dict | None = None ) -> list[str] ``` async Query the model with automatic retry and concurrency control. ```python nemo_curator.models.client.AsyncLLMClient.setup() -> None ``` abstract Setup the client. ```python class nemo_curator.models.client.AsyncOpenAIClient( max_concurrent_requests: int = 5, max_retries: int = 3, base_delay: float = 1.0, kwargs = {} ) ``` **Bases:** [AsyncLLMClient](/nemo/curator/nemo-curator/nemo_curator/models/client/llm_client#nemo_curator-models-client-llm_client-AsyncLLMClient) A wrapper around OpenAI's Python async client for querying models **`timeout`** `= kwargs.pop('timeout', 120)` --- ```python nemo_curator.models.client.AsyncOpenAIClient._query_model_impl( messages: collections.abc.Iterable, model: str, conversation_formatter: nemo_curator.models.client.llm_client.ConversationFormatter | None = None, generation_config: nemo_curator.models.client.llm_client.GenerationConfig | dict | None = None ) -> list[str] ``` async Internal implementation of query\_model without retry/concurrency logic. ```python nemo_curator.models.client.AsyncOpenAIClient._query_model_response_impl( messages: collections.abc.Iterable, model: str, conversation_formatter: nemo_curator.models.client.llm_client.ConversationFormatter | None = None, generation_config: nemo_curator.models.client.llm_client.GenerationConfig | dict | None = None ) -> openai.types.chat.ChatCompletion ``` async ```python nemo_curator.models.client.AsyncOpenAIClient.query_model_response( messages: collections.abc.Iterable, model: str, conversation_formatter: nemo_curator.models.client.llm_client.ConversationFormatter | None = None, generation_config: nemo_curator.models.client.llm_client.GenerationConfig | dict | None = None ) -> openai.types.chat.ChatCompletion ``` async Query a model and return its raw response with retry and concurrency control. ```python nemo_curator.models.client.AsyncOpenAIClient.setup() -> None ``` Setup the client. ```python class nemo_curator.models.client.LLMClient() ``` Abstract Interface representing a client connecting to an LLM inference server and making requests synchronously ```python nemo_curator.models.client.LLMClient.query_model( messages: collections.abc.Iterable, model: str, conversation_formatter: nemo_curator.models.client.llm_client.ConversationFormatter | None = None, generation_config: nemo_curator.models.client.llm_client.GenerationConfig | dict | None = None ) -> list[str] ``` abstract ```python nemo_curator.models.client.LLMClient.setup() -> None ``` abstract Setup the client. ```python class nemo_curator.models.client.OpenAIClient( kwargs = {} ) ``` **Bases:** [LLMClient](/nemo/curator/nemo-curator/nemo_curator/models/client/llm_client#nemo_curator-models-client-llm_client-LLMClient) A wrapper around OpenAI's Python client for querying models **`timeout`** `= kwargs.pop('timeout', 120)` --- ```python nemo_curator.models.client.OpenAIClient.query_model( messages: collections.abc.Iterable, model: str, conversation_formatter: nemo_curator.models.client.llm_client.ConversationFormatter | None = None, generation_config: nemo_curator.models.client.llm_client.GenerationConfig | dict | None = None ) -> list[str] ``` ```python nemo_curator.models.client.OpenAIClient.setup() -> None ``` Setup the client. ## Docs - [nemo_curator.models.client.llm_client](https://docs.nvidia.com/nemo/curator/v26.04/nemo-curator/nemo_curator/models/client/llm_client.md) - [nemo_curator.models.client.openai_client](https://docs.nvidia.com/nemo/curator/v26.04/nemo-curator/nemo_curator/models/client/openai_client.md)