Summary
In this paper, the authors present an in-context learning approach to enable LLMs use API calls to complete user requests. The authors present a general approach called "Reverse Chain", which can also extend to serving user requests which involve multiple levels of API calls to fulfill top-level API request. The authors compare with different zero-shot and few-shot approaches and show interesting performance of their approach.
Strengths
- I think the paper is well-motivated. Having the LLMs be able to output API calls is useful for lots of applications to enable the model access a lot of different information that it doesn't have knowledge of directly, or is too big to fit in context.
- The biggest strength of this approach is its simplicity. The approach is intuitive and the ablations considered by the authors help understand the approach better.
Weaknesses
- I am mainly concerned about the novelty of this approach. The authors do mention the relevant recent papers in their related work section, however, I feel that the authors haven't done an adequate job of comparing their work with existing work. (more on this in questions section)
- I think the experiments can be expanded a bit more. The current dataset seems limited and small.
Questions
- How does this paper compare more directly with the depth-first approach presented in ToolLLM paper [1]? I understand that ToolLLM paper didn't directly look at composition multi-tool problem, but shouldn't it be straightforward to extend their DFS approach to do this? And won't that be similar to what you're proposing?
- How does this method scale with # of APIs? For instance, the ToolLLM[1] paper had >16,000 APIs in their dataset. This would require some shortlisting using a retriever.
- I think the authors should also include # of API calls in their experimental results so that readers can understand the trade-off between cost/latency and the quality of the final outputs. My guess is that for applications that need very few APIs and where the API names are very distinct, simple zero-shot methods would suffice.
- It'll be useful to break down the analysis based on the length of API call or num. of arguments in the API call and the performance of Reverse Chain and the corresponding baselines.
- Summarizing the above two steps into a discussion section to directly point out under what circumstances Reverse Chain would be useful would be greatly beneficial for researchers and practitioners alike.
References
[1] Qin, Y., Liang, S., Ye, Y., Zhu, K., Yan, L., Lu, Y., ... & Sun, M. (2023). Toolllm: Facilitating large language models to master 16000+ real-world apis. arXiv preprint arXiv:2307.16789.
Rating
3: reject, not good enough
Confidence
3: You are fairly confident in your assessment. It is possible that you did not understand some parts of the submission or that you are unfamiliar with some pieces of related work. Math/other details were not carefully checked.