Our teacher used a very simplistic model where she used an egg carton to model the valence and conduction bands, and ping pong balls to model electrons. So for semiconductors, there was either an extra ping pong ball (extra electron) or missing ping pong ball (hole). An empty egg carton was used to represent the conduction band and that was moved further or closer to the valence band depending on whether it was an insulator, conductor or whatever. This represented the energy gap. The electric field and energy supply to create the potential difference were imaginary.
Does that help?