How does LLM Function/Tool Calling work, and what are the best practices for tool design? · ORA·tech