-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
trim the sandbox image and install plugin dependencies in agnostic image #2792
Conversation
|
No. The are unnecessary dependencies. We don't need install vim and nano at the same time. and bash is a system built-in dependency.
Yes, but it's not necessary. Removing these packages is mostly based on my experience. I will balance the image size and usability. For example,
I want to reduce the size as much as possible while ensuring usability. A size under 1GB is ideal.
I don't want any always-pull strategy. I want to prompt users to repull their image only when there's a breaking change. |
@Shimada666 Thanks for your effort. Here are some rough estimates for your reference:
I'm curious about why we need the if you add this to the apt stage, we can save about 100MB of space~
The miniforge3 is the root reason for the large image size. The official docker seems smaller than directly installed through the shell script. you can look at it here https://hub.docker.com/r/condaforge/miniforge3/tags
But it is based on the May we consider using the |
@iFurySt In fact, I am not sure if we still need gcc and g++ now, as their usage seems limited. The only scenario I encountered was during the Jupyter installation. Before, psutil would be installed in Jupyter installation. and the old version of psutil required gcc for installation. But in the new version of psutil, gcc is no longer needed. So, removing gcc should theoretically be feasible.
I need to think about whether to use Thanks again for your contribution! |
56d6ed9
to
efb9265
Compare
@tobitege |
I'll miss nano a little, it's a nice alternative for Windows users to not break their fingers with wild linux key combos 😂 |
😂 ok, nano isn't large, I'll add it back. |
Yay! 🤗 |
@tobitege Done. please take a look again! |
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.
LGTM. If issues arise, we know where to look. 😀
What is the problem that this fixes or functionality that this introduces? Does it fix any open issues?
As mentioned in the Slack discussion, our current sandbox image is a bit large and has some unnecessary dependencies. I want to remove these unnecessary dependencies to make the sandbox image smaller.
Also, we will install plugin dependencies in the dockerfile of the agnostic image (just like we do in the current sandbox image). This will significantly improve the startup speed for users using custom sandbox container image.
Give a brief summary of what the PR does, explaining any non-trivial design decisions
remove these:
parse_video
in agentskill. It's usually not needed, but it takes up many space. When it's really needed, we can have the LLM install it temporarily.Other references