Novak Djokovic will face Jannik Sinner in the Shanghai Masters final on Sunday as he bids for a 100th ATP title.