Installation and Prerequisites

This guide provides instructions for installing system dependencies, updating NPU drivers, compiling the NERVI client, and initializing the Python backend.


💻 System Requirements

Supported Hardware

  • Processor: Intel Core Ultra (Generation 1 or newer) containing an integrated Intel NPU.
  • Accelerator: Intel AI Boost (integrated Neural Processing Unit).
  • RAM: Minimum 16GB (32GB recommended for running larger models like 7B parameters).

Software Requirements

  • Operating System: Windows 11 (64-bit) or modern Linux distribution.
  • Go compiler: Go 1.21 or higher.
  • Python: Python 3.8 to 3.11 (must be added to your system PATH).
  • NPU Driver: Intel NPU Driver version 31.0.100.1234 or higher.

⚙️ Driver Setup (Intel NPU)

Before running local models, you must verify that your processor's NPU driver is installed and active.

Verifying NPU Driver on Windows

  1. Open the Device Manager (right-click the Start Menu and select Device Manager).
  2. Expand the Intel(R) AI Boost category.
  3. Right-click Intel(R) AI Boost and choose Properties.
  4. Check the Driver Version tab. Ensure it is updated.

🛠️ Building the Go CLI Client

  1. Clone the repository:

    git clone https://github.com/dsainvg/NERVI.git
    cd NERVI
    
  2. Compile the binary:

    • Windows:
      go build -o nervi.exe main.go
      
    • Linux/Unix:
      go build -o nervi main.go
      

🤖 Automatic Environment Scaffolding

NERVI uses a self-contained environment strategy to prevent polluting your system-wide Python installation.

On the first invocation of any model-related CLI command, the Go client will execute the setup sequence:

  1. Folder Scaffold: Creates configuration folders under %AppData%\Roaming\nervi.
  2. Virtual Environment: Runs python -m venv venv inside the configuration directory.
  3. Pip Installation: Installs npuserver from PyPI, pulling in openvino-genai, flask, and huggingface-hub.
  4. Sentinel Lock: Writes a .nervi_ready sentinel. Subsequent commands skip the install checks.

🔄 Upgrading the Python Backend

To update the Python backend package:

./nervi update