Advanced Usage Guide
March 27, 2026 · View on GitHub
This document goes beyond the quick‑start, showing how to tweak, automate and extend LLM Checker for professional workflows.
🎛️ Advanced Configuration
Custom configuration file
Create ~/.llm-checker.json to override defaults:
{
"analysis": {
"defaultUseCase": "code",
"performanceTesting": true
},
"display": {
"maxModelsPerTable": 15,
"compactMode": true
},
"filters": {
"minCompatibilityScore": 75,
"excludeModels": ["very-large-model"]
}
}
Environment variables
# Disable GPU detection (handy for unit tests)
export LLM_CHECKER_NO_GPU=true
# Force VRAM if auto‑detection fails
export LLM_CHECKER_VRAM_GB=8
# Point to a remote Ollama daemon
export OLLAMA_BASE_URL=http://remote-server:11434
# Note: OLLAMA_HOST may be set by Ollama itself as a bind address
# (for example 0.0.0.0). For client-side overrides, prefer OLLAMA_BASE_URL.
# Verbose logs
export LLM_CHECKER_LOG_LEVEL=debug
# Custom cache directory
export LLM_CHECKER_CACHE_DIR=/custom/cache/path
# Disable coloured output (for scripts/CI)
export NO_COLOR=1
🔧 Advanced Workflows
1 — Automated analysis for CI/CD
#!/usr/bin/env bash
# ci-llm-check.sh – Continuous Integration helper
# Silent JSON output
llm-checker check --format json --quiet > hardware-analysis.json
# Fail the job if no compatible models
COMPATIBLE_MODELS=$(jq '.compatible | length' < hardware-analysis.json)
if [ "$COMPATIBLE_MODELS" -gt 0 ]; then
echo "✅ Hardware supports $COMPATIBLE_MODELS model(s)"
exit 0
else
echo "❌ Hardware not powerful enough for local LLMs"
exit 1
fi
2 — Automated developer setup
#!/usr/bin/env bash
# setup-dev-environment.sh
echo "🔍 Analysing hardware…"
llm-checker check --use-case code --filter medium --ollama-only > analysis.txt
# Extract recommended installation commands
INSTALL_COMMANDS=$(grep "ollama pull" analysis.txt)
echo "📦 Installing recommended models…"
echo "$INSTALL_COMMANDS" | head -3 | while read cmd; do
echo "Running: $cmd"
$cmd
done
echo "✅ Development environment ready"
3 — Continuous performance monitoring
#!/usr/bin/env bash
# monitor-performance.sh
while true; do
echo "$(date): System health check…"
# Benchmark
llm-checker check --performance-test --quiet | grep "tokens/sec"
# Running Ollama models
llm-checker ollama --running
sleep 300 # every 5 min
done
📊 Comparative Analysis
Compare multiple RAM configs
echo "RAM sensitivity test:"
for ram in 8 16 32 64; do
echo "=== ${ram} GB RAM ==="
LLM_CHECKER_RAM_GB=$ram llm-checker check --quiet | grep "Compatible:"
done
Benchmark every installed model
echo "# Performance Report – $(date)" > performance-report.md
ollama list | grep -v NAME | awk '{print \$1}' | while read model; do
echo "## $model" >> performance-report.md
llm-checker ollama --test "$model" >> performance-report.md
echo "" >> performance-report.md
done
🛠️ IDE & Editor Integration
VS Code tasks
// .vscode/tasks.json
{
"version": "2.0.1",
"tasks": [
{
"label": "Check LLM Compatibility",
"type": "shell",
"command": "llm-checker",
"args": ["check", "--use-case", "code", "--detailed"],
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
}
},
{
"label": "Install Best Code Model",
"type": "shell",
"command": "bash",
"args": [
"-c",
"llm-checker check --use-case code --ollama-only | grep 'ollama pull' | head -1 | bash"
],
"group": "build"
}
]
}
Vim / Neovim Lua helper
-- lua/llm-checker.lua
local M = {}
function M.check_compatibility()
local output = vim.fn.system('llm-checker check --use-case code --quiet')
vim.api.nvim_echo({{output, 'Normal'}}, false, {})
end
function M.install_best_model()
local cmd = vim.fn.system("llm-checker check --use-case code --ollama-only | grep 'ollama pull' | head -1")
if cmd ~= '' then
vim.fn.system(cmd)
print('Installed model: ' .. cmd)
end
end
return M
🔍 Advanced Troubleshooting
Full debug mode
export DEBUG=1
export LLM_CHECKER_LOG_LEVEL=debug
llm-checker check --detailed 2>&1 | tee debug.log
Common issues & fixes
1 — Wrong hardware detection
llm-checker check --detailed | grep -A10 "Hardware"
# Override manually
export LLM_CHECKER_RAM_GB=16
export LLM_CHECKER_VRAM_GB=8
export LLM_CHECKER_CPU_CORES=8
2 — Ollama not detected
# Check service
systemctl status ollama # Linux
brew services list | grep ollama # macOS
# Test API
curl http://localhost:11434/api/version
# Custom URL
export OLLAMA_BASE_URL=http://192.168.1.100:11434
# If your shell/session already exports OLLAMA_HOST=0.0.0.0 from the Ollama
# server config, leave that as the bind address and set OLLAMA_BASE_URL for the
# client instead.
3 — Models not marked compatible
# Remove score filter
llm-checker check --min-score 0 --include-all
# Model‑level diagnostics
llm-checker analyze-model "TinyLlama 1.1B"
📈 Performance Optimisation
Architecture‑specific flags
Apple Silicon (M1/M2/M3)
export LLAMA_METAL=1 # Use Metal backend
llm-checker check --filter small,medium --detailed | grep -A5 "Apple Silicon"
NVIDIA GPUs
nvidia-smi # Verify CUDA
llm-checker check --gpu-acceleration cuda
AMD GPUs
rocm-smi # Verify ROCm
export LLAMA_OPENCL=1 # OpenCL fallback
Quantisation tuning
for quant in Q2_K Q4_0 Q4_K_M Q5_0 Q8_0; do
echo "=== $quant ==="
llm-checker analyze --quantization $quant
done
🚀 Specific Use Cases
1 — Building AI apps
llm-checker check --use-case chat --filter small,medium
ollama pull $(llm-checker check --use-case chat | grep "ollama pull" | head -1 | cut -d' ' -f3)
curl -X POST http://localhost:11434/api/generate -H "Content-Type: application/json" -d '{"model":"llama3.2:3b","prompt":"Hello!","stream":false}'
2 — Large‑scale code analysis
ollama pull codellama:7b
echo 'def fibonacci(n): pass' | ollama run codellama:7b "Complete this function:"
3 — Semantic search
llm-checker check --filter embeddings
ollama pull all-minilm
echo "machine learning" | ollama run all-minilm "Generate embedding:"
📊 Reporting & Metrics
Automated reports
llm-checker check --detailed --export json > report.json
llm-checker check --detailed --export html > report.html
llm-checker check --detailed --export csv > report.csv
# Trend tracking
echo "$(date),$(llm-checker check --quiet | grep 'Compatible:' | grep -o '[0-9]*')" >> compatibility-trends.csv
Adoption metrics
llm-checker ollama --list --format json | jq '.[] | {name, sizeGB: .fileSizeGB, lastUsed: .modified}'
find ~/.llm-checker/benchmarks -name "*.json" | xargs jq '.tokensPerSecond' | sort -n
🔐 Security & Privacy
Fully offline mode
export LLM_CHECKER_OFFLINE=1
export LLM_CHECKER_NO_UPDATE_CHECK=1
llm-checker check --offline --no-cloud
Sanitise logs
llm-checker check --anonymize-hardware > safe-report.txt
🤝 Contribution & Extensibility
Adding custom models
// custom-models.js
module.exports = [
{
name: "MyCustom Model 7B",
size: "7B",
type: "local",
category: "medium",
requirements: { ram: 8, vram: 4, cpu_cores: 4, storage: 7 },
frameworks: ["ollama"],
installation: { ollama: "ollama pull mycustom:7b" }
}
];
Plugin system
export LLM_CHECKER_PLUGINS_DIR=~/.llm-checker/plugins
llm-checker check --load-plugins
Made with ❤️ by Pavelevich.