Skip to content

Move the third-party build / deploy scripts to a separate repository #506

New issue

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

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

Already on GitHub? # to your account

Closed
ggerganov opened this issue Mar 25, 2023 · 3 comments
Closed
Labels
build Compilation issues good first issue Good for newcomers help wanted Extra attention is needed

Comments

@ggerganov
Copy link
Member

It keeps bothering me to see these scripts in the source root.
They cannot live anywhere except in the root of the repo, so therefore it is time to go.

Task: create llama.flake or llama.deploy repo and move the scripts there.

@ggerganov ggerganov added help wanted Extra attention is needed good first issue Good for newcomers build Compilation issues labels Mar 25, 2023
@j-f1
Copy link
Collaborator

j-f1 commented Mar 28, 2023

Another option: move all of the source code to an src folder and leave the repo root for infrastructure things like makefiles/the README/support for packaging infrastructure.

@ggerganov ggerganov changed the title Move the Flake scripts to a separate repository Move the third-party build / deploy scripts to a separate repository Apr 5, 2023
@mdabir1203
Copy link

It keeps bothering me to see these scripts in the source root. They cannot live anywhere except in the root of the repo, so therefore it is time to go.

Task: create llama.flake or llama.deploy repo and move the scripts there.

I made a repo based on the instruction. Wanted to ask shall I include a readme ?
link: https://github.com/mdabir1203/llama.deploy/blob/main/README.md

@MostAwesomeDude
Copy link

In NixOS/nixpkgs#225058, downstream indicates that they'd prefer to see the Nix flake remain, because it ultimately gives upstream (you!) control over how everything is built and packaged. If you remove the flake, then somebody like @dit7ya will choose the packaging and it'll be added to nixpkgs. In particular, we'll probably break out ggml into its own expression, and patch it to do CPU checks at runtime. Then llama.cpp, whisper.cpp, and rwkv.cpp would each be based on that same single ggml expression.

This isn't actually desirable! Any given snapshot of llama.cpp, with its flake.nix and flake.lock, should be reproducible and have its own consistent ABI for models. This is because the flake depends on nixpkgs. But if we do it the other way around, then nixpkgs depends on whatever ABI happened to be in the given snapshot of llama.cpp. In practice, this means that users will usually have stale versions of both ggml and llama.cpp.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
build Compilation issues good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants