nifi-jev
Apache NiFi processor that routes FlowFiles yes, no, review or failure based on a Jev yes/no question and a confidence band.
Overview
RouteWithJev is an Apache NiFi 2.12 processor that routes a text FlowFile according to a semantic yes/no question asked of TypeSafe Jev. It has four relationships: yes, no, review and failure. With a threshold such as 0.8, results at or above 0.8 go to yes, at or below 0.2 to no, and anything in between to review, along with empty, oversized or over-budget inputs. API errors go to failure. The README is in French.
Each FlowFile gets jev.route, jev.probability, jev.model and a SHA-256 of the state; since v0.1.3 the processor clears its own attributes on each pass so stale probabilities cannot linger after a failure. Keys and text are never written to attributes. Input size, timeout and call budgets are configurable. Tests use NiFi TestRunner with a synthetic local HTTP server and no real TypeSafe calls. Examples include incident routing and a one-call budget with human review.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this message describe an outage that needs human intervention? | yes · no |
How it works
- Configure API key, endpoint, pinned model and condition.
- Processor asks Jev the yes/no question for each FlowFile.
- Route to yes (p >= threshold), no (p <= 1 - threshold) or review.
- Refusals and budget limits go to review; API errors to failure.
Strengths
- Explicit uncertainty lane for human review.
- Stale attributes are cleared on each pass.
- Call budgets and input limits protect cost.
Caveats
- Tests use a synthetic server, not live TypeSafe calls.
- Docs in French; licence not stated.
Getting started
mvn -B verify, copy nar/target/nifi-jev-nar-0.1.3.nar into NiFi's extensions directory, then add the RouteWithJev processor.At a glance
- Type
- Project
- Status
- beta
- Language
- Java
- Runtime
- Apache NiFi processor
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Apache NiFi processor for TypeSafe Jev semantic routing with uncertainty lane.
wh000wh000/awesome-jev-live
Frequently asked questions
What happens to uncertain results?
Probabilities between the yes and no thresholds are routed to review.
Does it store the text or key in attributes?
No, only the probability, model, state hash and route.
Which NiFi version is supported?
NiFi 2.12, built with Java 21 and Maven 3.9.6+.
Related projects
Rust streaming event bus whose routing is decided by Jev, one question per subscription, with deliver, review or drop thresholds.
ProjectbetaRustVerifiable coding-agent runtime built on checkable execution graphs, listed with an optional Jev provider for bounded choices like routing.
ServiceproductionTypeScriptAutoGPT agent platform, listed as adding Jev decision blocks for typed routing, filtering, scoring and confidence-gated next actions.
ProjectproductionPythonOpen-source workspace for building, deploying and monitoring AI agents and workflows, listed as integrating TypeSafe System One.
ProjectproductionTypeScriptWorkflow DSL for existing agents that uses Jev for the steps that are decisions and calls an agent only when investigation is needed.
LibrarybetaTypeScriptSpring WebFlux starter: a semantic circuit breaker where Jev flags HTTP 200 responses whose bodies actually encode failures.
ProjectbetaJava