jina-ai / executors

internal-only
Apache License 2.0
31 stars 12 forks source link

SimpleRanker needs update #321

Closed ugm2 closed 2 years ago

ugm2 commented 2 years ago

In jinahub/rankers/SimpleRanker/simpleranker.py#L48 it fails here:

File "/home/unai/.jina/hub-packages/4mq3egay/simpleranker.py", line 83, in rank
    for m in DocumentArray([doc]).traverse_flat(['cm']):
  File "/home/unai/personal/annual-report-intelligent-search/.venv/lib/python3.7/site-packages/docarray/array/mixins/traverse.py", line 121, in traverse_flat
    return self._flatten(leaves)
  File "/home/unai/personal/annual-report-intelligent-search/.venv/lib/python3.7/site-packages/docarray/array/mixins/traverse.py", line 160, in _flatten
    return DocumentArray(list(itertools.chain.from_iterable(sequence)))
  File "/home/unai/personal/annual-report-intelligent-search/.venv/lib/python3.7/site-packages/docarray/array/mixins/traverse.py", line 45, in traverse
    for p in traversal_paths.split(','):
AttributeError: 'list' object has no attribute 'split'

It seems it needs updating to support latest changes in Docarray.

After manually bypassing that error (by passing a string instead of a list), I'm getting the following one:

File "/home/unai/.jina/hub-packages/4mq3egay/simpleranker.py", line 104, in rank
    doc.matches.sort(key=lambda d: d.scores[self.metric].value)
AttributeError: 'MatchArray' object has no attribute 'sort'

jinahub/rankers/SimpleRanker/simpleranker.py#L103

Which also seems like it needs updating to support latest changes in Docarray.

JoanFM commented 2 years ago

Thanks for reporting, will do!

samsja commented 2 years ago

Hey @ugm2 we just updated the simpleranker executor to work with jina 3.0 ( in this PR https://github.com/jina-ai/executor-simpleranker/pull/3)