Last modified by Robert Schaub on 2025/12/25 13:58

Show last authors
1 {{mermaid}}
2 graph TB
3 subgraph Interface_Layer["🖥️ Interface Layer"]
4 UI[Web UI<br/>Browse & Submit]
5 API[REST API<br/>Programmatic Access]
6 AUTH[Authentication<br/>& Authorization]
7 end
8 subgraph Processing_Layer["⚙️ Processing Layer"]
9 AKEL[AKEL Pipeline<br/>Parallel Processing<br/>10-18 seconds]
10 LLM[LLM Abstraction Layer<br/>Multi-Provider Support<br/>Anthropic OpenAI Google]
11 BG[Background Jobs<br/>Source Scoring,<br/>Cache, Archival]
12 QM[Quality Monitoring<br/>Automated Checks]
13 end
14 subgraph Data_Layer["💾 Data & Storage Layer"]
15 PG[(PostgreSQL<br/>Primary Database<br/>All Core Data)]
16 REDIS[(Redis<br/>Cache & LLM Config)]
17 S3[(S3<br/>Archives)]
18 end
19 UI --> AUTH
20 API --> AUTH
21 AUTH --> AKEL
22 AUTH --> QM
23 AKEL --> LLM
24 LLM --> PG
25 LLM --> REDIS
26 AKEL --> PG
27 AKEL --> REDIS
28 BG --> PG
29 BG --> S3
30 QM --> PG
31 REDIS --> PG
32 style Interface_Layer fill:#e1f5ff
33 style Processing_Layer fill:#fff4e1
34 style Data_Layer fill:#f0f0f0
35 style AKEL fill:#ffcccc
36 style LLM fill:#ccffcc
37 style PG fill:#9999ff
38 {{/mermaid}}
39
40 **Three-Layer Architecture** - Clean separation with LLM abstraction: Interface Layer (user interactions), Processing Layer (AKEL + LLM Abstraction + background jobs), Data Layer (PostgreSQL primary + Redis cache/config + S3 archives). **LLM Abstraction Layer** provides provider-agnostic access to Anthropic, OpenAI, Google, and local models with automatic failover.