> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://www.respan.ai/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://www.respan.ai/docs/_mcp/server.

# Ollama (gateway)

> Set up Ollama model calls with the Respan gateway.

Route Ollama model calls through the Respan gateway after the Ollama model is available in your Respan model list. For direct Ollama SDK tracing, see [Ollama tracing setup](/docs/integrations/ollama).

## Setup

> **Note**
>
> Live verification with the tested gateway key returned model unavailable for the previous `ollama/llama3.1` example. Use a model ID that is available in your Respan model list.

#### Install packages

```bash
pip install openai python-dotenv
```

#### Set environment variables

```bash
export RESPAN_API_KEY="YOUR_RESPAN_API_KEY"
```

#### Point an OpenAI-compatible client to the Respan gateway

```python
import os

from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

client = OpenAI(
    api_key=os.environ["RESPAN_API_KEY"],
    base_url=os.getenv("RESPAN_BASE_URL", "https://api.respan.ai/api"),
)

response = client.chat.completions.create(
    model="YOUR_OLLAMA_MODEL_ID",
    messages=[{"role": "user", "content": "Say hello in three languages."}],
)
print(response.choices[0].message.content)
```

## Switch models

Change the `model` parameter to use 1000+ models from different providers through the same gateway.

```python
response = client.chat.completions.create(model="YOUR_OLLAMA_MODEL_ID", messages=messages)
response = client.chat.completions.create(model="gpt-5.5", messages=messages)
response = client.chat.completions.create(model="claude-sonnet-4-5-20250929", messages=messages)
```

See the [full model list](https://platform.respan.ai/platform/models).

## Respan parameters

Pass additional Respan parameters via `extra_body` for gateway features.

```python
response = client.chat.completions.create(
    model="YOUR_OLLAMA_MODEL_ID",
    messages=[{"role": "user", "content": "Hello"}],
    extra_body={
        "customer_identifier": "user_123",
        "fallback_models": ["gpt-5.5"],
        "metadata": {"session_id": "abc123"},
        "thread_identifier": "conversation_456",
    },
)
```

See [Respan params & metadata](/docs/documentation/features/gateway/respan-params) for the full list.