Novak Djokovic will face Jannik Sinner in the final at Shanghai with a chance to win his 100th career title.