DeciFlow
Make fast AI decisions across diverse datasets and automate follow-up workflows your way.
Installation and Configuration → INSTALL.md
Choose PyPI: pip or uv tool, Docker Compose with Git Clone, or Direct Processes with Git Clone. The installation guide covers prerequisites, engine connections, storage, authentication, startup, verification, and maintenance for each method.
Overview
DeciFlow turns text logs and structured conversation records into typed AI decisions, keeps the evidence available for human review, and can run Python Actions after classification. It reads local, SSH, and HDFS Sources and displays results in a browser. Existing files can be investigated in Batch mode; Realtime mode follows new log events.
The Laya server runs the decision model on the same host or a separate host. Jev is an alternative paid hosted inference API. DeciFlow reads the data and sends events to the selected engine. Laya is the default, with no automatic fallback to paid Jev. DeciFlow nodes connected to a shared Laya server need no local GPU or PyTorch. OAuth2-Proxy optionally provides Google sign-in and HTTPS.
Concepts
| Component | Role |
|---|---|
| Source | A reusable local, SSH, or HDFS input definition. TEXT uses event chunks; JSONL processes one object per line. |
| Criteria | A named profile defining the decisions, options, instructions, and review rules for an event. |
| Decision | A choice, score, or noul judgment. A profile can combine multiple named decisions in one request. |
| Action | Optional Python code that runs after a classification; outcomes are recorded separately. |
| Task | The Source, Criteria, chunk settings, optional Actions, and execution schedule to use together. |
| Run | One execution of a Task, with frozen settings, progress, results, and history. |
| Review | Typed human corrections stored alongside the original AI predictions. |
The workflow is Source → Criteria → optional Actions → Task → Results → Review. Batch Tasks run manually or on a schedule. Realtime Tasks monitor new events until stopped. Active runs retain their original settings when definitions are edited. DeciFlow does not create tickets automatically; follow-up behavior belongs to Actions.
Architecture
DeciFlow reads an event, applies the Task's Criteria through Laya or Jev, validates the response, and stores results and Action outcomes in SQLite. Source readers and inference share bounded concurrency. Multiple SSH Hosts produce unified results while retaining per-host collection status. The UI can reconnect to a run without repeating classification; Tasks continue when the browser is closed.
Definitions, run history, original inputs, decisions, and reviews persist in the data store. Checkpointed Batch and Realtime runs can resume after a server restart; paused runs remain paused. Recovery validates that the original files still match. See Task recovery and Result Storage for requirements and limits.
Capabilities
- Flexible decisions: combine category choices, probability-weighted scores, and yes/no probabilities. System profiles cover Normal, Warning, Error, Security, Other, urgency, and work-ticket probability.
- Evidence and review: inspect probabilities, Criteria, raw provider responses, format-validation failures, and human corrections. Export complete or reviewed results as JSON. Certain does not guarantee accuracy.
- Investigation and monitoring: Batch and Realtime Tasks, cron schedules, pause/resume, multi-host inputs, and durable history.
- Result exploration: charts, whole-run filters, cursor pagination, and shareable URLs. Decision filters affect result cards; other filters also update Overview. Display choices do not trigger new inference.
- Measured processing: run-level elapsed time, throughput, and latency percentiles. Filtering and pagination do not change run metrics.
- Controlled automation: Python Actions, recorded execution errors, reusable settings, reference checks, and confirmation for destructive maintenance.
- AI-assisted Criteria: draft or revise profiles with OpenAI after reviewing sample data. Authoring is separate from classification and incurs API charges; see Criteria.
Example Applications
Operational logs are the starting point: access logs, application failures, and system events. Bundled consultation examples also demonstrate decisions about inquiry type, handling status, follow-up ownership, urgency, and follow-up need.
| Bundled Example | Purpose |
|---|---|
| Sample VOC Asia Culture Center Consulting QnA | Classify complete customer-agent conversations and review outstanding follow-up. |
| Sample VOC Central Gov Consulting QnA | Distinguish policy explanations, application guidance, referrals, and outstanding agency actions. |
| Sample VOC Local Gov Consulting QnA | Classify local-government inquiries and commitments supported by conversation evidence. |
Bundled sample names begin with Sample. The consultation Criteria are Korean; they do not verify current law. Samples demonstrate a workflow, not a measured accuracy guarantee. Traffic analysis, manufacturing decisions, and image inspection would require additional integrations and domain validation; image inspection also requires a vision model.
Limits and Data Handling
- File reads are incremental, but memory use still depends on active files and event size. Automatic multiline event-boundary detection is not implemented.
- Laya and Jev have request budgets and provider-specific limits. Truncated or invalid responses are rejected; inspect result warnings and response details.
- Wildcards select matching files, not just text logs. Binary/compressed files and both active and rotated copies can cause failures or duplicate analysis. Local read/UTF-8 failures stop the run; SSH reader failures are recorded per Source/Host.
- Realtime monitoring waits for complete lines. Rotation leftovers are marked
incomplete; rapid rotation and copy-truncate/regrowth can lose events. - Higher client concurrency does not guarantee greater inference throughput. Engine capacity and admission limits apply.
- Laya receives inputs on your selected server; Jev sends them to TypeSafe and incurs charges. Optional AI authoring sends reviewed samples to OpenAI. Result storage includes original inputs and Action outcomes. Protect data and backups; disk retention is not automatic.
See Sources, Usage, and Configuration for detailed behavior and limits.
Documentation
| Guide | Contents |
|---|---|
| Installation and Configuration | Three complete installation methods, deployment settings, and lifecycle commands |
| Documentation Index | All user guides and technical references |
| Tasks | Execution modes, scheduling, history, and recovery |
| Sources | Input formats, paths, SSH trust, and HDFS |
| Criteria | Typed decision profiles and AI-assisted authoring |
| Python Actions | Follow-up code, environments, and outcomes |
| Usage | Navigation, charts, filters, review, export, and timing |
| Result JSON | Request/result examples and field reference |
| Configuration | Environment reference, operational overrides, logging, and maintenance |
| Development and Releases | Tests, model evaluation, package verification, and publishing |
Metadata
Release files for deciflow 0.6.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| deciflow-0.6.9.tar.gz | 3.0 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| deciflow-0.6.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.0 MB
Release files / deciflow-0.6.9.tar.gz
| Download URL | deciflow-0.6.9.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5397c658387e34dd02514b3e9329ab112869cb49993eaa44d75e110225295bae
|
|
BLAKE2b-256 checksum How to use checksums |
7565c707c02e58e1631fa3f3769c393bc01ef4fc6ac9be6bfd1d21136e864b48
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logRelease files / deciflow-0.6.9-py3-none-any.whl
| Download URL | deciflow-0.6.9-py3-none-any.whl |
|---|---|
| Size | 3.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
67e39a712078f89aad1c11c09c6cfe896f7b9151300d572b16c6f6764ff44900
|
|
BLAKE2b-256 checksum How to use checksums |
d3dbb86d2d7da337cb1837677acecd9c5cbe34afcd879f21f80c198217b6c7d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logSecurity for deciflow 0.6.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for deciflow-0.6.9.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.