Each message is a dictionary with two keys, role and content.