Noun for somebody that is eloquent/a good public speaker?

Solution 1:

An orator. The definition is a public speaker, particularly one who is skilled and forceful with their words.

Source