Hybrid Intelligence Decision Support System for evidence-based strategic planning under information overload and uncertain signals.
It evaluates strategic plans against a transparent, traceable evidence base, integrates human strategic judgment throughout the workflow, and prepares results for strategic assessment.
Table of Contents
The system pairs a multi-step frontend workflow with a FastAPI backend that manages strategy stages, evidence scoring, and NLI outputs.
Solution Objectives (Hevner et al., 2004)
The following part is intentionally reduced to the conceptual structure and core stages. Detailed technical implementation and parameterization are documented in the project folder.
-
Preprocessing
The evidence base (for example forecast and risk reports in PDF format) is extracted, cleaned, split into chunks, and indexed as embeddings in a vector database together with source-related metadata. If needed, a language model converts content from charts or tables into NLI-compatible premises. -
Hypothesis generation
Strategic plans are transformed into declarative, NLI-compatible hypotheses. This enables consistent semantic matching with the vector database and NLI models. -
Information retrieval for candidate generation
The evidence base is reduced to relevant candidates. Relevance is determined with vector-based cosine similarity on L2-normalized representations. -
NLI-based pair scoring
Relevant evidence candidates are evaluated pairwise against the strategic hypothesis (support, contradiction, neutral). The resulting softmax scores quantify the strength of the semantic relation. -
Model-based evaluation (AI baseline)
For each dimension (forecast and risk, analogously), the mean and population variance of included evidence are aggregated.Let
S_F = {s_1, ..., s_n}be the set of included forecast evidence scores withs_i in [0,1].Based on
mu_F,sigma_F^2, andn, a normal-approximation uncertainty interval (z = 1.96) is computed and bounded to[0,1]: -
Hybrid score fusion
The alignment slidera_F in [0,1]shifts the AI baseline score:The stability slider
c_F in [0,1]scales the interval width:The output of this stage is the hybrid mean score
mu_F*and the hybrid interval[L_F*, U_F*], both constrained to[0,1]. -
Strategy derivation via area shares
The interval zones are placed as a rectangle in the GE-McKinsey matrix. For each cell(r,c), overlap area is calculated relative to the total overlap:The final output is a percentage-based Strategy Distribution across all matrix cells.
Define the strategic intent, segment, and region, or select a predefined plan.
Curate the knowledgebase by including or excluding evidence, with score guidance.
Adjust alignment and stability sliders to reflect the evidence signal.
Place evidence in the GE-McKinsey matrix and refine the final position.
Review strategic insights and the evidence foundation behind the recommendation.
Source document viewer for evidence traceability and report inspection.
React + Vite frontend for the Hybrid Intelligence Decision Support system. Focus: multi-step evaluation workflow, evidence curation, and visualization.
Requirement: Node.js >= 18
npm install
npm run dev.
|-- public/ # static assets
|-- src/
| |-- main.tsx # React root, router, providers
| |-- router/ # route definitions
| |-- pages/ # screen-level routes
| |-- layouts/ # app layout shells
| |-- components/ # shared UI components
| |-- features/ # workflow features (charts, selection, pdf)
| |-- data/ # datasets and matrix presets
| |-- lib/ # API client, helpers
| |-- hooks/ # UI hooks
| |-- styles/ # Tailwind entrypoint
| `-- types/ # type declarations
|-- index.html
|-- package.json
|-- vite.config.ts
|-- tailwind.config.js
|-- tsconfig*.json
`-- vercel.json
Each top-level folder represents a system responsibility.
+====================================================================+
||......................:: 1-Strategic Plan ::......................||
|| ||
|| strategic-plan.tsx ||
|| ||
+====================================================================+
v
+====================================================================+
||....................:: 2-Evidence Selection ::....................||
|| ||
|| evidence-selection-loading.tsx -> evidence-selection.tsx ||
|| ||
+====================================================================+
v
+====================================================================+
||....................:: 3-Evidence Reasoning ::....................||
|| ||
|| evidence-reasoning.tsx ||
|| ||
+====================================================================+
v
+====================================================================+
||...................:: 4-Evidence Positioning ::...................||
|| ||
|| evidence-positioning-loading.tsx -> evidence-positioning.tsx ||
|| ||
+====================================================================+
v
+====================================================================+
||.................:: 5-Recommendation Dashboard ::.................||
|| ||
|| recommendation-dashboard.tsx ||
|| ||
+====================================================================+
App entry point:
http://127.0.0.1:5173
Examples:
http://127.0.0.1:5173/login
http://127.0.0.1:5173/strategic-plan
http://127.0.0.1:5173/dashboardFastAPI backend for the Hybrid Intelligence Decision Support system. Focus: orchestrating strategy workflows, NLI stages, and scoring via HTTP.
Requirement: Python >= 3.12
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip poetry
poetry install
poetry run serve.
|-- app/
| |-- __main__.py # uvicorn entry point
| |-- main.py # app factory, CORS, health
| |-- api/ # HTTP routes (v1)
| |-- modules/ # hybrid services and schemas
| |-- pipelines/ # NLI stage scripts
| |-- infrastructure/ # paths, persistence, presets
| |-- config/ # settings
| |-- scripts/ # CLI helpers
| `-- data/ # default data/workdir root
|-- pyproject.toml
|-- poetry.lock
|-- pytest.ini
`-- README.md
Each top-level folder represents a system responsibility.
+====================================================================+
||..................:: Preprocessing artifacts ::...................||
+====================================================================+
v
+====================================================================+
||........................:: 2-Hypothesen ::........................||
|| ||
|| strategy_hypotheses.py ||
|| ||
+====================================================================+
v
+====================================================================+
||........................:: 3-Embeddings ::........................||
|| ||
|| forecast-reports | risk-reports ||
|| ||
+====================================================================+
v
+====================================================================+
||.......................:: 4-PremisePairs ::.......................||
|| ||
|| forecast-reports | risk-reports ||
|| ||
+====================================================================+
v
+====================================================================+
||.........................:: 5-Reports ::..........................||
|| ||
|| merge_pairs.py ||
|| ||
+====================================================================+
v
+====================================================================+
||........................:: 6-UserReview ::........................||
|| ||
|| add_user_status.py ||
|| ||
+====================================================================+
v
+====================================================================+
||.........................:: 7-Scoring ::..........................||
|| ||
|| score_summary.py | intervall.py ||
|| ||
+====================================================================+
v
+====================================================================+
||.....................:: 8-HumanKalibration ::.....................||
|| ||
|| human_calibration.py ||
|| ||
+====================================================================+
v
+====================================================================+
||.........................:: 9-Strategy ::.........................||
|| ||
|| compute_distribution.py ||
|| ||
+====================================================================+
- API layer: FastAPI app, v1 router, health endpoints.
- Service layer: modules/hybrid/services orchestrate workflow state and stage execution.
- Stages: app/pipelines/nli scripts for retrieval, NLI pairing, reports, scoring.
- State handling: workdir files under NLI_DATA_ROOT/NLI_WORKDIR and presets in PRESETS_DIR.
- Configuration: pydantic-settings loads .env and environment variables.
Environment variables are loaded from .env in the repository root (if present).
| Name | Responsibility | Default |
|---|---|---|
| APP_HOST | Bind address | 127.0.0.1 |
| APP_PORT | HTTP port | 8000 |
| APP_RELOAD | Auto reload | false |
| FRONTEND_ORIGINS | CORS allowlist | http://localhost:5173, https://hybridintelligence.dev |
| OPENAI_API_KEY | OpenAI API key for stage scripts | unset |
| NLI_DATA_ROOT | Base data directory | app/data/nli |
| NLI_WORKDIR | Stages workdir | NLI_DATA_ROOT/workdir |
| PRESETS_DIR | Preset files | presets |
| NLI_MODEL_NAME | Local NLI model | microsoft/deberta-large-mnli |
OpenAPI schema:
http://127.0.0.1:8000/openapi.json
Examples:
curl http://127.0.0.1:8000/health
curl http://127.0.0.1:8000/hybrid/pipeline/statusfrontend/docs_frontend.mdbackend/docs_backend.md






