Dropbox uses DSPy to optimize Dash relevance judge: 45% NMSE reduction and 97% fewer malformed outputs
Dropbox's relevance judge for Dash was built on an expensive state-of-the-art model that could not be scaled cost-effectively, and manually tuned prompts did not transfer cleanly to cheaper models, causing quality to drop and requiring weeks of manual iteration per model swap.
Manual prompt engineering for the relevance judge plateaued in quality and broke when transferring prompts between models. With gemma-3-12b, more than 40 percent of responses were malformed JSON, making the baseline operationally unusable.
DSPy-optimized prompts reduced NMSE by 45 percent (from 8.83 to 4.86) when adapting to gpt-oss-120b, cut model adaptation time from one to two weeks down to one to two days, enabled labeling 10 to 100 times more data at the same cost, and reduced malformed JSON outputs by more than 97 percent when adapting to gemma-3-12b.
Show all 10 reported metrics
Frequently asked questions
What did this team achieve with this AI workflow?
DSPy-optimized prompts reduced NMSE by 45 percent (from 8.83 to 4.86) when adapting to gpt-oss-120b, cut model adaptation time from one to two weeks down to one to two days, enabled labeling 10 to 100 times more data…
What tools did this team use?
DSPy, GEPA, MIPROv2, gpt-oss-120b, gemma-3-12b, o3, Dropbox Dash.
What results were reported?
NMSE reduction (gpt-oss-120b adaptation): 45 percent; NMSE before DSPy (gpt-oss-120b): 8.83; NMSE after DSPy (gpt-oss-120b): 4.86; Model adaptation time before DSPy: one to two weeks (source-reported, not independently verified).
What failed first in this deployment?
Manual prompt engineering for the relevance judge plateaued in quality and broke when transferring prompts between models.
How is this quality assurance AI workflow structured?
Query-document pair submitted → Human annotators score pairs → NMSE alignment measurement → GEPA structured feedback generation → Iterative prompt revision loop → Optimized judge deployed to pipelines.