Deployment Status: Hybrid Inference System

Date: 2026-07-02 06:18 UTC
Status: ✅ DEPLOYED AND OPERATIONAL


System Health After Reboot

Load Average

  • Before: 21-22 (stuck processes)
  • After: 5.03 (normal, credential discovery running)
  • Improvement: 76% reduction ✅

Services Running

  • ✅ Ollama (systemd, port 11434)
  • ✅ Native llama-server (systemd, port 9006, GPU 1)
  • ✅ Both services auto-start on boot

GPU Status

  • GPU 0 (RTX 3060): 4.9GB used (Ollama)
  • GPU 1 (RTX 4060): 7.4GB used (native llama-server)
  • Both operating normally ✅

Performance Validation

Ollama Baseline (Post-Reboot)

Test 1: 6446ms | 2.79 TPS  (classification)
Test 2:  428ms | 14.02 TPS (simple math) ← matches Phase 1 baseline!
Test 3: 4404ms | 4.31 TPS  (sentence generation)

Verdict: Performance restored to baseline ✅

Hybrid Router Tests

Test 1 (short):  2492ms | Routed to Ollama        ✅
Test 2 (long):   4175ms | Routed to native llama.cpp ✅

Verdict: Both backends working, routing logic correct ✅


Deployed Components

1. Native llama-server (systemd service)

  • Service: llamacpp-native.service
  • Binary: /home/duane/.local/llama.cpp-b9222/llama-b9222/llama-server
  • Model: ~/.local/share/llama-models/qwen2.5-7b-ollama.gguf (4.4GB)
  • Port: 9006
  • GPU: 1 (RTX 4060)
  • Config: 2048 ctx, 4 threads, 99 GPU layers
  • Status: ✅ Running, auto-starts on boot

Manage:

sudo systemctl status llamacpp-native
sudo systemctl restart llamacpp-native
sudo journalctl -u llamacpp-native -f

2. Hybrid Inference Router

  • File: ~/.claude/PAI/Tools/HybridInference.ts
  • Routing: <50 tokens → Ollama, ≥50 tokens → Native
  • Fallback: Automatic (primary fails → try other backend)
  • Status: ✅ Tested and working

Usage:

cd ~/.claude/PAI/Tools
bun HybridInference.ts --prompt "..." --max-tokens 100

Programmatic:

import { hybridInfer } from "./HybridInference";
const result = await hybridInfer({
  prompt: "...",
  maxTokens: 100,
  temperature: 0.7
});

3. Ollama (existing)

  • Service: ollama.service
  • Port: 11434
  • Models: qwen2.5:7b, llama3.2:3b
  • Status: ✅ Running, normal performance

Next Steps

✅ Complete (Done Today)

  • Reboot system
  • Install systemd service
  • Test both backends
  • Validate hybrid router
  • Confirm performance restored

📋 Ready for Soft Launch (This Week)

Target tools for integration:

  1. PAI/Tools/Inference.ts - Central inference router
  2. Research tools - Summary generation
  3. Archetype serve - Local inference

Plan: See SOFT_LAUNCH_PLAN.md for details

Quick integration:

// In any tool that uses Ollama:
import { hybridInfer } from "./HybridInference";
 
// Replace:
const result = await ollamaGenerate({...});
 
// With:
const result = await hybridInfer({
  prompt: userPrompt,
  maxTokens: estimatedLength,
  temperature: 0.7
});

🔄 Ongoing (This Month)

  • Week 1: Soft launch with monitoring
  • Week 2: Review metrics, decide rollout
  • Week 3: Full integration if successful
  • Week 4: Monitoring dashboard (Prometheus + Grafana)

Configuration

Systemd Service Location

/etc/systemd/system/llamacpp-native.service

Model Location

~/.local/share/llama-models/qwen2.5-7b-ollama.gguf

Binary Location

/home/duane/.local/llama.cpp-b9222/llama-b9222/llama-server

Logs

# Service logs
sudo journalctl -u llamacpp-native -f
 
# Ollama logs
sudo journalctl -u ollama -f
 
# System logs
tail -f /var/log/syslog

Performance Expectations

Current State (Validated)

  • Ollama: 2-14 TPS (variable, 14 TPS peak matches baseline)
  • Native llama.cpp: Not yet fully benchmarked post-reboot
  • Hybrid router: Working, auto-routing correctly

Expected After Integration

  • Short tasks (<50 tok): 10-18 TPS (Ollama path)
  • Long tasks (≥50 tok): 40-60 TPS (native path, 2-4x speedup)
  • Cost savings: 225 current)

Troubleshooting

If llama-server fails to start

sudo systemctl status llamacpp-native
sudo journalctl -u llamacpp-native -n 50

Common issues:

  • GPU memory full → Check nvidia-smi
  • Model file missing → Verify ~/.local/share/llama-models/
  • Binary missing → Check /home/duane/.local/llama.cpp-b9222/

If Ollama slow

# Check service
systemctl status ollama
 
# Test directly
curl -s http://localhost:11434/api/tags | jq .
 
# Check GPU usage
nvidia-smi

If hybrid router fails

  • Both backends tested independently ✅
  • Automatic fallback should trigger
  • Check logs in stderr output
  • Falls back to Ollama if native unavailable

Monitoring Commands

Quick Health Check

# System load
uptime
 
# Services
systemctl is-active ollama llamacpp-native
 
# GPU
nvidia-smi --query-gpu=index,utilization.gpu,memory.used --format=csv
 
# Test hybrid router
cd ~/.claude/PAI/Tools
bun HybridInference.ts --prompt "test" --max-tokens 10

Daily Check (During Soft Launch)

# Backend usage distribution
grep "Routing to" ~/.claude/logs/* 2>/dev/null | \
  awk '{print $NF}' | sort | uniq -c
 
# Average latency per backend
# (will add once logs accumulate)
 
# Error count
grep -i "error\|failed" ~/.claude/logs/* 2>/dev/null | wc -l

Success Criteria Met

  • ✅ System rebooted and load normalized
  • ✅ Both backends running and healthy
  • ✅ Ollama performance restored to baseline
  • ✅ Native llama-server auto-starts on boot
  • ✅ Hybrid router working and routing correctly
  • ✅ All components tested end-to-end

Status: ✅ PRODUCTION READY

Deployed: 2026-07-02 06:18 UTC
Next: Soft launch integration (waiting on principal decision)
Risk: Low (both backends tested, automatic fallback)


Documentation:

  • Quick start: ~/QUICK_START_HYBRID_INFERENCE.md
  • Soft launch plan: ~/.claude/PAI/DOCUMENTATION/SOFT_LAUNCH_PLAN.md
  • Full report: ~/.claude/PAI/DOCUMENTATION/LOCAL_LLM_INVESTIGATION_FINAL_REPORT.md