The chain formats the input schema and passes it into an OpenAI Functions model, then parses the output.
By default, the chain returns an object with tone, word_count, entity, chat_response, and an optional final_punctuation, but you can change it to whatever you'd like.