Skip to content

Commit a7f1187

Browse files
JoanFMhanxiao
andauthored
fix: fix eval name from driver (jina-ai#1623)
* fix: fix eval name from driver * chore: update jina/drivers/evaluate.py Co-authored-by: Han Xiao <[email protected]>
1 parent 910b327 commit a7f1187

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

jina/drivers/evaluate.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def _apply_all(
5555
if self._running_avg:
5656
evaluation.value = self.exec.mean
5757

58-
if hasattr(self.exec, 'eval_at'):
58+
if getattr(self.exec, 'eval_at', None):
5959
evaluation.op_name = f'{self.exec.__class__.__name__}@{self.exec.eval_at}'
6060
else:
6161
evaluation.op_name = self.exec.__class__.__name__

tests/unit/drivers/test_rankingevaluation_driver.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,13 @@ def add_matches(doc: jina_pb2.DocumentProto):
137137
return req
138138

139139

140+
@pytest.mark.parametrize('eval_at', [None, 2])
140141
def test_ranking_evaluate_driver_matches_in_chunks(simple_chunk_rank_evaluate_driver,
141-
eval_request):
142+
eval_request,
143+
eval_at):
142144
# this test proves that we can evaluate matches at chunk level,
143145
# proving that the driver can traverse in a parallel way docs and groundtruth
144-
simple_chunk_rank_evaluate_driver.attach(executor=PrecisionEvaluator(eval_at=2), runtime=None)
146+
simple_chunk_rank_evaluate_driver.attach(executor=PrecisionEvaluator(eval_at=eval_at), runtime=None)
145147
simple_chunk_rank_evaluate_driver.eval_request = eval_request
146148
simple_chunk_rank_evaluate_driver()
147149

@@ -152,7 +154,10 @@ def test_ranking_evaluate_driver_matches_in_chunks(simple_chunk_rank_evaluate_dr
152154
assert len(doc.chunks) == 1
153155
chunk = doc.chunks[0]
154156
assert len(chunk.evaluations) == 1 # evaluation done at chunk level
155-
assert chunk.evaluations[0].op_name == 'PrecisionEvaluator@2'
157+
if eval_at:
158+
assert chunk.evaluations[0].op_name == 'PrecisionEvaluator@2'
159+
else:
160+
assert chunk.evaluations[0].op_name == 'PrecisionEvaluator'
156161
assert chunk.evaluations[0].value == 1.0
157162

158163

0 commit comments

Comments
 (0)