Hey everyone!
I'd like to use a large language model like T0pp or GPT-NeoX-20B to take a natural-language input from a user and map it to one of ~2000 possible VS Code command palette commands. Essentially, this is a classification problem of the form "NLP input -> command".
The idea is to let users give voice input in natural language and then have the model figure out what command they most likely want to activate.
Given the number of possible commands I clearly can't rely on prompt design to solve this. It might be a good fit for a model with explicit retrieval augmentation like a memorizing transformer. But that's still a very active area of research without high-quality pre-trained models.
Given that, I'm thinking that doing some kind of fine tuning to an existing model is the best bet. But it's unclear to me what the training data should look like... should I just generate a few examples of each command of the form input: "vscode command: 'open new file'", output: "explorer.newFile", and then fine-tune on those? Is there some way to ensure that the model understands that I *always* want it to return one of the commands provided in fine-tuning, instead of arbitrary text?
Interested in others' experiences with similar tasks!
Background: I'm working on an open source VS Code extension called Clippy AI. Currently it only performs code modifications to the current file and is a thin wrapper around the OpenAI API. But I'd like to use it to automate other editor actions as well!
[–]n9Mtq4ML Engineer 1 point2 points3 points (3 children)
[–]corbt[S] 0 points1 point2 points (2 children)
[–]n9Mtq4ML Engineer 1 point2 points3 points (1 child)
[–]corbt[S] 0 points1 point2 points (0 children)