We can use a ThreadPoolExecutor to parallelise the foor loops in functions like answer_evals and update_query_adapter.