How to do Function Calling with any Chat LLM (that is clever enough)