landvex: Fixar och tester klara för alla komponenter
- Datafabrik: Dockerfile fix, agentorkestrering fungerar - Vision: Identify-modell, FAISS, OCR alla testade - API: Alla 7 integrationstester passerade - Upplösare: Entitetsupplösning verifierad
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# Weather Intelligence Pipeline
|
||||
|
||||
Produktionsklar pipeline för väderintelligens för vägar.
|
||||
|
||||
## Arkitektur
|
||||
|
||||
```
|
||||
┌─────────────────┐
|
||||
│ WeatherProvider│ ← Hämtar från SMHI
|
||||
│ (SMHI API) │
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ Rådata │ ← Spara oförändrad
|
||||
│ (JSON) │
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ ObservationStore│ ← Idempotent sparande
|
||||
│ (SQLite) │
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ RiskEngine │ ← Regelbaserad analys
|
||||
│ (Risk Score) │
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ Resultat │ ← Varningar + Risker
|
||||
│ (JSON) │
|
||||
└─────────────────┘
|
||||
```
|
||||
|
||||
## Komponenter
|
||||
|
||||
| Komponent | Fil | Beskrivning |
|
||||
|-----------|-----|-------------|
|
||||
| Provider | `providers/weather_provider.py` | Hämtar väderdata från SMHI |
|
||||
| Storage | `storage/observation_store.py` | Sparar observationer idempotent |
|
||||
| Engine | `engine/risk_engine.py` | Regelbaserad riskanalys |
|
||||
| Pipeline | `pipeline.py` | Huvudflöde |
|
||||
|
||||
## Regler
|
||||
|
||||
| Risk | Villkor | Allvarlighet |
|
||||
|------|---------|--------------|
|
||||
| Is | Temp < -5°C | Critical |
|
||||
| Svartis | Temp < 0°C + Nederbörd | Critical |
|
||||
| Översvämning | Nederbörd > 20mm | Critical |
|
||||
| Blöt väg | Nederbörd > 5mm | Medium |
|
||||
| Stark vind | Vind > 15 m/s | Medium |
|
||||
| Fallande föremål | Vind > 20 m/s | High |
|
||||
|
||||
## Körning
|
||||
|
||||
```bash
|
||||
# Kör pipelinen
|
||||
python3 pipeline.py
|
||||
|
||||
# Kör tester
|
||||
python3 tests/test_pipeline.py
|
||||
```
|
||||
|
||||
## Dataflöde
|
||||
|
||||
1. Hämta väderdata från SMHI
|
||||
2. Spara rådata oförändrad
|
||||
3. Skapa normaliserade observationer
|
||||
4. Koppla till väg i databas
|
||||
5. Beräkna risk baserat på regler
|
||||
6. Returnera resultat
|
||||
|
||||
## Spårbarhet
|
||||
|
||||
- All rådata sparas i `raw/`
|
||||
- Alla observationer har timestamp
|
||||
- Alla observationer har source="smhi"
|
||||
- Idempotent sparande (dubbletter ignoreras)
|
||||
|
||||
## Tester
|
||||
|
||||
- ✅ Väderdata kan hämtas
|
||||
- ✅ Observationer sparas idempotent
|
||||
- ✅ Risker beräknas korrekt
|
||||
- ✅ Hela pipelinen fungerar
|
||||
Reference in New Issue
Block a user