[HN Gopher] CLI tools for working with ChatGPT and other LLMs
       ___________________________________________________________________
        
       CLI tools for working with ChatGPT and other LLMs
        
       Author : simonw
       Score  : 61 points
       Date   : 2023-05-18 21:05 UTC (1 hours ago)
        
 (HTM) web link (simonwillison.net)
 (TXT) w3m dump (simonwillison.net)
        
       | verdverm wrote:
       | There's an awesome list for BYOK (bring your own key) projects
       | here: https://github.com/reorx/awesome-chatgpt-api#cli
        
       | examplary_cable wrote:
       | I have made a bash script(using rofi) to use chatGPT if anyone is
       | interested.
       | 
       | https://github.com/ilse-langnar/bashGPT
        
       | xenodium wrote:
       | I've had a positive experience building a ChatGPT shell for Emacs
       | [1]. Not having to context switch between the editor and browser
       | is great. With Emacs being a text paradise, there are all sorts
       | of possible integrations, like babel integration to elisp [2] or
       | SwiftUI [3].
       | 
       | In addition to a shell, functions for inserting GPT responses can
       | be pretty neat too. For example, creating org tables [4].
       | 
       | [1]: https://xenodium.com/chatgpt-shell-available-on-melpa
       | 
       | [2]: https://xenodium.com/images/chatgpt-shell-available-on-
       | melpa...
       | 
       | [3]: https://xenodium.com/images/chatgpt-shell-available-on-
       | melpa...
       | 
       | [4]: https://raw.githubusercontent.com/xenodium/chatgpt-
       | shell/mai...
        
       | yewenjie wrote:
       | Charmbracelet recently developed 'mods' which has some cool ideas
       | around Unix pipes.
       | 
       | https://github.com/charmbracelet/mods
        
       | lbeurerkellner wrote:
       | It's still a bit hacky in the current PyPi version of LMQL, but
       | you can also use it from the command line, just like `python -c`:
       | echo "Who are you?" | lmql run "argmax '\"Q:{await input()}
       | A:[RESULT]';print(RESULT) from 'chatgpt'" --no-realtime
       | 
       | Gives you: I am an AI language model created by OpenAI.
       | 
       | I am one of the LMQL devs and we plan to also add a little more
       | seamless CLI interface, e.g. to support processing multiple lines
       | of text (e.g. quick classification tasks).
        
       | chaxor wrote:
       | There are plenty (perhaps far too many) tools for doing basically
       | `curl` to OpenAI. _Local_ LLM tools _are_ needed however; and are
       | much better for deploying systems on terabytes of data at
       | fractions of the cost.
        
         | simonw wrote:
         | Yeah, that's on my roadmap for "llm " (hence the name) - I want
         | to be able to use the same tool to execute against local models
         | as well.
         | 
         | Everything that goes through the tool can be logged to SQLite
         | so this should make it easier to build up comparisons of
         | different models.
        
       | anotherpaulg wrote:
       | I use the aichat [1] command line tool a lot for these sort of ad
       | hoc chats. It takes piped input and has nice configurability for
       | setting up a variety of system prompts ("roles"), etc.
       | 
       | If you want to use GPT-4 to manipulate and edit files in your
       | local file system, you can use my cli tool aider [2]. It's
       | intended for generating and editing code, but you can use it to
       | chat with GPT-4 to read, edit and write any text files in your
       | local. If the files are under git source control, it will commit
       | the changes as they happen as well.
       | 
       | Here's a transcript of aider editing the ANSI-escape codes in an
       | asciinema screencast recording, for example[3].
       | 
       | [1] https://github.com/sigoden/aichat
       | 
       | [2] https://github.com/paul-gauthier/aider
       | 
       | [3] https://aider.chat/examples/asciinema.html
        
       | aqme28 wrote:
       | I have a basic python script running in one of my tabs on my CLI
       | to talk to OpenAI. It's not even 50 lines. It's basically just a
       | while loop for user input, which it then sends to the the ChatGPT
       | API and prints the response. Add a try/catch for rate limits and
       | connection issues and that's it.
       | 
       | It's really nice to have an always-open ChatGPT equivalent in one
       | of my terminal tabs that I can switch to at any time.
        
       | juujian wrote:
       | There is also ShellGPT: https://github.com/TheR1D/shell_gpt/
        
       | akisej wrote:
       | Very cool, but curious if you see people actually directly
       | interacting with LLMs vs in a script as part of a larger
       | application? I see myself needing debugging, visualizing output
       | etc. so much that an IDE makes more sense to me as an interface,
       | so want to learn about cases where that doesn't.
        
         | taylorfinley wrote:
         | I've been using a Jupyter notebook from vscode as my primary
         | interface to GPT lately. Ticks all the boxes for me.
        
       | H8crilA wrote:
       | I wonder how many different ways people use to do basic ChatGPT
       | queries.
       | 
       | My preferred method is to run a WhatsApp bot, this way I can
       | easily use the LLM also on my phone. And on a computer I just use
       | WhatsApp web, which I keep running anyways. Also this method
       | natively supports iterated conversations.
       | 
       | That, plus some scripts for repetitive stuff.
        
         | krat0sprakhar wrote:
         | That's sounds great! Can you share some docs on WhatsApp bot?
         | IIRC, those APIs were only available to businesses and not
         | individuals.
        
           | H8crilA wrote:
           | The OpenAI API is available to everyone. I've spent well over
           | $100 just trying various things out over the past two months.
           | I was not trying to save on it, you can do quite a lot even
           | on $10, just make sure to do some napkin maths before you
           | query som endpoint a lot of times. For example it's a lot
           | easier to spend a lot on Dall-e than it is on GTP-3.5
        
             | krat0sprakhar wrote:
             | Sorry for not being clear - I was referring to the Whatsapp
             | Bot API :)
        
         | just-ok wrote:
         | If you haven't heard, there's an official iOS app[1], so that's
         | probably a far more efficient/private alternative to a custom
         | bot.
         | 
         | [1]: https://apps.apple.com/us/app/openai-chatgpt/id6448311069
        
         | ignorantguy wrote:
         | How do you do this? I am interested to learn more about this.
         | Any documentation would be awesome
        
           | H8crilA wrote:
           | Try a Google search for GitHub projects that do that. Or
           | really any other GPT idea. People are building many copies of
           | everything, so I'm not even going to recommend the one that
           | I'm using because there's probably a better one already :).
           | It's simple code so you can also modify it to your liking.
        
       | tbiehn wrote:
       | I keep plugging my own... yet another API invoker - with parallel
       | queries, templates, and config files written in Golang;
       | https://github.com/tbiehn/thoughtloom Has some interesting
       | examples, but I expect the population of users to be constrained
       | to the 5 of us that enjoy CLI, jq, and writing bash scripts.
        
       ___________________________________________________________________
       (page generated 2023-05-18 23:00 UTC)