Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] pinned messages ⭐ #109

Open
1 of 3 tasks
harlanlewis opened this issue May 8, 2023 · 3 comments
Open
1 of 3 tasks

[Feature Request] pinned messages ⭐ #109

harlanlewis opened this issue May 8, 2023 · 3 comments
Labels
depends The issue depends on another issue being closed

Comments

@harlanlewis
Copy link
Contributor

harlanlewis commented May 8, 2023

Writing this as a FR before I make an attempt at it.

I often find myself keeping an entire conversation in my history or exporting a full conversation just to keep an individual message or two for reference. The conversation context is not important.

I'm thinking of adding:

  • a pin message action for each user and assistant message
  • a pinned messages view, accessed from the conversations menu, that displays each pinned message.
    • with some exceptions, this view is effectively a read-only conversation
    • no link or other reference to original conversation, pinned messages are preserved even if original conversation is deleted
    • pinned messages can be manually removed using existing Clean up or Delete
    • messages cannot be run again, retry, etc
    • Composer is not available in pinned messages view
    • because this "conversation" contains only existing messages, it doesn't need to be subject to any context limits or other LLM API constraints
    • potential enhancement (haven't thought about where/how): an LLM-labeled nav list of all pinned messages

Update:

@enricoros
Copy link
Owner

This is a very interesting idea, and thanks for posting it here for feedback (note: the same could be posted on discord, it is quite active).

A couple of feedback items for your consideration. Feel free to ignore tho.

  • relation to 'visibility'. To overcome the context window limitation, people floated the idea of having a 'hide' (per-message) flag, users could set a message to be transparent (hidden) when it can be skipped for the context window. And when the user doesn't set the flag, the system may, when sending a new chat. Where does it relate to yours: this could be a per-message flag/enum that may or may not related to a 'pinned' flag

  • DConversation? DConversation is the data structure of the 10 conversations, contained in the Chat-Store (local storage). One way to implement your idea is to add a separate DConversation in that list, with a special ID that changes the UI behavior (menus, composer, ..) when that conversation is active. Alternatively it could be a new object in the Chat-Store, or could be a new Store altogether, just with pinned-messages state

  • in any case, I feel like the Pin/Unpin message menu button should toggle the flag of an individual message (of a conversation), and add/remove that message to the "Pinned messages" conversation

I like the idea, and I'm curious about the impl!

@enricoros
Copy link
Owner

I often find myself keeping an entire conversation in my history or exporting a full conversation just to keep an individual message or two for reference. The conversation context is not important.

Just realized the brilliance of this FR. Did you look into it? This should be on the roadmap. Substitutes the needs for pinecone (for chats) entirely, by transferring the "selection and filtering" task to the human "pinner".. love it.

@enricoros
Copy link
Owner

Added to the roadmap. This depends on #202 . A Pinned message will be copied as a piece of text to an internal store, to be referred upon by later.

@enricoros enricoros changed the title [Feature Request] pinned messages [Feature Request] pinned messages ⭐ Nov 16, 2023
@enricoros enricoros added the depends The issue depends on another issue being closed label Dec 18, 2023
enricoros added a commit that referenced this issue Mar 15, 2024
enricoros added a commit that referenced this issue Mar 15, 2024
@enricoros enricoros added this to the 1.15.0 milestone Mar 15, 2024
@enricoros enricoros removed this from the 1.15.0 milestone Mar 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
depends The issue depends on another issue being closed
Projects
Status: Requests
Development

No branches or pull requests

2 participants