Live data from Hacker News

LLama.cpp now has a web interface

github.com

21–30 of 54 posts

Re: LLama.cpp now has a web interface

#22

I'm always wondering about the, I don't even know what to call this, etiquette? of proposing PR's to projects like these that add a feature or a demo or whatnot to the main branch of a very focused project by adding something that is very different in interface, language, set and setting etc. So in this case, Tobi made this awesome little web interface that uses minimal HTML and JS as to stay in line with llama.cpp's…

I generally think it's fine to do this sort of thing for your own benefit and open a PR as long as you're really 100% fine with "no, I'm not interested in merging this" being the answer.

Where the problems tend to arise (in my experience, at least) is when people hack on something expecting that it will be merged, get invested in it, and then get upset when the maintainer(s) aren't interested.

Checking in before starting to work on something is important if your goal is to have it merged, not just to do the work. The problem is that a lot of people start in the first category, but then move into the second category as they get invested in their project.

Re: LLama.cpp now has a web interface

#23

I'm always wondering about the, I don't even know what to call this, etiquette? of proposing PR's to projects like these that add a feature or a demo or whatnot to the main branch of a very focused project by adding something that is very different in interface, language, set and setting etc. So in this case, Tobi made this awesome little web interface that uses minimal HTML and JS as to stay in line with llama.cpp's…

[deleted]

Re: LLama.cpp now has a web interface

#25

I'm always wondering about the, I don't even know what to call this, etiquette? of proposing PR's to projects like these that add a feature or a demo or whatnot to the main branch of a very focused project by adding something that is very different in interface, language, set and setting etc. So in this case, Tobi made this awesome little web interface that uses minimal HTML and JS as to stay in line with llama.cpp's…

You just saw it happen in OP. Just do as others do and don't sweat this stuff. The principle is code sharing and an offer of a thing you've done.

Don't overthink it.

This is fantastic. I love the way he handles his project. Just great for adoption and contribution.

Re: LLama.cpp now has a web interface

#26

I'm always wondering about the, I don't even know what to call this, etiquette? of proposing PR's to projects like these that add a feature or a demo or whatnot to the main branch of a very focused project by adding something that is very different in interface, language, set and setting etc. So in this case, Tobi made this awesome little web interface that uses minimal HTML and JS as to stay in line with llama.cpp's…

A nice thing about llama.cpp is that it's well organized to accept a feature like this without really disturbing any other part or potentially stepping on someone's toes. There is the core repo and then this is on examples/server (as are various other "example" features). This organization feel like it would make it much easier to accept a pr like this than if doing the same thing required wider changes.

Re: LLama.cpp now has a web interface

#27
post #24

i'm importing from js cdns instead of adding them here FWIW this seems counter to llama.cpp's philosophy.

The philosophy in practice seems to be dirty deeds done dirt cheap rather than genuine simplicity (it only looks simple compared to python ecosystem)

Re: LLama.cpp now has a web interface

#28

> I tried to match the spirit of llama.cpp and used minimalistic js dependencies and went with the ozempic css style of ggml.ai. Ozempic? The anti-diabetes drug? That's either a glorious typo or an interesting new adjective...

I did a double-take when I saw that too. It’s now prescribed as a weight-loss drug and is very much in the zeitgeist so yeah I think it’s a new adjective. Personally I’m going to stick with “light weight”.

Re: LLama.cpp now has a web interface

#29

I'm always wondering about the, I don't even know what to call this, etiquette? of proposing PR's to projects like these that add a feature or a demo or whatnot to the main branch of a very focused project by adding something that is very different in interface, language, set and setting etc. So in this case, Tobi made this awesome little web interface that uses minimal HTML and JS as to stay in line with llama.cpp's…

My POV is that llama.cpp is primarily a playground for adding new features to the core ggml library and in the long run an interface for efficient LLM inference. The purpose of the examples in the repo is to demonstrate ways of how to use the ggml library and the LLM interface. The examples are decoupled from the primary code - i.e. you can delete all of them and the project will continue to function and build properly. So we can afford to expand them more freely as long as people find them useful and there is enough help for maintaining them. Still, we try to keep the 3rd party dependencies to a minimum so that the build process is simple and accessible

There was a similar "dilemma" about the GPU support - initially I didn't envision adding GPU support to the core library as I thought that things will become very entangled and hard to maintain. But eventually, we found a way to extend the library with different GPU backends in a relatively well decoupled way. So now, we have various developers maintaining and contributing to the backends in a nice independent way. Each backend can be deleted and you will still be able to build the project and use it.

So I guess we are optimizing for how easy it is to delete things :)

Note that the project is still pretty much a "big hack" - it supports just LLaMA models and derivatives, therefore it is easy atm. The more "general purpose" it becomes, the more difficult things become to design and maintain. This is the main challenge I'm thinking how to solve, but for sure keeping stuff minimalistic and small is a great help so far

> What if GG didn't want such a thing? When is something like this better for a separately maintained repo and not a main merge? How do you know when it is OK to submit a PR to add something like this without overstepping (or is it always?)

I try to explain my vision for the project in the issues and the discussion. I think most of the developers are very well aligned with it and can already tell what is a good addition or not

Re: LLama.cpp now has a web interface

#30

I'm always wondering about the, I don't even know what to call this, etiquette? of proposing PR's to projects like these that add a feature or a demo or whatnot to the main branch of a very focused project by adding something that is very different in interface, language, set and setting etc. So in this case, Tobi made this awesome little web interface that uses minimal HTML and JS as to stay in line with llama.cpp's…

Some tips/tricks/tidbits:

* Open a draft PR early in the process with a Request for Comment [RFC] tag. Explain your goal/approach in words, then follow up with code.

* Be succinct.

* Provide minimal viable examples and build more complex concepts from these.

* Accept feedback with grace, and execute promptly.

* Don't take personal offense if your work isn't merged, or even responded to.

* Single-maintainer open-source looks very different than consortium & working group FOSS.

Post reply on HN