diff --git a/poweron/appdoc/doc_architecture_ai_service.html b/poweron/appdoc/doc_architecture_ai_service.html new file mode 100644 index 0000000..c7e5f72 --- /dev/null +++ b/poweron/appdoc/doc_architecture_ai_service.html @@ -0,0 +1,814 @@ + + + + + + PowerON - AI Service Architektur + + + +
+

PowerON AI Service Architektur

+ +
+ 📖 Dokumentation: Diese Dokumentation beschreibt die Architektur des zentralen AI-Service von PowerON. Der Service orchestriert alle AI-Operationen und verwaltet die Kommunikation mit verschiedenen AI-Modellen und Services. +
+ +

1. High-Level Übersicht

+ +
+
+

🎯 AI Service Center

+

@modules/services/serviceAi/mainServiceAi.py

+

Rolle: Orchestrator, koordiniert alle AI-Operationen

+

Verantwortung: Lazy Initialization, Delegation, Public API

+
+ +
⬇️
+ +
+
+

🔧 Core AI Operations

+ @subCoreAi.py +
    +
  • callAiPlanning() - JSON Planning
  • +
  • callAiDocuments() - Dokument-Verarbeitung
  • +
  • readImage() - Bildanalyse
  • +
  • generateImage() - Bildgenerierung
  • +
  • Looping-System für lange Antworten
  • +
+
+ +
+

📄 Document Processing

+ @subDocumentProcessing.py +
    +
  • processDocumentsPerChunk()
  • +
  • processDocumentsPerChunkJson()
  • +
  • Extraction-Integration
  • +
  • Merging-Logik
  • +
+
+
+ +
⬇️
+ +
+

🏗️ AI Interface Layer

+ @interfaces/interfaceAiObjects.py (AiObjects) +
    +
  • Model Registry - Auto-Discovery von Connectors
  • +
  • Model Selector - Dynamische Model-Auswahl
  • +
  • Standardisierte Call-Interface
  • +
  • Price-Calculations
  • +
+
+
+ +

2. AI-Call-Prozess

+ +
+

🔄 Komponenten-Übersicht

+ +
+
+
📥 Input Layer
+
+ Entry Points: callAiPlanning(), callAiDocuments()
+ prompt + options + placeholders/documents +
+
+ +
⬇️
+ +
+
🔀 Orchestration Layer
+
+ Placeholder Replacement → Prompt Building → Options Determination
+ subSharedAiUtils.py - buildPromptWithPlaceholders() +
+
+ +
⬇️
+ +
+
🌐 AI Call Layer
+
+ Looping System → Model Selection → API Call → Response Processing
+ _callAiWithLooping() → AiObjects.call() +
+
+ +
⬇️
+ +
+
📊 Response Layer
+
+ JSON Merging → Debug Logging → Stats Tracking
+ _mergeJsonContent() → writeDebugFile() → storeWorkflowStat() +
+
+ +
⬇️
+ +
+
📤 Output Layer
+
+ Return → Document Processing → Generation
+ result → Extracted Content → Final Documents +
+
+
+
+ +

3. Looping-System für lange Antworten

+ +
+

🔄 Multi-Iteration Processing

+

Problem: Token-Limits können bei großen Ausgaben überschritten werden

+

Lösung: Kontinuierliches Looping mit State-Transfer

+ +
+ Iteration 1: Start des AI-Calls
+ prompt + LOOP_INSTRUCTION → AI Response
+ → Response wird an Token-Limit evaluiert +
+ +
+ Continuation Check: Response enthält {"continuation": {...}}
+ if continuation != null: Weiter mit next_instruction
+ → Letzte Daten + nächste Anweisung gespeichert +
+ +
+ Iteration N: Continuation wird erneut verarbeitet
+ continuation_prompt + previous_state → AI Response
+ → Neue Daten werden akkumuliert +
+ +
+ Final: {"continuation": null} erreicht
+ _mergeJsonContent() - Alle JSON-Listen werden zusammengeführt
+ → Komplette Antwort wird zurückgegeben +
+
+ +
+ 💡 Wichtige Features des Looping-Systems: + +
+ +

4. Verfügbare Methoden

+ +
+

🚀 Public API Methods

+
+
+ Planning +

callAiPlanning()

+

Parameter:

+
    +
  • prompt (required)
  • +
  • placeholders (optional)
  • +
+

Verwendung: Task Planning, Action Selection, Review

+

✓ Statische Parameter (QUALITY + DETAILED)

+
+ +
+ Documents +

callAiDocuments()

+

Parameter:

+
    +
  • prompt (required)
  • +
  • documents (optional)
  • +
  • options (optional)
  • +
  • outputFormat (optional)
  • +
  • title (optional)
  • +
+

Support: PDF, DOCX, TXT, HTML, JSON, CSV, XLSX, Bilder (JPG, PNG)

+

Intern: Alles wird in Standard-JSON konvertiert (formatunabhängig)

+

Features: Neutralizer, Image-Analysis, Multi-Format-Ausgabe

+

⚙️ Adaptive Parameter via _analyzePromptAndCreateOptions()

+
+ +
+ Image +

readImage()

+

Parameter:

+
    +
  • prompt (required)
  • +
  • imageData (required)
  • +
  • mimeType (optional)
  • +
  • options (optional)
  • +
+

Verwendung: Direkte Bild-Analyse mit Vision-Modellen

+

ℹ️ Auch integriert in callAiDocuments()!

+

✓ Operation: IMAGE_ANALYSE

+
+ +
+ Image +

generateImage()

+

Parameter:

+
    +
  • prompt (required)
  • +
  • size (optional)
  • +
  • quality (optional)
  • +
  • style (optional)
  • +
+

Verwendung: Direkte AI-Bildgenerierung

+

ℹ️ Auch in Generation-Workflows integriert

+

✓ Delegiert an aiObjects.generateImage()

+
+
+
+ +

5. Beispiel: AI-Call Flow

+ +
+

🎯 Use Case: Dokument-Verarbeitung mit AI

+ +
+
📍 Step 1: Eingabe
+

Workflow-Call: ai.process()

+ +{ + "aiPrompt": "Extrahiere alle wichtigen Fakten aus den Dokumenten", + "documentList": ["docList:msg_123"], + "resultType": "docx" +} + +
+ +
+
🔄 Step 2: Prompt-Building
+

Placeholder Replacement (falls vorhanden)

+ +buildPromptWithPlaceholders( + "{{KEY:TASK_OBJECTIVE}} extrahieren", + {"TASK_OBJECTIVE": "Spesenbelege"} +) +→ "Spesenbelege extrahieren" + +
+ +
+
⚙️ Step 3: Options Determination
+

Adaptive oder Static Parameter?

+
    +
  • Planning: Static → QUALITY + DETAILED
  • +
  • Documents: Optional → AI-gestützte Analyse via _analyzePromptAndCreateOptions()
  • +
+
+ +
+
🌐 Step 4: AI-Call mit Looping
+

Iteration 1 → Iteration N (falls continuation)

+
    +
  • Request erstellen: AiCallRequest(prompt, options)
  • +
  • Model Selection: modelSelector.select(prompt, options)
  • +
  • API Call: model.functionCall(modelCall)
  • +
  • Response: AiCallResponse(content, modelName, priceUsd)
  • +
  • Debug: Speicherung in debug/[timestamp]_prompt.txt
  • +
+
+ +
+
📊 Step 5: Response Processing
+

JSON Merging (falls Multi-Iteration)

+ +if continuation != null: + # Weiter mit next_instruction + accumulatedContent.append(partialResponse) + continue +else: + # Final - alle JSON-Listen mergen + finalResult = _mergeJsonContent(accumulatedContent) + return finalResult + +
+ +
+
📈 Step 6: Stats & Logging
+

Workflow-Statistiken speichern

+ +storeWorkflowStat( + workflow, + aiCallResponse, + "ai.call.document_processing" +) +# Logs: processingTime, priceUsd, tokensUsed + +
+ +
+
✓ AI-Call abgeschlossen
+

Return: DOCX mit extrahierten Daten

+

Iterations: 3 (wegen Token-Limits)

+

Processing Time: 12.5s

+

Cost: $0.0032 USD

+
+
+ +

6. Neutralizer & Normalizer - Datenschutz & Formatunabhängigkeit

+ +
+

🔒 Neutralizer - Datenschutz bei User-Dokumenten

+ +
+ 🔐 Neutralizer-Funktion: Alle Dokumente, die im User-Prompt mitgeliefert werden, werden durch den Neutralizer geschleust, um personenbezogene und sensible Daten durch Platzhalter zu ersetzen. +
+ +
+
+

🔄 Datenschutz-Neutralisierung

+

Beispiel:

+ +Original: "Max Mustermann, geboren am 01.01.1980 in Berlin" +Neutralisiert: "{{person}}, geboren am {{date}} in {{city}}" + +
    +
  • Personendaten: Namen → {{person}}
  • +
  • Daten: Geburts-/Gesundheitsdaten → {{date}} / {{health_data}}
  • +
  • Financial: Kontonummern, Kreditkarten → {{account_number}}
  • +
  • Lokationen: Adressen → {{address}}
  • +
  • Kontakte: E-Mails, Telefonnummern → {{contact}}
  • +
+

✓ Automatisch bei allen User-Prompt-Dokumenten!

+
+
+ +
⬇️
+ +

📊 Normalizer - Formatunabhängige JSON-Struktur

+ +
+ 💡 Kern-Prinzip: Alle Dokument-Formate werden intern in ein einheitliches Standard-JSON-Format konvertiert. Dadurch ist die Verarbeitung formatunabhängig. +
+ +
+
+

📥 Input-Formate

+
    +
  • Dokumente: PDF, DOCX, TXT, HTML, JSON, CSV, XLSX
  • +
  • Bilder: JPG, PNG, GIF, WebP
  • +
  • Strukturierte Daten: XML, YAML
  • +
  • Code: Python, JavaScript, etc.
  • +
+

→ Normalizer:

+

NormalizationService konvertiert alles in Standard-JSON-Struktur

+
+ +
+

📤 Output-Formate

+
    +
  • Dokumente: PDF, DOCX, HTML, TXT, MD
  • +
  • Daten: JSON, CSV, XLSX
  • +
  • Präsentation: Powerpoint
  • +
  • Spezial: Custom Renderer
  • +
+

→ Renderer:

+

Generation-Service rendert JSON → gewünschtes Format

+
+
+ +
⬇️
+ +
+

📊 Standard-JSON Struktur

+ +{ + "metadata": { + "title": "Document Title", + "format": "auto-detected", + "timestamp": "2024-01-15T10:30:00Z" + }, + "documents": [ + { + "documentName": "output.pdf", + "sections": [ + { + "sectionTitle": "Section 1", + "content": "...", + "type": "text|table|list|image" + } + ] + } + ] +} + +
+ +
+ ✓ Vollständige Pipeline: Input (jedes Format) → Neutralizer (Datenschutz) → Extraction → Normalizer (JSON) → AI Processing → Renderer → Output (jedes Format) +
+
+ +

7. Integration mit anderen Services

+ +
+

🔗 Service-Dependencies

+ +
+
+

📤 Generation Service

+ @serviceGeneration/ +

Verwendung:

+
    +
  • Prompt-Building für Generierung
  • +
  • Rendering von JSON → Final Format
  • +
  • Multi-File Generation
  • +
  • Format-spezifische Renderer
  • +
+
+ +
+

🔍 Extraction Service

+ @serviceExtraction/ +

Verwendung:

+
    +
  • extractContent() - Dokument-Extraktion
  • +
  • Chunking-Strategien
  • +
  • Merging-Strategien
  • +
  • Bild-Analyse (Vision-Models)
  • +
+
+
+ +
⬇️
+ +
+

🔄 Normalization Service

+ @serviceNormalization/ +

Zentral für formatunabhängige Verarbeitung!

+
    +
  • discoverStructures() - Erkennt Tabellen, Listen, Strukturen
  • +
  • requestHeaderMapping() - AI-gestützte Spalten-Mapping
  • +
  • applyMapping() - Konvertiert in kanonisches JSON
  • +
  • validateCanonical() - Validiert JSON-Struktur
  • +
+

⚠️ Hinweis: Zu unterscheiden vom Neutralizer (Datenschutz) - dieser konvertiert Formate in JSON

+
+ +
+

🔍 Klärung: Neutralizer vs. Normalizer

+
+
+ Neutralizer +
    +
  • Für User-Prompt-Dokumente
  • +
  • Datenschutz durch Platzhalter
  • +
  • Ersetzt sensible Daten
  • +
  • z.B. Name → {{person}}
  • +
+
+
+ Normalizer +
    +
  • Für alle Dokument-Formate
  • +
  • Konvertiert in JSON-Struktur
  • +
  • Formatunabhängige Verarbeitung
  • +
  • z.B. PDF → JSON
  • +
+
+
+
+ +
⬇️
+ +
+

🗄️ Storage & Logging

+

Components:

+
    +
  • Debug Files: local/logs/debug/[timestamp]_[type].txt
  • +
  • Workflow Stats: services.workflow.storeWorkflowStat()
  • +
  • Progress Logging: services.workflow.progressLogStart()
  • +
+
+
+ +
+

📊 Legende

+
+
+ Service Box: Hauptkomponenten des AI-Service +
+
+
+ Component Box: Sub-Komponenten (Core, Processing, Generation) +
+
+
+ Loop Step: Iteration im Looping-System +
+
+
+ Success Box: Erfolgreich abgeschlossener Call +
+
+ +
+ ⚠️ Wichtige Hinweise: + +
+ +
+ + diff --git a/poweron/appdoc/doc_architecture_gateway.drawio b/poweron/appdoc/doc_architecture_gateway.drawio index e6f231b..768fe34 100644 --- a/poweron/appdoc/doc_architecture_gateway.drawio +++ b/poweron/appdoc/doc_architecture_gateway.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/poweron/appdoc/doc_architecture_gateway.pdf b/poweron/appdoc/doc_architecture_gateway.pdf index f7dee26..e390314 100644 Binary files a/poweron/appdoc/doc_architecture_gateway.pdf and b/poweron/appdoc/doc_architecture_gateway.pdf differ diff --git a/poweron/appdoc/doc_architecture_workflow.html b/poweron/appdoc/doc_architecture_workflow.html new file mode 100644 index 0000000..3b926f6 --- /dev/null +++ b/poweron/appdoc/doc_architecture_workflow.html @@ -0,0 +1,674 @@ + + + + + + PowerON - Workflow Engine Architektur + + + +
+

PowerON Workflow Engine Architektur

+ +
+ 📖 Dokumentation: Diese Dokumentation beschreibt die Architektur der Workflow Engine von PowerON. Die Engine ermöglicht es, komplexe Multi-Step Workflows zu erstellen, die Tasks und Actions dynamisch organisieren und ausführen. +
+ +

1. Workflow-Übersicht

+ +
+
+

🎯 Workflow Manager

+

@gateway/modules/workflows/workflowManager.py

+

Zentrale Komponente, die alle Workflow-Typen verwaltet und koordiniert.

+

Routen: @routeChatPlayground.py

+
+ +
⬇️
+ +
+
+

📋 Actionplan Mode

+ @modeActionplan.py +

Funktion:

+
    +
  • Batch-Planung aller Actions
  • +
  • Sequenzielle Ausführung
  • +
  • AI Review nach Task-Abschluss
  • +
  • Automatische Retry-Logik
  • +
+

✓ Implementiert

+
+ +
+

🔄 React Mode

+ @modeReact.py +

Funktion:

+
    +
  • Iterative Plan-Act-Observe-Schleife
  • +
  • Dynamische Action-Generierung
  • +
  • Adaptive Learning
  • +
  • Content Validation
  • +
+

✓ Implementiert

+
+ +
+

⚙️ Automated Mode

+ @modeAutomated.py +

Funktion:

+
    +
  • Fixed Workflow-Definition
  • +
  • Zeitgesteuerte Ausführung
  • +
  • Vordefinierter Fahrplan
  • +
  • Standardisierte Prozesse
  • +
+

⚠ Geplant

+
+
+
+ +

2. Workflow-Modell

+ +
+

🏗️ Hierarchische Struktur

+ +
+
+

📦 Workflow

+

Attribute: ID, Status, Round, Mandate

+

Zustände: running, stopped, completed, failed

+
+ +
+ Task 1 - Erste Aufgabe +

Objective: "Verknüpfung definieren"

+ +
+ Action 1: sharepoint.findDocumentPath
+ Findet Dokumente im SharePoint +
+ +
+ Action 2: sharepoint.readDocuments
+ Liest gefundene Dokumente +
+
+ +
+ Task 2 - Zweite Aufgabe +

Objective: "Verarbeitung durchführen"

+ +
+ Action 1: ai.process
+ Verarbeitet Dokumente mit AI +
+ +
+ Action 2: sharepoint.uploadDocument
+ Speichert Ergebnisse +
+
+ +
+ Task 3 - Dritte Aufgabe +

Objective: "Benachrichtigung versenden"

+ +
+ Action 1: outlook.composeAndSendEmailWithContext
+ Sendet E-Mail mit Ergebnis +
+
+
+
+ +
+ 💡 Wichtige Prinzipien: + +
+ +

3. Verfügbare Actions

+ +
+

🤖 Method: AI

+
+
+ ai +

process

+

Parameter:

+
    +
  • aiPrompt (required)
  • +
  • documentList (optional)
  • +
  • resultType (optional)
  • +
+

AI-Textverarbeitung mit optionalen Input-Dokumenten

+
+ +
+ ai +

webResearch

+

Parameter:

+
    +
  • searchQuery (required)
  • +
  • language (optional)
  • +
+

Web-Recherche mit AI-gestützter Zusammenfassung

+
+ +
+ ai +

generateImage

+

Parameter:

+
    +
  • imagePrompt (required)
  • +
  • style (optional)
  • +
+

AI-Bildgenerierung basierend auf Textprompt

+
+
+ +

📁 Method: SharePoint

+
+
+ sharepoint +

findDocumentPath

+

Parameter:

+
    +
  • connectionReference (required)
  • +
  • searchQuery (required)
  • +
  • site (optional)
  • +
  • maxResults (optional)
  • +
+

Sucht Dokumente und Ordner in SharePoint

+
+ +
+ sharepoint +

readDocuments

+

Parameter:

+
    +
  • documentList (required)
  • +
  • connectionReference (required)
  • +
+

Liest Dokumente aus SharePoint

+
+ +
+ sharepoint +

uploadDocument

+

Parameter:

+
    +
  • documentData (required)
  • +
  • targetPath (required)
  • +
  • connectionReference (required)
  • +
+

Lädt Dokumente in SharePoint hoch

+
+ +
+ sharepoint +

listDocuments

+

Parameter:

+
    +
  • folderPath (required)
  • +
  • connectionReference (required)
  • +
  • includeSubfolders (optional)
  • +
+

Listet Dokumente in einem Ordner auf

+
+
+ +

📧 Method: Outlook

+
+
+ outlook +

readEmails

+

Parameter:

+
    +
  • connectionReference (required)
  • +
  • folder (optional)
  • +
  • limit (optional)
  • +
  • filter (optional)
  • +
+

Liest E-Mails aus einem Postfach

+
+ +
+ outlook +

searchEmails

+

Parameter:

+
    +
  • connectionReference (required)
  • +
  • searchQuery (required)
  • +
+

Sucht E-Mails mit spezifischen Kriterien

+
+ +
+ outlook +

composeAndSendEmailWithContext

+

Parameter:

+
    +
  • connectionReference (required)
  • +
  • recipientEmail (required)
  • +
  • subject (required)
  • +
  • emailBody (required)
  • +
  • attachments (optional)
  • +
+

Erstellt und sendet E-Mail mit Kontext

+
+
+
+ +

4. Beispiel-Workflow: Spesenverarbeitung

+ +
+

🎯 Use Case: Automatische Spesenverarbeitung

+

Szenario: Ein Kunde lädt PDF-Spesenbelege in einen SharePoint-Ordner. Der Workflow liest täglich die neuen Belege, verarbeitet sie über die Microsoft-Verbindung, aktualisiert das Buchhaltungssystem und sendet eine Bestätigungsmail.

+ +
+
📍 Step 1: Trigger (Automated Mode)
+

Zeitgesteuerte tägliche Ausführung (z.B. 08:00 Uhr)

+

Workflow ID: workflow_spesen_daily

+

Mode: Automated (fix vordefiniert)

+
+ +
+
📋 Task 1: Dokumente identifizieren
+

Objective: "Finde alle neuen PDF-Belege im Spesen-Ordner"

+ +
+ Action 1.1: sharepoint.listDocuments
+ + Parameters: {
+ "folderPath": "/Spesen/2024",
+ "connectionReference": "user_msft_connection",
+ "includeSubfolders": false
+ } +
+

✓ Ergebnis: Liste aller PDF-Dateien

+
+ +
+ Action 1.2: sharepoint.readDocuments
+ + Parameters: {
+ "documentList": ["docList:msg_123:Rechnung_1.pdf", "docList:msg_123:Rechnung_2.pdf"],
+ "connectionReference": "user_msft_connection"
+ } +
+

✓ Ergebnis: PDF-Inhalte für AI-Verarbeitung

+
+
+ +
+
🤖 Task 2: Daten extrahieren und verarbeiten
+

Objective: "Extrahiere Spesendaten aus PDFs und strukturiere sie"

+ +
+ Action 2.1: ai.process
+ + Parameters: {
+ "aiPrompt": "Extrahiere alle Ausgaben aus den Spesenbelegen. Erstelle eine strukturierte JSON-Liste mit: Datum, Betrag, Kategorie, Verwendungszweck.",
+ "documentList": ["docList:msg_124:pdf_content"],
+ "resultType": "json"
+ } +
+

✓ Ergebnis: Strukturierte Spesendaten (JSON)

+
+
+ +
+
📊 Task 3: Buchhaltung aktualisieren
+

Objective: "Übertrage Spesendaten ins Buchhaltungssystem"

+ +
+ Action 3.1: sharepoint.uploadDocument
+ + Parameters: {
+ "documentData": {"content": "{\"transactions\": [...]}", "mimeType": "application/json"},
+ "targetPath": "/Buchhaltung/Spesen/processed/2024-01-15.json",
+ "connectionReference": "trust_accounting_system"
+ } +
+

✓ Ergebnis: Aktualisierte Buchhaltung

+
+
+ +
+
📧 Task 4: Bestätigung senden
+

Objective: "Versende Bestätigungsmail mit Übersicht"

+ +
+ Action 4.1: outlook.composeAndSendEmailWithContext
+ + Parameters: {
+ "connectionReference": "user_msft_connection",
+ "recipientEmail": "user@company.com",
+ "subject": "Spesenverarbeitung abgeschlossen - 15.01.2024",
+ "emailBody": "Guten Tag,\n\nIhre Spesenbelege wurden verarbeitet...",
+ "attachments": ["docList:msg_125:summary.pdf"]
+ } +
+

✓ Ergebnis: E-Mail erfolgreich versendet

+
+
+ +
+
✓ Workflow abgeschlossen
+

Status: completed

+

Verarbeitet: 5 Actions in 4 Tasks

+

Dauer: ~2 Minuten

+

Ergebnis: Spesenbelege verarbeitet, Buchhaltung aktualisiert, Bestätigung versendet

+
+
+ +

5. Technische Architektur

+ +
+
+

🔧 Core Components

+

Processing Core:

+
    +
  • actionExecutor.py - Führt Actions aus
  • +
  • messageCreator.py - Erstellt Workflow-Nachrichten
  • +
  • taskPlanner.py - Plant Tasks
  • +
  • validator.py - Validiert Actions
  • +
+ +

Adaptive Features:

+
    +
  • intentAnalyzer.py - Analysiert User-Intents
  • +
  • contentValidator.py - Validiert Inhalte
  • +
  • adaptiveLearningEngine.py - Lernt aus Feedback
  • +
  • progressTracker.py - Verfolgt Fortschritt
  • +
+
+
+ +
+

📊 Legende

+
+
+ Workflow/Mode Box: Hauptkomponenten der Engine +
+
+
+ Task Box: Einzelne Aufgabe im Workflow +
+
+
+ Action Card: Konkrete Action-Ausführung +
+
+
+ Success Box: Erfolgreich abgeschlossener Schritt +
+
+ +
+ ⚠️ Wichtige Hinweise: + +
+ +
+ +