While enabling large language models to implement function calling (known as
APIs) can greatly enhance the performance of LLMs, function calling is still a
challenging task due to the complicated relations between different APIs,
especially in a context-learning setting without fine-tuning. This paper
proposes a simple yet controllable target-driven approach called Reverse Chain
to empower LLMs with capabilities to use external APIs with only prompts. Given
that most open-source LLMs have limited tool-use or tool-plan capabilities,
LLMs in Reverse Chain are only employed to implement simple tasks, e.g., API
selection and argument completion, and a generic rule is employed to implement
a controllable multiple functions calling. In this generic rule, after
selecting a final API to handle a given task via LLMs, we first ask LLMs to
fill the required arguments from user query and context. Some missing arguments
could be further completed by letting LLMs select another API based on API
description before asking user. This process continues until a given task is
completed. Extensive numerical experiments indicate an impressive capability of
Reverse Chain on implementing multiple function calling. Interestingly enough,
the experiments also reveal that tool-use capabilities of the existing LLMs,
e.g., ChatGPT, can be greatly improved via Reverse Chain