chore: restructure project into sub domains and move llm crates#31
Conversation
|
I really like the simplification of the scripts in the cargo makefile, and that it's a mininial change. The I'm not sure what kind of support cargo-make has for hierarchies of makefiles, but I like the idea in the issue about structuring them that way. But only with the addition that there must be a root makefile with commands that clean / update / build etc. everything together (while also having the ability to do so for only llm, for example). If you could make these improvements, I'd happy to merge. |
|
Alright I will work on these improvements and mention you when it's ready! |
def4235 to
d4f17c5
Compare
|
@vigoo you can check this out now! I have setup a hierarchy for the Makefile. |
Yeah this is the issue I ran into while working on #30. Temporarily ended up creating a new repo for my work to get around it and unblock myself. So cannot wait for this PR to get merged |
7e40df5 to
8d1f546
Compare
|
Alright so I spent some more time designing the scripts. I wanted them to be really reusable and require minimal changes from people introducing new crates. Instead of hard coding make tasks in the root makefile I have chosen to allow these sub tasks to be run dynamically. cargo make buildWill build all crates across all domains. cargo make build llm (or any other incoming domain)Will build all crates in the llm domain only. To run for individual crates then the approach to use is to call the nested Makefile directly (this assumes that the file in the nested directory is named Makefile.toml): cargo make --cwd llm build-openaiIf desired I can spend some more time and implement something like: cargo make build llm/openaiBut at this point it feels like overkill that doesn't provide much value. |
|
Looks good. Let's go with this if the CI passes, we can refine it as more code is added if needed! |
|
Let me update the script.  |
|
@vigoo approve this workflow. It should work now. I changed to using the duckscript runner. |
What's new?
Create a parent folder for all LLM related features. This is the first step in organizing the project to accommodate all the different domains that will be introduced (embed, vector, graph, etc).
I will mention this PR after it gets merged in the relevant issues so that the bounty hunters can take note of this.
/claim #29
closes #29