How to beginner · 3 min read

How to set up DSPy with Anthropic

Quick answer
To set up dspy with anthropic, install dspy and anthropic packages, then create an Anthropic client with your API key. Use dspy.LM to wrap the Anthropic client and define your signatures for structured AI calls.

PREREQUISITES

  • Python 3.8+
  • Anthropic API key
  • pip install dspy anthropic

Setup

Install the required packages dspy and anthropic via pip, and set your Anthropic API key as an environment variable.

bash
pip install dspy anthropic

Step by step

This example shows how to initialize the Anthropic client, wrap it with dspy.LM, define a simple question-answer signature, and invoke it.

python
import os
from anthropic import Anthropic
import dspy

# Initialize Anthropic client
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

# Wrap Anthropic client with dspy LM
lm = dspy.LM(client)
dspy.configure(lm=lm)

# Define a signature for Q&A
class QA(dspy.Signature):
    question: str = dspy.InputField()
    answer: str = dspy.OutputField()

# Create a predictor
qa = dspy.Predict(QA)

# Run the model
result = qa(question="What is Retrieval-Augmented Generation?")
print(result.answer)
output
Retrieval-Augmented Generation (RAG) is a technique that combines retrieval of relevant documents with generative models to produce more accurate and context-aware responses.

Common variations

  • Use different Anthropic models by specifying model in the Anthropic client or dspy.LM configuration.
  • For async usage, integrate with async Anthropic client methods and async dspy calls.
  • Switch to OpenAI by replacing the client and adjusting imports accordingly.

Troubleshooting

  • If you get authentication errors, verify your ANTHROPIC_API_KEY environment variable is set correctly.
  • For unexpected response formats, ensure your dspy.Signature matches the expected output fields.
  • Check network connectivity if requests time out.

Key Takeaways

  • Use dspy.LM to wrap the Anthropic client for structured AI calls.
  • Define clear dspy.Signature classes for input/output schema.
  • Always set your API key securely via environment variables.
  • You can switch models or providers by changing the underlying client.
  • Troubleshoot by verifying environment variables and network connectivity.
Verified 2026-04 · claude-3-5-sonnet-20241022
Verify ↗