# resolve_message_model

> **Function** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/cost_tracking/resolve_message_model)

Resolve the model and provider attached to a streamed model message.

## Signature

```python
resolve_message_model(
    message: object,
    *,
    fallback_model: str = '',
    fallback_provider: str = '',
    prefer_fallback_provider: bool = True,
) -> tuple[str, str]
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `message` | `object` | Yes | An AI message or chunk with optional `response_metadata`. |
| `fallback_model` | `str` | No | Model to use when message metadata does not name one. (default: `''`) |
| `fallback_provider` | `str` | No | Provider to use when message metadata does not name one. Known provider aliases and non-API providers override generic response metadata. (default: `''`) |
| `prefer_fallback_provider` | `bool` | No | Whether those configured providers should replace response metadata. Disable this when the fallback describes a parent request rather than the message itself. (default: `True`) |

## Returns

`tuple[str, str]`

The `(model_name, provider)` pair used for pricing.

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/caaa7e7c12d214afa5cf0a1afed8eb6232aa6f7b/libs/code/deepagents_code/cost_tracking.py#L2007)