Offline-First
No internet required. Pauhu runs entirely on your hardware with 695 GB of ONNX models. Air-gapped networks, submarines, remote field offices - full translation capability everywhere.
Architecture
graph TB
subgraph "Your Infrastructure"
A[Pauhu Client] --> B[Local ONNX Runtime]
B --> C[Translation Models]
B --> D[Domain Specialists]
B --> E[Quality Models]
C --> F[695 GB Model Store]
D --> F
E --> F
end
subgraph "Optional Cloud"
G[Model Updates]
H[Usage Analytics]
end
F -.->|"Air-gap sync"| G
A -.->|"Optional"| H
Model Inventory
| Category | Models | Size | Languages |
| Translation | 462 | 380 GB | 24 EU + 50 global |
| Domain Specialists | 21 | 168 GB | EuroVoc domains |
| Quality Assurance | 12 | 45 GB | Grammar, style |
| Language Detection | 1 | 2 GB | 176 languages |
| OCR | 8 | 65 GB | Scripts, fonts |
| Speech | 24 | 35 GB | STT, TTS |
| Total | 528 | 695 GB | |
Installation
Download Models
# Install Pauhu CLI
pip install pauhu-cli
# Download all models (695 GB)
pauhu models download --all --path /opt/pauhu/models
# Or download specific language pairs
pauhu models download --pairs en-fi,fi-en,en-sv,sv-en
# Or download specific domains
pauhu models download --domain "12 Law" --domain "24 Finance"
Verify Installation
# Check model integrity
pauhu models verify --path /opt/pauhu/models
# Output:
# ✓ 528 models verified
# ✓ SHA-256 checksums match
# ✓ ONNX runtime compatible
# ✓ Ready for offline use
Python SDK
from pauhu import Pauhu
# Initialize in offline mode
client = Pauhu(
mode="offline",
models_path="/opt/pauhu/models"
)
# Full translation capability
result = client.translate(
text="Contract for the supply of goods",
source="en",
target="fi",
domain="20 Trade"
)
print(result.translation)
# "Tavarantoimitussopimus"
# Verify no network was used
assert result.metadata.network_used == False
assert result.metadata.model_location == "local"
Hardware Requirements
Minimum Specifications
| Component | Requirement | Recommended |
| CPU | 8 cores | 32 cores |
| RAM | 32 GB | 128 GB |
| Storage | 1 TB NVMe | 2 TB NVMe |
| GPU | Optional | NVIDIA A100 |
| Hardware | Throughput | Latency |
| CPU only (32 cores) | 50 pages/min | 1.2s |
| NVIDIA T4 | 200 pages/min | 300ms |
| NVIDIA A100 | 500 pages/min | 120ms |
| Apple M3 Max | 150 pages/min | 400ms |
Air-Gapped Deployment
USB Transfer
# On internet-connected machine
pauhu models export --format usb --output /media/usb/pauhu-models
# On air-gapped machine
pauhu models import --source /media/usb/pauhu-models
Model Update Process
sequenceDiagram
participant Internet as Internet Zone
participant Transfer as Transfer Station
participant Airgap as Air-Gapped Zone
Internet->>Transfer: Download model updates
Transfer->>Transfer: Verify signatures (GPG)
Transfer->>Transfer: Burn to optical media
Transfer->>Airgap: Physical transfer
Airgap->>Airgap: Verify signatures
Airgap->>Airgap: Install models
Cryptographic Verification
# Verify model signatures
pauhu models verify --gpg --key pauhu-release@pauhu.com
# Check for tampering
pauhu models integrity --deep
# Generate audit report
pauhu models audit --output /var/log/pauhu/model-audit.json
Container Deployment
Docker
FROM pauhu/offline:latest
# Copy models (or mount as volume)
COPY models/ /opt/pauhu/models/
# Configure offline mode
ENV PAUHU_MODE=offline
ENV PAUHU_MODELS_PATH=/opt/pauhu/models
EXPOSE 8080
CMD ["pauhu", "serve"]
Kubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
name: pauhu-offline
spec:
replicas: 3
template:
spec:
containers:
- name: pauhu
image: pauhu/offline:latest
env:
- name: PAUHU_MODE
value: "offline"
volumeMounts:
- name: models
mountPath: /opt/pauhu/models
readOnly: true
volumes:
- name: models
persistentVolumeClaim:
claimName: pauhu-models
Hybrid Mode
Combine offline and online for best of both worlds:
from pauhu import Pauhu
client = Pauhu(
mode="hybrid",
models_path="/opt/pauhu/models",
fallback_online=True # Use cloud only if local fails
)
# Prefers local models
result = client.translate(
text="EU regulation compliance",
target="fi"
)
# Check which mode was used
print(result.metadata.model_location) # "local" or "cloud"
Model Updates
Incremental Updates
# Check for updates
pauhu models check-updates
# Download only changed models
pauhu models update --incremental
# Schedule automatic updates (hybrid mode)
pauhu config set auto_update=weekly
Version Pinning
from pauhu import Pauhu
# Pin to specific model version
client = Pauhu(
mode="offline",
models_path="/opt/pauhu/models",
model_version="2025.01" # Use January 2025 release
)
Getting Started
# 1. Install CLI
pip install pauhu-cli
# 2. Download models (start with one language pair)
pauhu models download --pairs en-fi
# 3. Test offline mode
pauhu translate "Hello" --target fi --offline
# Output: "Hei"