A tiny server-client evaluator for IR homework (e.g. Search Engine) in Python.
Teachers (or TAs) prepare <url, query> to evaluate students' search engines.
Students develop search_engine.evaluate to accept query, and return list of retrieved urls.
MRR@20, in defaults.
requests==2.25.1
flask==1.1.2
tqdm==4.61.1
ans.tsv # evaluation cases, url<\t>query
example-ans.tsv # no overlap with ans.tsv
passwd # each line a password
archive/ # dir for saving clients' summited urls
python server.pyRetrieved urls will be saved into archive/, named as each student's idx.
normal.log for final submission logs, debug.log for debug mode logs, illegal.log for illegal operation logs.
Replace line 9 of client.py to your server's IP address.
python client.pyEnter passwd for the final submission (ans.tsv will be evaluated), while not enter passwd for the DEBUG mode (example-ans.tsv will be evaluated).
localhost:8080/board for a simple leaderboard