Skip to content

Commit 9822d22

Browse files
author
StackMemory Bot (CLI)
committed
fix(dspy): handle EvaluationResult type from DSPy 3.x evaluate()
1 parent 7e470ab commit 9822d22

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

scripts/dspy/eval.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,17 @@ def run_eval(db_path: Path, model: str, optimized_path: Path | None):
6363
# Baseline
6464
baseline = dspy.ChainOfThought(FrameRetrieval)
6565
evaluate = dspy.Evaluate(devset=eval_set, metric=retrieval_metric, num_threads=2)
66-
baseline_score = evaluate(baseline)
66+
baseline_result = evaluate(baseline)
67+
baseline_score = float(getattr(baseline_result, 'score', baseline_result) or 0)
6768
print(f"Baseline score: {baseline_score:.3f}")
6869

6970
# Optimized (if available)
7071
if optimized_path and optimized_path.exists():
7172
state = json.loads(optimized_path.read_text())
7273
optimized = dspy.ChainOfThought(FrameRetrieval)
7374
optimized.load_state(state["retrieval"]["state"])
74-
optimized_score = evaluate(optimized)
75+
optimized_result = evaluate(optimized)
76+
optimized_score = float(getattr(optimized_result, 'score', optimized_result) or 0)
7577
print(f"Optimized score: {optimized_score:.3f}")
7678
delta = optimized_score - baseline_score
7779
print(f"Delta: {delta:+.3f}")

scripts/dspy/optimize.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,10 @@ def optimize_retrieval(db_path: Path, model: str, output_path: Path):
154154
# Evaluate
155155
print("\n--- Evaluation ---")
156156
evaluate = dspy.Evaluate(devset=devset, metric=retrieval_metric, num_threads=2)
157-
baseline_score = evaluate(retrieval_module)
158-
optimized_score = evaluate(optimized_retrieval)
157+
baseline_result = evaluate(retrieval_module)
158+
optimized_result = evaluate(optimized_retrieval)
159+
baseline_score = float(getattr(baseline_result, 'score', baseline_result) or 0)
160+
optimized_score = float(getattr(optimized_result, 'score', optimized_result) or 0)
159161
print(f"Baseline: {baseline_score:.3f}")
160162
print(f"Optimized: {optimized_score:.3f}")
161163
print(f"Delta: {optimized_score - baseline_score:+.3f}")
@@ -177,8 +179,10 @@ def optimize_retrieval(db_path: Path, model: str, output_path: Path):
177179
complexity_eval = dspy.Evaluate(
178180
devset=complexity_examples[6:], metric=complexity_metric, num_threads=2
179181
)
180-
complexity_baseline = complexity_eval(complexity_module)
181-
complexity_optimized = complexity_eval(optimized_complexity)
182+
complexity_baseline_result = complexity_eval(complexity_module)
183+
complexity_optimized_result = complexity_eval(optimized_complexity)
184+
complexity_baseline = float(getattr(complexity_baseline_result, 'score', complexity_baseline_result) or 0)
185+
complexity_optimized = float(getattr(complexity_optimized_result, 'score', complexity_optimized_result) or 0)
182186
print(f"Baseline: {complexity_baseline:.3f}")
183187
print(f"Optimized: {complexity_optimized:.3f}")
184188

0 commit comments

Comments
 (0)