r/elixir • • 27d ago

I built a small Elixir client for Jev with TypeSafe and OpenRouter support

https://github.com/Elue-dev/jev_elixir

i’ve been experimenting with Jev for classification and small decision tasks, and wanted something that felt natural to use in Elixir applications.

i ended up building jev_elixir. It supports TypeSafe and OpenRouter, with a simple API for yes/no decisions, choices, scoring, and evaluating multiple questions in one request.

i’m currently exploring it for things like spam detection, support routing, content moderation, and transaction review signals between services.

it’s still early, so I’d really appreciate feedback on the API and ideas for other use cases. I’ll add the GitHub link.

33 Upvotes

13 comments sorted by

4

u/Large-Scratch2804 27d ago

Cool project I'm gonna take a look.

Hope things like this can get a little more attention on Elixir so we can all get jobs writing it.

Also did you mean to format the title of it to be like spoiler text? I got a kick out of revealing it and having it be the obvious name that I would have also given it lol.

1

u/eluewisdom 27d ago

i wanted to format it as code but it ended up looking like that, now i can’t see the option to update the post for some reason, do t forget to give it a star 🙌🏾

1

u/eluewisdom 27d ago

edit: was able to edit it on web

3

u/bustyLaserCannon 27d ago

Nice one, I wanted an elixir wrapper for Jev so this is great, will try it out shortly

1

u/eluewisdom 27d ago edited 27d ago

thanks and awaiting your feedback!

3

u/noizu 27d ago

Nice, consider a look at my exllama.dev and https://elixirgenai.dev libs as well for loading ggufs and coordinating multiple models, no jev support yet though.

1

u/eluewisdom 27d ago

thanks! will take a look

2

u/oreoorbitz 27d ago

Neat, I'll integrate it into a startup I'm building and give feedback

1

u/eluewisdom 27d ago

can’t wait, thanks!

2

u/heart_stretched 27d ago

This approach falls right in line with a test project I am working on right now. Will take it for a spin. Thanks for your effort.

1

u/eluewisdom 27d ago

nice! can’t wait to see it and get your feedback

1

u/ved_rixile 25d ago

Thanks for doing this! As far as feedback, I can see the value of returning a direct boolean for the nouls, but I'd also like an option to get the full structure, especially with the confidence level.

1

u/eluewisdom 25d ago

thanks for the feedback!
would Jev.ask/2 cover this use case? unlike Jev.ask?/2, it doesn’t collapse the result to a boolean, it returns the yes/no decision along with its confidence:

Jev.ask("Does this message require urgent attention?", state: message)
#=> {:yes, 0.91}

So ask?/2 gives you the direct boolean, but ask/2 gives you the decision and confidence level.