An introduction to function calling and tool use