3 ms·
This is cool, but does no one even look at what libraries they're shipping anymore? I mean, why does this Clippy-style LLM interface bundle: - A JavaScript imp
by rafram 1y ago
This is cool, but does no one even look at what libraries they're shipping anymore? I mean, why does this Clippy-style LLM interface bundle:
- A JavaScript implementation of the Jinja templating language
- A full GitHub API client
- A library that takes a string and tells you if it's a valid npm package name
- A useless shim for the JavaScript Math module
And 119 other libraries? This thing would have taken up 10% of the maximum disk space available on a Windows 95 FAT16 volume.
- anaisbetts 1y agoSo to be clear, your complaint is that the nostalgia Clippy app that puts a cartoon paper clip on your desktop, isn't efficient enough?
- rafram 1y agoI think it’s legitimate to ask why these dependencies are necessary. LLMs have created whole new classes of vulnerabilities, and things like a GitHub client (which downloads arbitrary data/code) and a templating engine (which executes it) expose an even larger attack surface. If someone’s going to get RCE on my machine, I don’t want it to be through the silly Clippy LLM UI, you know?
- criddell 1y agoMaybe it was vibe coded and the libraries were added while going down paths that turned out to be dead ends and the LLM never cleaned up after itself?
- coder543 1y agoPeople have been perfectly capable of making that mistake themselves since long before "vibe coding" existed.
- deleted 1y ago[deleted]
- NitpickLawyer 1y ago> A JavaScript implementation of the Jinja templating language A guess without looking into the code: Jinja templating is used to define how to prompt the model (i.e. system first, then this specific character / token, then user, then if it's a tool prepend this and append that, etc.)
- xyc 1y agoIt seems that this is possibly not necessary, since LLaMA.cpp already integrates Jinja with CPP implementation (through minja)
- felixrieseberg 1y agoThe real answer is that some of us (the Electron maintainers) have been playing with local LLMs in desktop apps and right now, node-llama-cpp is by far the easiest way to experiment - but it's also not meant for desktop apps and hence has _a lot_ of dependencies. In general, pruning libraries in Electron isn't as easy as it should be - it's probably something for us to work on.
- pvg 1y agoI think this is explained on the linked project page: This project isn't trying to be your best chat bot. I'd like you to enjoy a weird mix of nostalgia for 1990s technology paired with one the most magical technologies we can run on our computers in 2025. You might be looking for the more minimalist Grumpy which is hand-hewn from a pure silicon monocrystal.