• V2.2.1 27497fd6be

    v2.2.1 – WP-04b: Explanation Layer (Das "Warum" hinter der Suche)
    All checks were successful
    Deploy mindnet to llm-node / deploy (push) Successful in 3s
    Stable

    Lars released this 2025-12-07 18:36:25 +01:00 | 538 commits to main since this release

    Beschreibung
    Dieses Release implementiert den Explanation Layer ("Why-Layer") für den hybriden Retriever. Mindnet liefert nun nicht mehr nur Ergebnisse, sondern begründet transparent, wie der Score zustande kommt und welche semantischen oder strukturellen Verbindungen (Graphen) zu einem Treffer geführt haben.

    Neue Features
    Erklärbare KI (XAI): Der /query-Endpunkt unterstützt nun das Flag "explain": true.

    Score Breakdown: Detaillierte Aufschlüsselung des total_score in:

    semantic_contribution (Inhaltliche Ähnlichkeit)

    edge_contribution (Graph-Bonus durch Vernetzung)

    centrality_contribution (Wichtigkeit des Knotens)

    type_weight (Einfluss des Notiz-Typs, z.B. Project vs. Journal)

    Human-Readable Reasons: Generierung von verständlichen Sätzen wie:

    "Sehr hohe textuelle Übereinstimmung."

    "Bevorzugt aufgrund des Typs 'decision'."

    "Verweist auf 'Projekt X' via 'depends_on'."

    🔧 Technische Änderungen
    Graph Adapter Upgrade: Subgraph unterstützt nun Reverse-Lookups (get_incoming_edges) und analysiert bidirektionale Kanten (Incoming & Outgoing), um Hub- und Authority-Scores zu erklären.

    DTO Erweiterung: Neue Modelle Explanation, ScoreBreakdown und Reason in app/models/dto.py.

    Retriever Logik: Integration der Erklärungslogik in den Scoring-Loop, ohne die Performance der Standardsuche zu beeinträchtigen.

    📝 Nutzung (API)
    Um eine Erklärung zu erhalten, muss das Feld explain im Request gesetzt werden:

    JSON

    POST /query
    {
    "query": "mindnet architecture",
    "mode": "hybrid",
    "explain": true,
    "top_k": 5
    }
    Status
    Getestet auf Dev-Environment (Port 8002).

    Verifiziert durch Smoke-Tests (test_explanation_smoke.py).

    Downloads