llm function calling vs react