Hey all, welcome to the August edition of Star History Monthly! This time we are taking a look at a few open-source CLI tools for working with ChatGPT and other LLMs.
The inspiration for this topic actually came from this Tweet.
hottest app of 2023 will be Terminal
— killian (@hellokillian) September 6, 2023
did you know you could drag files into it? you can open folders with it??
so incredibly well integrated in the OS, like the most native app of all time pic.twitter.com/q4DKKsdqCt
CLI tools are great, they can replace just about any GUI out there. For a novice user, a Terminal might take some time getting used to, but if you are experienced, you can configure your Terminal to an aesthetic dashboard and accomplish more advanced tasks.
Open Interpreter lets LLMs run code on your computer to complete tasks. Open Interpreter combines the power of OpenAI GPT-4's Code Interpreter with the flexibility of your local environment and has full access to the Internet. Tell it to set your computer to dark mode, edit videos, search for something on the Internet, or even set up a virtual environment - all via your Terminal🤯. This takes things one step further: no need to ask your AI assistant to write code via a GUI, and then execute it somewhere else.
And yes, Open Interpreter's author wrote the Tweet above. Hard to imagine why.
llm is a command line for running prompts against LLMs, getting the results back on the command-line and also storing the prompt and response in a SQLite database. Currently, OpenAI models are supported by default, but you can install plugins to make other LLMs available.
To get it working, you need to install the tool, put your OpenAI API key somewhere it can find, and voila, start playing with it. Try asking it to translate your release notes to French, and the outputs will be directly prompted to your Terminal.
AI can now write most of the code for an app, but it won’t work unless all the code works cohesively. GPT Pilot is a fascinating devtool that can code an entire, production-ready app.
It works by describing an app you want to build and GPT Pilot works with an LLM to clarify specific app requirements, before finally writing the code.
Right now, GPT Pilot is still in the early stages and can only build simple web apps like a real-time chat app or a timer app, but this concept obviously has far-reaching significance for the future.
aider, as the name suggests, is AI pair programming in your Terminal. Once you launch aider from the command line with your source files, you can discuss and edit together. Aider supports all OpenAI's chat models (and GPT-4 is the recommended model to use for code editing).
When you put it side to side with GPT Pilot, aider acts more like guidance for writing an app, while GPT Pilot is more like a contractor where they collect the requirements and present you with the final results.
Butterfish equips your shell with AI superpowers. It is basically a transparent shell wrapper with GPT and currently works on MacOS and Linux. One of the reasons why ChatGPT is useful is that you can have a conversation with it, and have it tweak and improve its answers. Butterfish has memory as well, and it can include previous context by injecting your shell history into the chat.
Another cool thing is that you can start a prompt simply with a capital letter. For example, $ Write me a poem
will be sent as a ChatGPT prompt and expect your Terminal to return a poem.
All these aforementioned tools emerged somewhere this year - and have all undoubtedly gained momentum thanks to the rapid growth of LLMs. These have taken a "mere GUI for LLM" to the next level, accomplishing all sorts of tasks from tweaking a computer setting to building simple apps. Are developers going to be out of jobs? Is coding soon no longer required? Obviously, these tools can change the game for the software industry, but you still need to be good at coding: an unskilled person powered by such a tool can slowly construct a codebase that's unmaintainable.
Of course, there are many more tools we didn't mention here that let you work with LLMs of your choice easily from your Terminal, such as llama.cpp and Ollama.