-
Notifications
You must be signed in to change notification settings - Fork 159
feat: support serving #1228
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
feat: support serving #1228
Conversation
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
cc @gaocegege @VoVAllen It's not 100% finished, but I think you can take a look |
To test this PR, you can try: def build():
dev_tools()
install.conda()
install.python()
install.python_packages(name=["ipython"])
install.apt_packages(name=["ripgrep"]) |
I think we can keep jupyter since it is used frequently. Maybe we could have a new package |
We should schedule v0.3.0 for the PR. Since it is a breaking change to user interface. WDYT |
Yep.
|
I think we can move jupyter to envdlib. If it's not convenient enough for user, we can embed envdlib and include it automatically. Also what's our plan if install.python is called without install.conda? |
For now, it will still install conda. I didn't find a "portable Python". |
If we embed the envdlib, there is no difference between envdlib and |
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
|
I think it should be handled by users. And we do not need to copy certs to it. |
Could we not care about the user? It only be added with |
No, we have to. Without the certs, mamba cannot download the required libraries to create a Python env. And you can get the certs if you install
Now it hard codes as |
BTW, without these libraries, we will need to use |
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Check the progress on the top of this PR. I prefer to implement the rest in other PRs. It's ready to review. cc @gaocegege @VoVAllen A bug needs your help: the envd user is not added to the sudo group. I don't know why. You can try it with: def build():
dev_tools()
install.python()
install.python_packages(name=["via"])
install.conda()
install.conda_packages(name=["exa"])
def serving():
install.conda(use_mamba=True)
install.python(version="3.9")
install.python_packages(name=["via"])
install.conda_packages(name=["exa"]) The serving image needs to run with |
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
UpdateDeleted def build():
# dev
base(dev=True)
...
# serving
... Changed to use Fixed user group bug and vscode merge bug. PTAL @gaocegege @VoVAllen |
May I ask why e2e test fails? |
I haven't changed the envd file under the test folder. So it should always fail. If you're okay with the code change, I can update all the test files. |
Could you please update the latest demo here? |
The code change LGTM. |
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
Signed-off-by: Keming <kemingyang@tensorchord.ai>
* init base and install Signed-off-by: Keming <kemingyang@tensorchord.ai> * wip Signed-off-by: Keming <kemingyang@tensorchord.ai> * fix build Signed-off-by: Keming <kemingyang@tensorchord.ai> * work for dev Signed-off-by: Keming <kemingyang@tensorchord.ai> * change cuda to a image+cuda+cudnn match Signed-off-by: Keming <kemingyang@tensorchord.ai> * install python without conda Signed-off-by: Keming <kemingyang@tensorchord.ai> * add cert Signed-off-by: Keming <kemingyang@tensorchord.ai> * fix PATH when dev is false Signed-off-by: Keming <kemingyang@tensorchord.ai> * use python without absolute path Signed-off-by: Keming <kemingyang@tensorchord.ai> * install conda with multi stage build Signed-off-by: Keming <kemingyang@tensorchord.ai> * support conda for non-dev env Signed-off-by: Keming <kemingyang@tensorchord.ai> * support mamba, fix sudo group and user directory llb Signed-off-by: Keming <kemingyang@tensorchord.ai> * fix mamba, really buggy Signed-off-by: Keming <kemingyang@tensorchord.ai> * algin py default version Signed-off-by: Keming <kemingyang@tensorchord.ai> * fix mount for dev Signed-off-by: Keming <kemingyang@tensorchord.ai> * fix vscode merge Signed-off-by: Keming <kemingyang@tensorchord.ai> * fix user group bug Signed-off-by: Keming <kemingyang@tensorchord.ai> * use curl image to replace buildpack curl Signed-off-by: Keming <kemingyang@tensorchord.ai> * base(dev) Signed-off-by: Keming <kemingyang@tensorchord.ai> * fix e2e test Signed-off-by: Keming <kemingyang@tensorchord.ai> * fix e2e test and envd init Signed-off-by: Keming <kemingyang@tensorchord.ai> * fix init test Signed-off-by: Keming <kemingyang@tensorchord.ai> * fix e2e conda dev Signed-off-by: Keming <kemingyang@tensorchord.ai> Signed-off-by: Keming <kemingyang@tensorchord.ai>
Breaking changes:
base(image, dev)
install.conda()
install.python()
install.r_lang()
not implemented yetinstall.julia()
not implemented yetconfig.jupyter()
move to envdlib (TBD)config.rstudio_server()
move to envdlib (TBD)