Home

Awesome

<div align="center"> <h1>🛠️ Awesome LMs with Tools</h1> <a href="https://awesome.re"> <img src="https://awesome.re/badge.svg" alt="Awesome"> </a> <a href="https://img.shields.io/badge/PRs-Welcome-red"> <img src="https://img.shields.io/badge/PRs-Welcome-yellow" alt="PRs Welcome"> </a> <a href="https://img.shields.io/badge/arXiv-2403.15452-b31b1b.svg"> <img src="https://img.shields.io/badge/arXiv-2403.15452-b31b1b.svg" alt="arXiv"> </a> </div>

Language models (LMs) are powerful yet mostly for text-generation tasks. Tools have substantially enhanced their performance for tasks that require complex skills.

Based on our recent survey about LM-used tools, "What Are Tools Anyway? A Survey from the Language Model Perspective", we provide a structured list of literature relevant to tool-augmented LMs.

If you find our paper or code useful, please cite the paper:

@article{wang2022what,
  title={What Are Tools Anyway? A Survey from the Language Model Perspective},
  author={Zhiruo Wang, Zhoujun Cheng, Hao Zhu, Daniel Fried, Graham Neubig},
  journal={arXiv preprint arXiv:2403.15452},
  year={2024}
}

$\S2$ Tool Basics

$\S2.1$ What are tools? 🛠️

$\S2.3$ Tools and "Agents" 🤖

$\S3$ The basic tool use paradigm

Inference-time prompting

Learning by training

$\S4$ Scenarios

Knowledge access 📚

Computation activities 🔣

Interaction with the world 🌐

Non-textual modalities 🎞️

Special-skilled models 🤗

$\S5$ Advanced methods

$\S5.1$ Complex tool selection and usage 🧐

$\S5.2$ Tools in programmatic contexts 👩‍💻

$\S5.3$ Tool creation and reuse 👩‍🔬

$\S6$ Evaluation: Testbeds

$\S6.1.1$ Repurposed existing datasets

$\S6.1.2$ Aggregated API benchmarks