> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Check Model Request • AI Agent SDK

> check_model_request: Raise :class:`ModelRequestBlocked` if real model requests are blocked.

# check\_model\_request

<div className="flex items-center gap-2">
  <Badge color="teal">Function</Badge>
</div>

> This function is defined in the [**guard**](../modules/guard) module.

Raise :class:`ModelRequestBlocked` if real model requests are blocked.

Call this immediately before handing a request to a provider. When requests
are allowed (the default) it is a single global read.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
def check_model_request(model: Optional[str], provider: Optional[str]) -> None
```

## Parameters

<ParamField query="model" type="Optional[str]" required={false}>
  Model id the request names, used in the error message.
</ParamField>

<ParamField query="provider" type="Optional[str]" required={false}>
  Short label for the request path being guarded, e.g. `"litellm.completion"` or `"openai.chat.completions"`.
</ParamField>

### Exceptions

<AccordionGroup>
  <Accordion title="ModelRequestBlocked">
    If requests are currently blocked.
  </Accordion>
</AccordionGroup>

## Uses

* `ModelRequestBlocked`

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/model_harness/guard.py#L196">
  `praisonaiagents/model_harness/guard.py` at line 196
</Card>
