Muhammad-Mehdi's picture
Backend and remotion-video for HF Space
cfe45d5
Raw
History Blame Contribute Delete
642 Bytes
"""
Shared DSPy configuration. Called once at import time so all modules
share the same LM instance and thread context.
"""
import threading
import dspy
from app.config import settings
_lock = threading.Lock()
_configured = False
def ensure_dspy_configured():
"""Configure DSPy exactly once, thread-safe."""
global _configured
if _configured:
return
with _lock:
if _configured:
return
lm = dspy.LM(
"anthropic/claude-sonnet-4-5-20250929",
api_key=settings.ANTHROPIC_API_KEY,
)
dspy.configure(lm=lm, async_max_workers=8)
_configured = True