There's a small size band gap between the valence band and conduction band. Valence band is basically the most outer shell where electrons exist, and the conduction band is the energy band where electrons are available for conduction.
At room temperature, semiconductors do not have many free electrons and hence are better conductors when heated. When heated, the heat provides thermal energy to the electrons which allows them to be promoted to the conduction band.
This leaves behind an apparent positive hole, i.e. the absence of an electron, which creates an electron hole pair.
Then when a potential difference is applied, electrons in the conduction band move to the positive terminal and holes move towards the negative terminal (this is apparent because as electrons move e.g. left, then the hole 'apparently' moves right).
Hope this helps, correct me if I'm wrong.