how prevalent are ONNX models, or doing model transformation from some other format into ONNX
thanks, I suspect that a longer running process may be viable
Yes I am using clojure for long running processes, but that one utility needed the optimization.
can you say more about performant? do you mean the time it takes for Clojure to load the model, or evaluate the model, or no easy way to "run on GPU" the function, and experiencing CPU-level performance... or (d) all of the above?
clojure startup costs on top of the model load and cpu only all added up for a git extension that would run on every commit to create the vectors into the ref index. I optimized where I could, and the only thing i couldn't optimize at all really was the clojure startup. Prototyping the extension in clojure was great, and I would do it that way again. The nice part was having worked out all the bugs and how everything should work, pointing the LLM at the working code and telling it to port to rust was very smooth and fast.
I think it is, I used it for a tool to add similarity search to git repos in rust. I started with ONNX in clojure, but it's not portable enough and the startup cost is high, so re-did it in rust. Having the code working in clojure meant the rust implementation was about 1 hour of work for opus to make the rust port. https://github.com/michaelwhitford/git-embed
ie if you cared about model portability, or plug-and-play of different models into a standard runtime, is ONNX the best game in town, or is there something better?