Local AI — IA Local. Private, on-site AI systems for organisations across Catalonia and the Perpignan–Barcelona corridor.

// On-site systems — Catalonia

Run intelligence on your own hardware.

Small and medium organisations across the Perpignan · Girona · Barcelona corridor running their own private AI, on their own hardware, at a discount — because efficiency is built in: smaller models run well, memory works smarter, and inference stops being billed per query.

// Sistemas locales — Cataluña

Su inteligencia, en su propio hardware.

Pequeñas y medianas empresas del corredor Perpiñán · Gerona · Barcelona ejecutan su propia IA privada, en su propio hardware, a precio reducido — porque la eficiencia está integrada: los modelos pequeños rinden bien, la memoria trabaja mejor y la inferencia ya no se cobra por consulta.

// Systèmes sur site — Catalogne

Votre intelligence, sur votre propre matériel.

Petites et moyennes entreprises du corridor Perpignan · Gérone · Barcelone exécutant leur propre IA privée, sur leur propre matériel, à prix réduit — car l'efficacité est intégrée : les petits modèles tournent bien, la mémoire travaille mieux et l'infrence n'est plus facturée par requête.

// Sistemes locals — Catalunya

Su intel·lig artificial, en su propio maquinari.

Petites et míjanes empresas del corridor Perpinyà · Girona · Barcelona executant su propia IA privada, en su propio maquinari, a preu reduit — per la eficiencia integrada: los models chiquitos rinden bi, la memoria truca mes alt y la inferència no es cobra per consulta.

llama.cpp

An open inference engine and API server — the base of everything here. Small and medium models run well on ordinary machines you already have — desktops, workstations or a modest GPU box — fully quantised, at a fraction of any cloud bill.

Un motor de inferencia abierto y servidor de API — la base de todo lo aquí. Los modelos pequeños y medianos funcionan bien en máquinas normales — ordenadores, estaciones o una GPU modesta — completamente cuantificados, a una fracción de cualquier factura de nube.

Un moteur d'infrence ouvert et serveur API — la base de tout ce qui ici. Les petits et moyens modèles tournent sur des machines ordinaires — bureau, station ou simple GPU — entièrement quantifiés, pour une fraction du prix du cloud.

Un motor d'inferència obert i servidor API — la base de todo lo aquí. Los modelos pequeños y medians funcionan bi en màquines normales — ordenadores, estaciones o una GPU modesta — quantificats per complet, a una fracció de la factura del núvol.

FreeToken

An inference engine and local API endpoint. Tokens are not metered: a billion tokens cost the same as one, and there is no per-query billing.

Un motor de inferencia y endpoint API local. Los tokens no se miden: mil millones de tokens cuestan lo mismo que uno, y no hay cobros por consulta.

Un moteur d'infrence et endpoint API local. Les tokens ne sont pas mesurés : un milliard de tokens coûtent le même prix qu'un seul, et aucune facturation par requête.

Un motor de inferència y endpoint API local. Els tokens no se miden: mil milions de tokens cuestan lo mismo que uno, y no hay cobros por consulta.

Strata

An inference engine and API, forked from llama.cpp and built for memory efficiency: it keeps resident only the experts that are hot — the ones actually in use — and leaves the rest parked. That is how big MoE models run on small RAM.

Un motor de inferencia derivado de llama.cpp y construido para la eficiencia de memoria: mantiene residentes solo los expertos en uso — los que se usan de verdad — y deja el resto aparcados. Así es cómo grandes modelos MoE funcionan con poca RAM.

Un moteur d'infrence issu de llama.cpp et conçu pour l'efficacité mémoire : il ne garde résidents que les experts en cours d'utilisation — ceux qui servent vraiment — et met le reste en attente. Voilà comment les grands modèles MoE tournent avec peu de RAM.

Un motor de inferència derivat de llama.cpp i construido para la eficiencia de memoria: manté residentes solo los expertos en uso — los que se usan de verdad — y deja el resto aparcados. Así es cómo grandes modelos MoE funcionan con poca RAM.

Avalon

An inference engine and API, forked from Strata and tuned even further for memory: keeps the hot set tighter still — longer usable context and larger models on the same hardware.

Un motor de inferencia y API, derivado de Strata y optimizado aún más para la memoria: mantiene el conjunto activo más ceñido — contexto utilizable más largo y modelos más grandes en el mismo hardware.

Un moteur d'infrence et API, issu de Strata et encore plus poussé pour la mémoire : garde l'ensemble actif encore plus resserré — contexte exploitable plus long et modèles plus grands sur le même matériel.

Un motor de inferència y API, derivat de Strata y optat aún más para la memoria: manté el conjunto activ més ceñido — contexto utilisable més llarg y models més grans en el mateix maquinari.

Mixture of Experts

A fleet of small, specialised experts instead of one giant model: each query activates only the experts it needs — the rest never load into memory at all. That is where the efficiency, and the savings, come from.

Un enjambre de expertos pequeños y especializados en vez de un modelo gigante: cada consulta activa solo los expertos que necesita — los demás ni cargan en memoria. Ahí está la eficiencia, y el ahorro.

Une grappe d'experts petits et spécialisés à la place d'un modèle géant : chaque requête n'active que les experts nécessaires — les autres ne chargent même pas en mémoire. Voilà l'efficacité, et les économies.

Un ramat de expertos chiquitos y especializados en vez de un modelo gigante: cada consulta activa solo los expertos que necesita — los demás no cargan a la memoria. Ahí está la eficiencia, y el ahorro.

DDR over VRAM

The engine streams model weights through ordinary system memory — fast, vast DDR instead of expensive GPU VRAM. One machine with 256 GB of DDR and an RTX 5080 runs small and medium private AI comfortably.

El motor transmite los pesos del modelo por la memoria común del sistema — DDR rápida y vasta en vez de la cara VRAM de una GPU. Un solo equipo con 256 GB de DDR y una RTX 5080 ejecuta holgadamente IA privada pequeña y mediana.

Le moteur charge les poids du modèle dans la mémoire système ordinaire — DDR rapide et vaste à la place de la VRAM coûteuse d'un GPU. Une seule machine avec 256 Go de DDR et une RTX 5080 exécute sans mal l'IA privée petite et moyenne.

El motor transmite los pesos del modelo por la memoria común del sistema — DDR rápida y vasta en vez de la cara VRAM de una GPU. Un solo equipo con 256 GB de DDR y una RTX 5080 executà bi IA privada petita y mediana.

Uncensored Models

The latest abliterated versions of the usual suspects — Llama, Mistral, Qwen, Gemma — where refusal behaviour is surgically edited out of the weights: no "as an AI model, I cannot…" preamble, no over-caution; direct, complete answers. Runs locally like everything else on this page.

Las últimas versiones abliterated de los sospechosos habituales — Llama, Mistral, Qwen, Gemma — donde la conducta de rechazo está editada quirúrgicamente de los pesos: sin preámbulos "como modelo IA no puedo…", sin exceso de prudencia; respuestas directas y completas. Ejecución local como todo lo demás de esta página.

Les dernières versions abliterated des suspects habituels — Llama, Mistral, Qwen, Gemma — où le refus est édité chirurgicalement dans les poids : plus de "en tant que modèle IA je ne peux pas…", plus d'excès de prudence ; réponses directes et complètes. S'exécutent en local comme tout le reste de cette page.

Las últimas versiones abliterated de los sospechosos habituales — Llama, Mistral, Qwen, Gemma — donde la conducta de rechazo está editada quirúrgicamente de los pesos: sin preámbulos "como modelo IA no puedo…", sin exceso de prudencia; respuestas directas y completas. Executants locals como todo lo demás de esta página.

GSQ · RCO quantization

The newest efficiency trick: Gumbel-Softmax Quantization learns a precise low-bit scalar grid for each weight tensor, and Riemannian Constrained Optimization finds the best per-tensor allocation under a fixed size budget. Non-uniform GGUF as a result — more bits for sensitive weights, fewer for tolerant ones — same task quality at a smaller file. One honest note: this precision-first allocation can lower prefill throughput against flat quantization.

El nuevo atajo de eficiencia: la Cuantificación Gumbel-Softmax aprende una cuadrícula de baja precisión exacta para cada tensor, y la Optimización con Restricción Riemiana halla la distribución óptima por tensor bajo un presupuesto fijo de tamaño. GGUF no uniforme como resultado — más bits para pesos sensibles, menos para tolerantes — misma calidad en fichero menor. Nota honesta: esta distribución prioriza la precisión y puede bajar el rendimiento de prefill frente a la cuantificación plana.

Le dernier raccourci d'efficacité : la Quantification Gumbel-Softmax apprend une grille basse-bit exacte pour chaque tenseur, et l'Optification sous Contrainte Riemmanienne trouve la meilleure répartition par tenseur sous budget de taille fixe. GGUF non uniforme en résultat — plus de bits pour les poids sensibles, moins pour les tolérants — même qualité sur fichier réduit. Note honnête : cette répation priorise la précision et peut baisser le débit de preface par rapport à la quantification plate.

El nuevo atajo de eficiencia: la Cuantificación Gumbel-Softmax aprende una quadrícula de baja precisión exacta para cada tensor, y la Optimización con Restrición Riemiana halla la distribución óptima por tensor bajo un presupuesto fijo de tamaño. GGUF no uniforme como resultado — más bits para pesos sensibles, menos para tolerantes — misma calidad en fichero menor. Nota honesta: esta distribución prioriza la precisión y puede bajar el rendimiento de prefill frente a la cuantificación plana.

Human support on site. Private infrastructure by design. Ask about an on-site assessment.

Soporte humano en el sitio. Infraestructura privada por diseño. Pregunte por una evaluación local.

Assistance humaine sur site. Infrastructure privée par conception. Demandez une évaluation locale.

Suport humà sobre el terreno. Infraestructura privada por diseño. Pregunte por una evaluación local.

// the pipeline — terraform

Import your files. Integrate them into the local API.

Terraform sets up everything: the strata inference container, and a systemd timer + service that converts, cleans and indexes customer documents on a schedule — one pipeline, sized to your hardware.

# pipeline.tf — customer files in, served by Strata's inference API
terraform {
  required_providers {
    docker = { source = "kreuzwerker/docker" }
    local  = { source = "hashicorp/local" }
    null   = { source = "hashicorp/null" }
  }
}

resource "docker_container" "strata" {        # the inference API — a llama.cpp fork,
  image = "registry.local/strata:latest"      # hot experts resident, the rest parked
  name  = "strata"

  ports { internal = 8080  external = 8443 }

  volumes {                                    # models stay on disk,
    host_path      = "${path.module}/models"   # only hot experts load
    container_path = "/models"
  }

  volumes {                                    # the customer drop-folder —
    host_path      = "${path.module}/incoming" # read by the timer below
    container_path = "/data/customers"
  }
}

resource "local_file" "import_service" {      # the import job — parameters:
  filename = "/etc/systemd/system/strata-import.service"
  content = <<-EOT
    [Service]
    Type=oneshot
    ExecStart=/opt/strata/strata-import.sh \
      --endpoint https://strata.lan:8443/v1 \     # where strata answers
      --convert  pdf,docx,csv \                   # conversion formats
      --process  ocr,clean,dedup \                # processing stages
      --parallel 8                                # workers per machine
    Nice=19                                       # batch never disturbs inference
    CPUQuota=400%
    EOT
}

resource "local_file" "import_timer" {        # the schedule — cron semantics,
  filename = "/etc/systemd/system/strata-import.timer" # minus cron's weaknesses
  content = <<-EOT
    [Timer]
    OnUnitActiveSec=15min
    Persistent=true                             # missed runs catch up at boot
    RandomizedDelaySec=2min                     # no thundering-herd stampede

    [Install]
    WantedBy=timers.target
    EOT
}

resource "null_resource" "install_timer" {    # enable the unit — that is all
  triggers = { timer = local_file.import_timer.id }
  provisioner "local-exec" {
    command = "systemctl daemon-reload && systemctl enable --now strata-import.timer"
  }
}

output "inference_api" {                      # drop → timer → strata's hot set
  value = "https://strata.lan:8443/v1/chat/completions"
}                                            # → and the same API answers.