-
Notifications
You must be signed in to change notification settings - Fork 121
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
✨ installable elia #3
Conversation
Oh, this is awesome, I love it! 👏 I really like the CLI idea, but I think I'd prefer it if we flattened the commands so it would just be We could even add the For Some other general info/context floating around my head that I haven't documented anywhere... I haven't worked on it in a little while, but I'm hoping to integrate Textualize/textual#2931 when it's ready (hopefully I'll finish it next week) - it turns out having multi-line input is quite useful for interacting with LLMs :) A little warning if you're playing with it - the biggest issue right now with Elia though is that it always attempts to send the full chat to the ChatGPT API. However, different models have different context lengths and we should only try to send as many messages as would fit into that context length. Basically, expect errors from the ChatGPT API after conversations surpass the context limit. There's already some code for computing the token length of each message (you can see it in the message info pop-up modal). I think Elia should just be sending the most recent N messages that fit within the context window of the chosen model to the API instead of the entire thread. |
✅ easy refactor, I agree.
✅ Done, this was an easy one too
Yeah, I like that a lot. A dropdown or something like that would be helpful. A nice place to display the current system message would be the header per chat as well
I've been keeping an eye on this one. It's going to be awesome. Besides multi-line selection I was thinking it would be neat to have a code snippet copy button to show up. Not sure how difficult this would be but being able to dump code to the clipboard could be useful in lots of markdown use cases.
🤔 I was wondering how that worked exactly. I've been keeping my conversations pretty short anyways. I will try to take a look at fine-tuning that context length when I get a chance. Having a delete button would be useful for the chat window. I find myself tidying up using |
3bebb5e
to
2c2b381
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, thank you very much!
Summary
TLDR; Install and run Elia with pipx
I wanted to try ChatGPT out as a TUI and stumbled upon Elia - really fantastic work, I'm blown away by the app. I decided to fork the project to make it more installable and include a CLI and came up with this feature branch. I hope you'll enjoy the new functionality. I think it will help other people to try the TUI out too.
Changes
elia
repo to be installed using directly from Githubpyproject.toml
to usetextual
from PyPI instead of local dev branchhumanize
librarycreate_database
functionality to a first-class member of theelia_chat
packageelia_chat/database/elia.sqlite
.click
CLI to the project allowing for interactions likeelia db reset
and additional CLI level documentationELIA_DIRECTIVE
environment variable.Considerations
ELIA_DIRECTIVE
. I'm happy to take that out or keep it as is.~/.elia/chat.db
or similar. Having a persisted database between installs would be convenient but require database migrations. Ultimately I went with its location atelia_chat/database/elia.sqlite
to use different databases per install.