I looked at llm but it doesn't appear to have a mechanism for multi-shot prompting, where you provide both prompts and responses within your query. (Ref https://platform.openai.com/docs/guides/prompt-engineering/t... .) Maybe take this as a feature request?
It feels like the 'template' system in llm might be able to encompass this but the docs don't appear to provide a reference for the yaml format, only examples. I guess that is another feature request, sorry!
(BTW if you haven't seen https://docs.divio.com/documentation-system/ it really changed how I think about documentation)
With LLM you can do that using the undocumented Python Conversation API, but it's undocumented for a reason (I don't think it's good enough yet). You could also fake a previous conversation through the CLI tool but that is VERY undocumented - you would have to write fake rows into the SQLite database!
I also want to support the Claude thing where you can prefill the start of the response - amazing for things like forcing HTML by refilling an HTML doctype.
And what I expected of llm is for the template file to (optionally) contain an array of prompt/response pairs. You could even imagine the --save flag constructing one from an ongoing conversation of llm -c maybe.
$ openai api chat.completions.create -g 'user' 'say hello' -m 'gpt-3.5-turbo'
$ Hello! How can I assist you today?I use aichat: https://github.com/sigoden/aichat
I especially like the terminal integration where I can type a natural language request at the terminal and press Alt+E to have it converted to a command to run.
It is used as Bash widget, where you press CTL-F, describe your command, then press Enter, the generated command will be inserted into your shell prompt.
I need to integrate distil whisper large v3, aider, and shell_gpt to tidy up a lot of my disjointed LLM use. As someone else mentioned, the commits created by aider allow me to "skip" some intermediate steps that would be required when working on coding tasks with other frameworks.
We built http://github.com/robusta-dev/holmesgpt/ to investigate Prometheus/Jira/PagerDuty issues. We're able to get pretty good results (we benchmark extensively) because we use function-calling to give the LLM read acess to relevant data. I think we're the only open source AIOps tool, and the only AIOps tool period that does something more complex than RAG + summarization.
for example: I wrote a short bash script which uses yt-dlp and ffmpeg to download a song, convert it to my preferred format and then uses gemini to add metadata.
artist=$(gemini -s "Please respond with the name of the Artist based on
the songs title. do not use any other words, just the artist name.
example:
'Bruce Springsteen - Old Dan Tucker [S-GHbDFrwlU].opus'
Bruce Springsteen" -p "$opus_file" | tr -d '\n')very similar, although the ability to continue a conversation like you can in yours is a killer feature I wish it had.
Chaos.
You can find out more here: https://github.com/ferrislucas/promptr
npm i mktute
You can select between local model (ollama), claude 3.5 sonnet, or gpt-4. I've been surprised to find sonnet much better in performance and price for this task.
Open Interpreter lets LLMs run code on your computer to complete tasks. Eg "fix my python" or "make a movie out of the pictures in this directory."
What other CLI tools are people using to work with LLMs in the terminal?
There one comment here about https://github.com/paul-gauthier/aider and Ollama is probably the most widely used CLI tool at the moment: https://github.com/ollama/ollama/blob/main/README.md#quickst...