simonw / simonw/llm

[FR] Resume partial conversations

Open
#372 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
12.5k
Forks
998
Avg merge
3d 13h
Merged PRs (30d)
10

Description

I often find myself wanting to modify some recent prompt while maintaining most of the previous conversation. (e.g. I have asked for a list of 10 ideas, then I ask for an elaboration on one of the ideas and decide that it is not to my liking and want to ask about the other idea without keeping the other response in context). One way this maybe could be implemented would be to add an additional two properties to the logged LLM chats. The first would just be an additional conversation specific id key (since currently all conversations have the same key) and the second would be a backwards link to the previous completions/prompts. That way you could resume a chat from any arbitrary points just by calling llm -c -cid xxxxxxx -qid xxxxxx.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing logged LLM chats and the llm -c -cid xxxxxxx -qid xxxxxx entry point. Define how conversation IDs and backwards links should work for existing and new chats, then verify that a prompt can resume from any arbitrary prior point without retaining later responses.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.