Skip to content

pydantic_ai.models.cerebras

Setup

For details on how to set up authentication with this model, see model configuration for Cerebras.

Cerebras model implementation using OpenAI-compatible API.

CerebrasModelName module-attribute

CerebrasModelName = str | LatestCerebrasModelNames 

Possible Cerebras model names.

Since Cerebras supports a variety of models and the list changes frequently, we explicitly list known models but allow any name in the type hints.

See https://inference-docs.cerebras.ai/models/overview for an up to date list of models.

CerebrasModelSettings

Bases: ModelSettings

Settings used for a Cerebras model request.

ALL FIELDS MUST BE cerebras_ PREFIXED SO YOU CAN MERGE THEM WITH OTHER MODELS.

Source code in pydantic_ai_slim/pydantic_ai/models/cerebras.py
46 47 48 49 50 51 52 53 54 55 56 57 58
class CerebrasModelSettings(ModelSettings, total=False):  """Settings used for a Cerebras model request.  ALL FIELDS MUST BE `cerebras_` PREFIXED SO YOU CAN MERGE THEM WITH OTHER MODELS.  """ cerebras_disable_reasoning: bool  """Disable reasoning for the model.  This setting is only supported on reasoning models: `zai-glm-4.6` and `gpt-oss-120b`.  See [the Cerebras docs](https://inference-docs.cerebras.ai/resources/openai#passing-non-standard-parameters) for more details.  """ 

cerebras_disable_reasoning instance-attribute

cerebras_disable_reasoning: bool 

Disable reasoning for the model.

This setting is only supported on reasoning models: zai-glm-4.6 and gpt-oss-120b.

See the Cerebras docs for more details.

CerebrasModel dataclass

Bases: OpenAIChatModel

A model that uses Cerebras's OpenAI-compatible API.

Cerebras provides ultra-fast inference powered by the Wafer-Scale Engine (WSE).

Apart from __init__, all methods are private or match those of the base class.

Source code in pydantic_ai_slim/pydantic_ai/models/cerebras.py
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
@dataclass(init=False) class CerebrasModel(OpenAIChatModel):  """A model that uses Cerebras's OpenAI-compatible API.  Cerebras provides ultra-fast inference powered by the Wafer-Scale Engine (WSE).  Apart from `__init__`, all methods are private or match those of the base class.  """ def __init__( self, model_name: CerebrasModelName, *, provider: Literal['cerebras'] | Provider[AsyncOpenAI] = 'cerebras', profile: ModelProfileSpec | None = None, settings: CerebrasModelSettings | None = None, ):  """Initialize a Cerebras model.  Args:  model_name: The name of the Cerebras model to use.  provider: The provider to use. Defaults to 'cerebras'.  profile: The model profile to use. Defaults to a profile based on the model name.  settings: Model-specific settings that will be used as defaults for this model.  """ super().__init__(model_name, provider=provider, profile=profile, settings=settings) @override def prepare_request( self, model_settings: ModelSettings | None, model_request_parameters: ModelRequestParameters, ) -> tuple[ModelSettings | None, ModelRequestParameters]: merged_settings, customized_parameters = super().prepare_request(model_settings, model_request_parameters) new_settings = _cerebras_settings_to_openai_settings(cast(CerebrasModelSettings, merged_settings or {})) return new_settings, customized_parameters 

__init__

__init__( model_name: CerebrasModelName, *, provider: ( Literal["cerebras"] | Provider[AsyncOpenAI] ) = "cerebras", profile: ModelProfileSpec | None = None, settings: CerebrasModelSettings | None = None ) 

Initialize a Cerebras model.

Parameters:

Name Type Description Default
model_name CerebrasModelName

The name of the Cerebras model to use.

required
provider Literal['cerebras'] | Provider[AsyncOpenAI]

The provider to use. Defaults to 'cerebras'.

'cerebras'
profile ModelProfileSpec | None

The model profile to use. Defaults to a profile based on the model name.

None
settings CerebrasModelSettings | None

Model-specific settings that will be used as defaults for this model.

None
Source code in pydantic_ai_slim/pydantic_ai/models/cerebras.py
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
def __init__( self, model_name: CerebrasModelName, *, provider: Literal['cerebras'] | Provider[AsyncOpenAI] = 'cerebras', profile: ModelProfileSpec | None = None, settings: CerebrasModelSettings | None = None, ):  """Initialize a Cerebras model.  Args:  model_name: The name of the Cerebras model to use.  provider: The provider to use. Defaults to 'cerebras'.  profile: The model profile to use. Defaults to a profile based on the model name.  settings: Model-specific settings that will be used as defaults for this model.  """ super().__init__(model_name, provider=provider, profile=profile, settings=settings)