landvex: Datafabrik + Vision + Infrastruktur för 50GB skalning
Datafabrik: - Skördare: crawler, källvitlista, upphandlingsskördare - Extraktor: LLM-baserad schemastyrd extraktion - Upplösare: Entitetsupplösning och deduplicering - Köer: Schemalagd / kunddriven / fält - Agentorkestrering: 20+ parallella agenter Vision: - Identify-modell: ResNet50 + kontrastivt lärande - Träningspipeline: NT-Xent loss - Vektordatabas: FAISS för snabb sökning - OCR-pipeline: Typskyltsläsning Infrastruktur: - Docker Compose production - Terraform för AWS ECS - Prometheus + Grafana monitorering - Neo4j + FAISS + MinIO + Redis
This commit is contained in:
@@ -10,6 +10,8 @@ DATA_DIR="${PWD}/10-data"
|
||||
DB_DIR="${PWD}/db"
|
||||
API_DIR="${PWD}/api"
|
||||
SCRIPT_DIR="${PWD}/scripts"
|
||||
DATAFABRIK_DIR="${PWD}/datafabrik"
|
||||
VISION_DIR="${PWD}/vision"
|
||||
|
||||
# ─── Steg 1: Validera indata ───────────────────────────────
|
||||
echo ""
|
||||
@@ -17,10 +19,11 @@ echo "▶ Steg 1: Validerar indata..."
|
||||
python3 "${SCRIPT_DIR}/export_csv.py"
|
||||
python3 "${DB_DIR}/load_to_neo4j.py"
|
||||
|
||||
# ─── Steg 2: Bygg Docker-image ─────────────────────────────
|
||||
# ─── Steg 2: Bygg Docker-images ────────────────────────────
|
||||
echo ""
|
||||
echo "▶ Steg 2: Bygger API-container..."
|
||||
echo "▶ Steg 2: Bygger Docker-images..."
|
||||
docker compose build api
|
||||
docker compose -f docker-compose.prod.yml build datafabrik vision-trainer
|
||||
|
||||
# ─── Steg 3: Starta tjänster ───────────────────────────────
|
||||
echo ""
|
||||
@@ -42,6 +45,22 @@ echo "▶ Steg 5: Snabbtest av endpoints..."
|
||||
curl -s 'http://localhost:8081/v0/search?q=belysning' | python3 -m json.tool | grep '"antal"'
|
||||
curl -s 'http://localhost:8081/v0/objects/LVX-TRP-0102' | python3 -m json.tool | grep '"lvx_id"'
|
||||
|
||||
# ─── Steg 6: Datafabrik (valfritt) ─────────────────────────
|
||||
if [ "${1:-}" == "--med-datafabrik" ]; then
|
||||
echo ""
|
||||
echo "▶ Steg 6: Startar Datafabrik..."
|
||||
docker compose -f docker-compose.prod.yml up -d datafabrik
|
||||
echo " ✅ Datafabrik startad"
|
||||
fi
|
||||
|
||||
# ─── Steg 7: Vision (valfritt) ─────────────────────────────
|
||||
if [ "${1:-}" == "--med-vision" ]; then
|
||||
echo ""
|
||||
echo "▶ Steg 7: Startar Vision-träning..."
|
||||
docker compose -f docker-compose.prod.yml --profile training up -d vision-trainer
|
||||
echo " ✅ Vision-tränare startad"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "═══════════════════════════════════════════════════════════"
|
||||
echo " ✅ Landvex IOL är driftsatt!"
|
||||
@@ -49,11 +68,13 @@ echo ""
|
||||
echo " API: http://localhost:8081"
|
||||
echo " Health: http://localhost:8081/health"
|
||||
echo " Neo4j: bolt://localhost:7687"
|
||||
echo " Grafana: http://localhost:3000"
|
||||
echo " Prometheus: http://localhost:9090"
|
||||
echo ""
|
||||
echo " Endpoints:"
|
||||
echo " POST /v0/identify — Bild → kandidater"
|
||||
echo " GET /v0/objects/{id} — Hämta objekt"
|
||||
echo " GET /v0/search?q=... — Fritextsök"
|
||||
echo " GET /v0/standards/{b}/objects — Standard → objekt"
|
||||
echo " POST /v0/feedback — Skapa bounty"
|
||||
echo " Kommandon:"
|
||||
echo " ./build.sh --med-datafabrik # Inkludera datafabrik"
|
||||
echo " ./build.sh --med-vision # Inkludera vision-träning"
|
||||
echo ""
|
||||
echo " Agentorkestrering:"
|
||||
echo " python3 datafabrik/agent_orkestrering.py --tier 1"
|
||||
echo "═══════════════════════════════════════════════════════════"
|
||||
|
||||
Reference in New Issue
Block a user