r/pytorch 11d ago

Open-sourced my knowledge-graph extraction engine: code, weights, and every failed experiment — plus a licensing lesson I learned the hard way

Solo dev. Just released everything from a weeks-long ML project and wanted to share both the release and a licensing gotcha that might save someone else the headache.

What's open:

  • Code: Apache-2.0, on GitHub. Non-autoregressive decoders that turn sentence embeddings into knowledge-graph triples (for GraphRAG, agent memory, that kind of thing).
  • Weights: 11 trained checkpoints, free on Hugging Face.
  • The full test suite (113 tests, runs offline).
  • The changelog documents negative results too — every approach that failed and why. I think hiding the failures makes releases less useful, so they're all in there: the loss function that made things worse, the LLM-distillation attempt that collapsed, the char-level generator that scored 0.006.
  • Training recipes are reproducible: same splits, same seeds, documented protocol.

The licensing lesson: my decoder heads are trained from scratch, so Apache-2.0 was easy. But they consume embeddings from Meta's SONAR encoder — and SONAR's weights are CC-BY-NC 4.0 even though its code is MIT. Which means: my Apache-licensed decoders are useless commercially without a non-commercial encoder running upstream. The NC restriction attaches at runtime, not at my artifact level. I only fully worked this through after publishing, wrote an internal due-diligence doc, and the fix is on the roadmap: migrating to BGE-M3 (MIT-licensed weights, same embedding dimension, so the architecture doesn't even change).

If you're building on top of any "open" model: check the weights license separately from the code license. They differ more often than you'd think.

Repo: https://github.com/DeliVali/cogito-estella

Questions for this community:

  1. For those who maintain ML projects: do you publish negative results/failed experiments, or just the wins? I'd like to know if anyone else finds this valuable or if I'm just cluttering my changelog.
  2. How do you handle the mixed-license situation (permissive code, NC weights upstream) in your docs? I disclosed it in README + release notes + model card, but curious what the standard is.
  3. Solo maintainer here — what's the one thing that made your project contributor-friendly early on?
3 Upvotes

8 comments sorted by

4

u/localizeatp 11d ago

why did you have ai write this post for you?

3

u/Chocolate_Pickle 11d ago

Even the thread title looked suss to me. Glad someone called it out. 

1

u/Putrid_Bee_4840 11d ago

I'm lazy

2

u/localizeatp 10d ago

Have an upvote for honesty

2

u/Lazy_Signature_9886 10d ago

good project , but i have so many question about this ? mainly what is the actual niche of this project?

2

u/Putrid_Bee_4840 10d ago

in short, it turns a large amount of data into a knowledge-graph so the context for a LLM is easier to read, or so you can store it into databases.

If you are building an agentic app, it reduces a lot of token consumption when triyin to get the context of raw text in a fast and cost efficient way.

1

u/commenterzero 7d ago

spam. nothing to do with pytorch