llm-checker/USAGE_GUIDE.md
Pavelevich ef33b20e97 Complete comprehensive documentation and prepare for npm release
- Add complete README.md with installation, usage examples, and architecture overview
- Create detailed USAGE_GUIDE.md with troubleshooting and advanced configuration
- Add TECHNICAL_DOCS.md with implementation details and API documentation
- Include performance benchmarking guide and contribution guidelines
- Document 5-factor scoring algorithm and hardware tier classification
- Add examples for developers, researchers, and casual users
- Prepare project for public npm distribution
2025-08-05 11:42:09 +02:00

8.2 KiB

📚 LLM Checker - Complete Usage Guide

This guide provides detailed examples and use cases for the LLM Checker intelligent model selector.


🎯 Common Use Cases

1. First-Time User - "What model should I use?"

Scenario: You're new to LLMs and want to know what works best on your system.

# Get intelligent recommendation for your hardware
llm-checker ai-check

# See what models are available locally
llm-checker list-models

# Get broader system analysis
llm-checker check

Expected Output:

🧠 INTELLIGENT MODEL SELECTION 
│ 🏆 Selected Model: llama2:7b
│ 📊 Confidence: 100%
│ 🔢 Intelligence Score: 99/100
│ 💡 AI Analysis: Excellent fit for your high hardware configuration...

What to do next: Run ollama pull llama2:7b to install the recommended model.


2. Developer - "I need a coding assistant"

Scenario: You want to find the best model for programming tasks.

# Compare coding-specific models
llm-checker ai-check --models codellama:7b deepseek-coder:6.7b starcoder:7b

# Browse all coding models
llm-checker list-models --category coding

# Quick coding session
llm-checker ai-run --prompt "Help me write a Python function to parse JSON"

Why it works: The intelligent selector considers:

  • Model specialization in coding tasks
  • Context length for large code files
  • Performance on programming benchmarks

3. Researcher - "I need reasoning capabilities"

Scenario: You're doing research and need models good at complex reasoning.

# Compare reasoning models
llm-checker ai-check --models llama2:13b qwen2:7b mistral:7b

# Get category-specific recommendations
llm-checker recommend --category reasoning

# Check what large models you can run
llm-checker ai-check --models llama2:70b claude:20b gpt4:175b

Intelligence in action: Prioritizes models with:

  • Higher parameter counts for complex reasoning
  • Strong performance on reasoning benchmarks
  • Sufficient context length for multi-step problems

4. Hardware Upgrader - "What can I run with better hardware?"

Scenario: You're considering a hardware upgrade and want to see potential.

# Check current capabilities
llm-checker check --detailed

# See what models require more resources
llm-checker list-models --full | grep "16.*GB\|32.*GB"

# Compare small vs large models
llm-checker ai-check --models phi3:mini llama2:7b llama2:13b llama2:70b

Insight: The hardware tier analysis shows exactly what upgrade would unlock new model tiers.


5. Performance Optimizer - "What's the fastest model for my needs?"

Scenario: You need the best performance/speed ratio.

# Find efficient models
llm-checker list-models --popular --limit 20

# Compare performance profiles
llm-checker ai-check --models phi3:mini mistral:7b gemma:7b

# Test multiple sizes of same family
llm-checker ai-check --models llama2:7b llama2:13b

Intelligence factors: Considers inference speed, memory efficiency, and quality balance.


🛠️ Advanced Usage Patterns

Command Chaining for Workflows

# Complete discovery workflow
llm-checker check && \
llm-checker list-models --category coding && \
llm-checker ai-check --models codellama:7b deepseek-coder:6.7b

# Automated model testing
for model in llama2:7b mistral:7b phi3:mini; do
  echo "Testing $model:"
  llm-checker ai-check --models $model
done

JSON Output for Integration

# Export model database
llm-checker list-models --json > my-models.json

# Integrate with scripts
MODEL=$(llm-checker ai-check --models llama2:7b mistral:7b --json | jq -r '.bestModel')
echo "Best model: $MODEL"

Custom Model Comparison

# Compare your installed models
MODELS=$(ollama list | tail -n +2 | awk '{print $1}' | tr '\n' ' ')
llm-checker ai-check --models $MODELS

🎨 Understanding the Output

Intelligence Score Breakdown

Score Range Meaning Action
90-100 Perfect match Use immediately
70-89 Great fit Recommended choice
50-69 Good option Consider if you like the model
30-49 Suboptimal Better alternatives exist
0-29 Poor fit Likely won't work well

Confidence Levels

Confidence Interpretation
95-100% Algorithm is certain about hardware compatibility
80-94% High confidence, good match expected
60-79% Moderate confidence, should work well
40-59% Lower confidence, may have limitations
<40% Uncertain, proceed with caution

Hardware Tier Impact

Your Hardware Tier: HIGH
├── Can run: 7B-13B models optimally
├── Possible: 30B models with limitations  
├── Recommended: llama2:7b, mistral:7b, codellama:7b
└── Avoid: 70B+ models (insufficient memory)

🚨 Troubleshooting

"No models found"

# Check if Ollama is running
ollama list

# Install some models first
ollama pull llama2:7b
ollama pull phi3:mini

# Then rerun
llm-checker ai-check

"Low confidence scores"

This usually means:

  • Limited hardware - Consider smaller models
  • Unusual configuration - Algorithm less certain
  • Memory constraints - Most models too large

Solution: Try with smaller models:

llm-checker ai-check --models phi3:mini gemma:2b qwen2:1.5b

"Model doesn't perform as expected"

The algorithm optimizes for compatibility, not task-specific performance. For specialized needs:

# Check task-specific models
llm-checker list-models --category coding  # For programming
llm-checker list-models --category creative  # For writing

🎓 Tips & Best Practices

1. Start Small, Scale Up

# Begin with efficient models
llm-checker ai-check --models phi3:mini gemma:2b

# Then try larger ones
llm-checker ai-check --models llama2:7b mistral:7b

2. Use Specific Comparisons

# Instead of checking everything
llm-checker list-models --limit 50

# Compare specific candidates  
llm-checker ai-check --models model1 model2 model3

3. Monitor Resource Usage

# Check system impact
llm-checker check --detailed

# Monitor during model execution
htop  # or Activity Monitor on macOS

4. Keep Database Updated

# Regular updates for new models
llm-checker update-db

# Force refresh if needed
llm-checker update-db --force

5. Leverage Categories

llm-checker list-models --category coding    # Programming
llm-checker list-models --category reasoning # Research  
llm-checker list-models --category creative  # Writing

🔬 Advanced Configuration

For Power Users

The intelligent selector can be customized by editing src/ai/intelligent-selector.js:

// Adjust scoring weights
this.performanceWeights = {
    memory_efficiency: 0.40,    // Increase memory priority
    performance_match: 0.30,    // Boost performance importance
    task_optimization: 0.15,    // Reduce task specificity  
    popularity_quality: 0.10,   // Less weight on popularity
    resource_efficiency: 0.05   // Keep efficiency low
};

Custom Model Profiles

Add your own models to the database:

'custom-model:7b': {
    name: 'Custom Model 7B',
    size_gb: 4.2,
    parameters: 7,
    memory_requirement: 8,
    cpu_cores_min: 4,
    cpu_intensive: 0.8,
    specialization: ['custom', 'specialized'],
    quality_score: 9.0,
    popularity_score: 5.0,
    context_length: 8192,
    quantization: 'Q4_0',
    inference_speed: 'medium'
}

📊 Performance Benchmarking

Optional ML Training Pipeline

For users who want to contribute benchmarking data:

# Collect performance data
npm run benchmark

# Process and label data  
cd ml-model && python python/dataset_aggregator.py

# Train TabTransformer model
npm run train-ai

# Use trained model for predictions
llm-checker ai-check --status

This creates an ONNX model that learns from real performance data across different hardware configurations.


💡 Pro Tip: Use llm-checker ai-check --help and llm-checker ai-run --help to see all available options for any command!