I had often gotten frustrated trying to parse the code at a bunch of different layers of abstraction just to make one change to a model or just see one detail of the implementation. On top of that, matching pre-trained weights to those edited models was pretty hard for me.
Agrippa consists first of a Python package that takes model architectures written in XML syntax and compiles them to ONNX, a general neural network format. That file can then be imported into PyTorch using the package and trained. Afterward, the model can be published to the zoo on the website. Other users can import entire models or parts of a model into their project. On the zoo, the XML makes it really easy to visualize the models down to every operation.
Overall the markup ideally forces people to make their code more local, so that all of the details for any part of the model are readily accessible. The details are also more explicit - things like initialization and weight sharing. All of the parameters are explicit and named as well.
I got sick of scanning through large json files to try and get a feeling for a dataset. Then when I wanted to remove some data, I was using control F - this is obviously dumb. Praetor is a flask app that lets you mix, edit, view, and export datasets for LLMs. The only pip requirement is flask. To keep it simple, the frontend is very straightforward. It uses an sqlite database and jinja templating under the hood.
Thanks for making this softeware! I was not sure exactly why i would need to use this software, or context, etc. But, after viewing the github repo and then coming back here to HN re-reading your comment above...it clicked a bit more. May i suggest that you add your above comment to your code repo/Readme file...so that others can benefit from it. In fact, you may - if time/inclidnation are available - add even more background ("Why") someone might want to use your software as well as example scenarios, common use-cases, etc. At a glance your software seems quite useful; so might as well help others understand how it can be useful for them! Again, kudos for building this!! :-)
Agrippa consists first of a Python package that takes model architectures written in XML syntax and compiles them to ONNX, a general neural network format. That file can then be imported into PyTorch using the package and trained. Afterward, the model can be published to the zoo on the website. Other users can import entire models or parts of a model into their project. On the zoo, the XML makes it really easy to visualize the models down to every operation.
Overall the markup ideally forces people to make their code more local, so that all of the details for any part of the model are readily accessible. The details are also more explicit - things like initialization and weight sharing. All of the parameters are explicit and named as well.