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

# DSPy (gateway)

> Set up DSPy with the Respan gateway.

Route DSPy's underlying LLM calls through the Respan gateway to use 1000+ models from different providers. Only your `RESPAN_API_KEY` is needed — no separate provider keys required.

## Setup

#### Install packages

```bash
pip install dspy
```

#### Set environment variables

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

No `OPENAI_API_KEY` needed — the Respan gateway handles provider authentication.

#### Point DSPy to the Respan gateway

```python
import os
import dspy

lm = dspy.LM(
    "openai/gpt-5-mini",
    api_key=os.environ["RESPAN_API_KEY"],
    api_base="https://api.respan.ai/api",
    cache=False,
)
dspy.configure(lm=lm)

class QA(dspy.Signature):
    question: str = dspy.InputField()
    answer: str = dspy.OutputField()

result = dspy.ChainOfThought(QA)(question="What is the capital of France?")
print(result.answer)
```

## Switch models

Use another OpenAI model ID through the same gateway-backed LiteLLM route.

```python
import os
import dspy

gateway_kwargs = {
    "api_key": os.environ["RESPAN_API_KEY"],
    "api_base": "https://api.respan.ai/api",
    "cache": False,
}

dspy.configure(lm=dspy.LM("openai/gpt-5-mini", **gateway_kwargs))
dspy.configure(lm=dspy.LM("openai/gpt-5.5", **gateway_kwargs))
```

> **Note**
>
> DSPy's LiteLLM adapter requires an OpenAI transport prefix for this OpenAI-compatible gateway path. Do not represent Claude or Gemini as `openai/...` models in this doc; use the Respan API or OpenAI SDK gateway pages for provider-neutral Claude and Gemini examples.

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