> ## Documentation Index
> Fetch the complete documentation index at: https://gomodel-docs-benchmark-writeup-and-tooling.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# DeepSeek

> Configure DeepSeek V4 in GoModel and understand how reasoning effort is mapped to DeepSeek's reasoning_effort field.

DeepSeek does not expose a native Responses API, so GoModel translates
`/v1/responses` to `/chat/completions` automatically. It also remaps
OpenAI-style reasoning levels to the two DeepSeek accepts.

## Configure

```bash theme={null}
DEEPSEEK_API_KEY=...
```

Or in `config.yaml`:

```yaml theme={null}
providers:
  deepseek:
    type: deepseek
    base_url: "https://api.deepseek.com"
    api_key: "${DEEPSEEK_API_KEY}"
```

<Note>
  If you previously configured DeepSeek as `type: openai`, switch to
  `type: deepseek`. The generic OpenAI provider does not translate `/responses`
  or remap reasoning effort.
</Note>

## Reasoning effort mapping

DeepSeek V4 reasoning models accept `reasoning_effort` as a top-level string
with two permitted levels: `high` and `max`.

| Client sends              | DeepSeek receives                                    |
| ------------------------- | ---------------------------------------------------- |
| `low` / `medium` / `high` | `high`                                               |
| `xhigh` / `max`           | `max`                                                |
| anything else             | passed through by GoModel, then rejected by DeepSeek |

GoModel rewrites the OpenAI-shaped `"reasoning": {"effort": "..."}` into
DeepSeek's top-level `reasoning_effort` — no client change required. Validate
or normalize custom client values to `high` or `max` before calling GoModel.
To disable reasoning, omit the `reasoning` field entirely; any provided
`reasoning.effort`, including `low`, is mapped and enables reasoning.

## Not supported by DeepSeek

* Embeddings (returns `invalid_request_error`).
