Skip to content

nifi-jev

Apache NiFi processor that routes FlowFiles yes, no, review or failure based on a Jev yes/no question and a confidence band.

Projectbeta

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

TypeQuestionAnswers
Yes / noDoes this message describe an outage that needs human intervention?yes · no

How it works

  1. Configure API key, endpoint, pinned model and condition.
  2. Processor asks Jev the yes/no question for each FlowFile.
  3. Route to yes (p >= threshold), no (p <= 1 - threshold) or review.
  4. 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

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.

    ProjectbetaRust
  • Verifiable coding-agent runtime built on checkable execution graphs, listed with an optional Jev provider for bounded choices like routing.

    ServiceproductionTypeScript
  • AutoGPT agent platform, listed as adding Jev decision blocks for typed routing, filtering, scoring and confidence-gated next actions.

    ProjectproductionPython
  • Open-source workspace for building, deploying and monitoring AI agents and workflows, listed as integrating TypeSafe System One.

    ProjectproductionTypeScript
  • Workflow DSL for existing agents that uses Jev for the steps that are decisions and calls an agent only when investigation is needed.

    LibrarybetaTypeScript
  • Spring WebFlux starter: a semantic circuit breaker where Jev flags HTTP 200 responses whose bodies actually encode failures.

    ProjectbetaJava