Jev4j TypeSafe released jev4j, an MIT-licensed Java 17+ library that turns plain-English questions into ordinary Java values — booleans, enum constants, or points on a developer-defined scale — through TypeSafe's structured decision model Jev. The library sends one request per evaluation to either TypeSafe or OpenRouter, returns probabilities with every answer so callers can set thresholds, supports up to eight questions per request, and offers blocking or CompletableFuture calls plus a Spring Boot 4 starter. jev4j is available on Maven Central as io.github.maxsumrall.jev4j:jev4j-core, and its API may still change. jev4j lets you ask Jev https://docs.typesafe.ai/introduction , TypeSafe's structured decision model, a question in plain English and use the answer as ordinary Java: a boolean in an if , one of your own enum constants in a switch , or a point on a scale you define. Jev.NoulQuestion isRefundRequest = Jev.noul "Is this a refund request?" ; if jev.test "I want my money back ", isRefundRequest { System.out.println "Start the refund workflow" ; } Give it an enum and it picks a constant, so the compiler checks that you handled every case: enum Team { BILLING, DELIVERY, SUPPORT } String inbox = switch jev.evaluate "My parcel never arrived.", Jev.choice Team.class, "Which team can help?" .value { case BILLING - "billing-support"; case DELIVERY - "delivery-support"; case SUPPORT - "general-support"; }; Or ask it to place the input on an ordered scale: enum Mood { CALM, FRUSTRATED, FURIOUS } Mood mood = jev.evaluate "This is the third failed delivery ", Jev.score Mood.class, "How frustrated is the customer?" .nearestLevel ; nearestLevel rounds to a Mood . If you want the fractional score, call .value instead. These snippets use an evaluator called jev , which Get started get-started shows you how to build. Each evaluation sends one request to your provider, and providers can charge for it. Every answer comes with its probabilities, so you can set a threshold you-decide-how-sure-is-sure-enough and only act when the model is sure enough. You can also ask up to eight questions in one request and map the answers into a record several-questions-in-one-request , or pass a snapshot of your own data structured-input in place of text. Calls can block or return a CompletableFuture , and jev4j talks to either TypeSafe or OpenRouter. It works in plain Java and has a Spring Boot 4 starter spring-boot . For tests, you can build answers yourself and never touch the network. jev4j needs Java 17 or newer and uses the MIT license. jev4j is young, and the API may still change. Add the core library from Maven Central https://central.sonatype.com/artifact/io.github.maxsumrall.jev4j/jev4j-core , putting the latest release in place of YOUR VERSION :