
Open-source semantic decision engine
OpenDecision is an open-source semantic decision engine designed to answer typed questions about application state and documents. It runs a local natural language inference model to process input and return structured values.
The engine solves the problem of translating unstructured data and application states into structured decisions by using primitives like choices, scores, and relations. It is built for developers who need to integrate semantic decision-making directly into their Python applications or via API endpoints.
Select one option from a set of criteria; returns the option name and probabilities (e.g., routing a support request to billing, technical, or sales).
Test a single statement and get a score from 0 to 1.
Use an ordered scale and get back a weighted score with probabilities.
Compare evidence with a statement and its opposite, returning supports, contradicts, unknown, or conflicted.
Ask questions about long text or JSON documents and receive answers with source passages.
Rank evidence and combine facts with rules to reach conclusions.
Runs a local natural language inference model rather than calling an external LLM service.
Use it in-process from Python, via POST /v1/systemone (state + typed questions), via POST /v1/documents/decide (documents + typed questions), or through a TypeSafe-compatible SDK endpoint.
Install via pip (pip install OpenDecision) or uv (uv add OpenDecision).
Pass application state as text, a typed question/instruction, and labeled criteria to an engine primitive.
The engine runs its local NLI model and returns structured values such as a choice name, a 0–1 score, weighted scores, or support/contradiction relations.
Open source under the Apache 2.0 license; no paid plans are offered. Installable free via pip or uv.
It answers typed questions about application state and documents using a local natural language inference model, returning structured values such as a chosen option, a 0–1 score, a weighted score, or a support/contradiction relation.
Yes. It is licensed under Apache 2.0 and hosted at deepanwadhwa/OpenDecision on GitHub.
Install with pip (pip install OpenDecision) or with uv (uv add OpenDecision), then follow the get started guide.
Four primitives: Choice (select one option, returns option name and probabilities), Noul (test a statement, returns a 0–1 score), Score (ordered scale, returns weighted score and probabilities), and Relation (compare evidence against a statement and its opposite, returning supports, contradicts, unknown, or conflicted).
Yes. The Document decisions feature lets you ask questions about long text or JSON and get answers along with source passages, via POST /v1/documents/decide.
Four ways: call it in-process from Python, POST state and typed questions to /v1/systemone, POST documents and typed questions to /v1/documents/decide, or use a TypeSafe-compatible SDK client with a local server.
No. It runs a local natural language inference model and returns structured values locally.
Yes. The docs include a demo where OpenDecision chooses actions for a bot in ViZDoom's Deadly Corridor (Skill 1, Skill 3, and Skill 5 recordings), plus insurance and GDPR examples and code examples for each primitive.