‹ BackHN Continuity

Thread

Show HN: Jevstiller – Distill Jev into a local model, with a disagreement bound

67 points · 16 comments · tgluck

Loading the complete thread in the background. This saved snapshot is available now. Refresh

  1. tgluck · · focus · HN ↗
    Author here. This puts a proxy in front of repeated Jev classification calls. At first everything goes to Jev; from Jev's answers it trains a small head on frozen sentence embeddings, picks a confidence threshold with an exact finite-sample bound so that at most 2% of all requests get an answer Jev wouldn't have given, and then answers the confident share locally at ~15 ms on a CPU. A permanent 2% audit keeps checking; if agreement breaks, everything falls back to Jev and it retrains.

    Known limits: agreement is not accuracy (if Jev is wrong, so is the local model); coverage tracks how consistent Jev itself is (22% on noisy tweet tasks, 80% on news); it speaks Jev's API only, an OpenAI-compatible front is on the roadmap. Since 0.4.0 the guarantee can also cover "would Jev have been unsure", which matters if your code routes low-confidence answers to review. Apache 2.0.

    1. wedg_ · · focus · HN ↗
      Woah cool idea. So it's almost a drop-in replacement for a typical Jev setup that just reduces your jev bill over time ?
      1. tgluck · · focus · HN ↗
        Thanks.

        Drop-in yes: point TYPESAFE_BASE_URL at it and nothing else changes.

    2. kodefreeze · · focus · HN ↗
      Isn't this against their ToS? Useful for hobby stuff.
      1. tgluck · · focus · HN ↗

        [dead]

      2. KetoManx64 · · focus · HN ↗
        Why would it be against the rules to use the previous answers that the AI model gave you within your own project? That's like saying you can't use your Claude code convo history to answer questions within your codebase.
    3. dotancohen · · focus · HN ↗
      It would be great if we could correct Jev's incorrect answers, even on a separate endpoint. Let me tell it what Jeff got wrong.

      What type of head is that? What type of model is that head part of?

      1. tgluck · · focus · HN ↗

        [dead]

        1. dotancohen · · focus · HN ↗
          Yeah, I kinda figured that head was the whole model, the way you phrased it. scikit-learn?
          1. tgluck · · focus · HN ↗
            No, plain numpy. It's full-batch Adam on cross-entropy against soft targets, about 80 lines.
            1. dotancohen · · focus · HN ↗
              I'll look into Adam, thank you!
    4. ricardobeat · · focus · HN ↗
      Please don’t post AI generated replies.
      1. dotancohen · · focus · HN ↗
        Why do you think that's AI?
  2. stephantul · · focus · HN ↗
    I am struggling to see how this page could become less informative. It contains absolutely 0 useful information. What does it actually train?
  3. gingersnap · · focus · HN ↗
    Is the local model similar to model2vec?
    1. tgluck · · focus · HN ↗
      Not really

      they distill different things. model2vec distills a sentence transformer into static embeddings, so the output is a faster general-purpose encoder.

      Jevstiller keeps the encoder frozen (bge-small by default) and distills Jev's decisions on one specific question into a small head on top of it

  4. mikelopez · · focus · HN ↗

    [dead]

  5. [deleted] · · focus · HN ↗

    [deleted]

  6. nyrolofounder · · focus · HN ↗

    [dead]

  7. ricardobeat · · focus · HN ↗
    This will obviously only work for simple text classification tasks, which is the least interesting possible use of Jev.
    1. tgluck · · focus · HN ↗
      Obviously it only helps when the same question is asked many times, but that's the case it's built for, and the case I have, every Jev question in my other project repeats thousands of times, and most Jev uses I've seen online look the same
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.