DSPy (gateway)

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

Setup

1

Install packages

$pip install dspy
2

Set environment variables

$export RESPAN_API_KEY="YOUR_RESPAN_API_KEY"
$export RESPAN_BASE_URL="https://api.respan.ai/api"

No OPENAI_API_KEY needed — the Respan gateway handles provider authentication.

3

Point DSPy to the Respan gateway

1import os
2import dspy
3
4lm = dspy.LM(
5 "openai/gpt-5-mini",
6 api_key=os.environ["RESPAN_API_KEY"],
7 api_base=os.getenv("RESPAN_BASE_URL", "https://api.respan.ai/api"),
8 cache=False,
9)
10dspy.configure(lm=lm)
11
12class QA(dspy.Signature):
13 question: str = dspy.InputField()
14 answer: str = dspy.OutputField()
15
16result = dspy.ChainOfThought(QA)(question="What is the capital of France?")
17print(result.answer)

Switch models

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

1import os
2import dspy
3
4gateway_kwargs = {
5 "api_key": os.environ["RESPAN_API_KEY"],
6 "api_base": os.getenv("RESPAN_BASE_URL", "https://api.respan.ai/api"),
7 "cache": False,
8}
9
10dspy.configure(lm=dspy.LM("openai/gpt-5-mini", **gateway_kwargs))
11dspy.configure(lm=dspy.LM("openai/gpt-5.5", **gateway_kwargs))

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.