Rulare AI local pe Windows Server cu Microsoft Foundry Local – alternativa nativă la Ollama (NPU/GPU/CPU automat)

Configurare noua (How To)

Situatie

Ollama este o soluție solidă pentru rulare de LLM-uri locale, dar nu este optimizată nativ pentru Windows: nu folosește automat NPU-ul (pe serverele/laptopurile cu acceleratoare AI), nu se integrează cu Windows Update/drivere, și nu oferă un SDK oficial Microsoft pentru aplicații de producție.

Microsoft Foundry Local este soluția oficială Microsoft de inferență AI locală, ajunsă la disponibilitate generală (GA) în aprilie 2026. Rulează pe Windows, macOS și Linux, folosește ONNX Runtime, alege automat cel mai bun hardware disponibil (NPU → GPU → CPU) și expune un API compatibil OpenAI — deci orice cod scris pentru OpenAI/Ollama poate fi adaptat rapid.

Solutie

Pasi de urmat

Pasul 1 — Instalare Foundry Local

powershell
# Instalare prin winget (necesita Windows Package Manager)
winget install Microsoft.FoundryLocal

# Verifica instalarea
foundry --version

Pasul 2 — Descărcare și rulare primul model

powershell
# Descarca si ruleaza Phi-4-mini (model mic, ruleaza si pe CPU fara GPU)
foundry model run phi-4-mini

# Alte modele disponibile de testat
foundry model list

Phi-4-mini are doar 3.8B parametri și context de 128K — rulează chiar și pe servere fără GPU dedicat, ideal pentru un prim test.

Pasul 3 — Verificare serviciu și port activ

powershell
# IMPORTANT: portul este alocat dinamic, nu presupune ca e mereu 5272
foundry service status

Output tipic:

Service running on http://localhost:5272/v1
Model loaded: phi-4-mini
Hardware: NPU (accelerated)

Pasul 4 — Testare API compatibil OpenAI din PowerShell

powershell
$Port = "5272"  # inlocuieste cu portul afisat la Pasul 3

$Body = @{
    model    = "phi-4-mini"
    messages = @(
        @{ role = "user"; content = "Explica pe scurt ce este Active Directory" }
    )
} | ConvertTo-Json -Depth 3

$Response = Invoke-RestMethod `
    -Uri "http://localhost:$Port/v1/chat/completions" `
    -Method POST -ContentType "application/json" `
    -Body $Body

$Response.choices[0].message.content

Pasul 5 — Integrare într-un script existent (înlocuire Ollama → Foundry Local)

powershell
function Invoke-FoundryLocal {
    param(
        [string]$Prompt,
        [string]$Model = "phi-4-mini",
        [string]$Port = "5272"
    )

    $Body = @{
        model    = $Model
        messages = @(@{ role = "user"; content = $Prompt })
    } | ConvertTo-Json -Depth 3

    try {
        $Response = Invoke-RestMethod `
            -Uri "http://localhost:$Port/v1/chat/completions" `
            -Method POST -ContentType "application/json" `
            -Body $Body -TimeoutSec 60

        return $Response.choices[0].message.content
    }
    catch {
        return "EROARE la interogare Foundry Local: $_"
    }
}

# Exemplu de utilizare - poate inlocui direct Invoke-OllamaAnalysis din solutiile anterioare
Invoke-FoundryLocal -Prompt "Analizeaza acest log de eroare Windows..."

Pasul 6 — Rulare ca serviciu permanent (pornire automată)

powershell
# Configureaza Foundry Local sa porneasca automat cu serverul
foundry service start --startup-type automatic

# Verifica statusul dupa restart
foundry service status

Tip solutie

Permanent

Impact colateral

Foundry Local folosește format ONNX, diferit de GGUF (folosit de Ollama) — modelele nu sunt interschimbabile direct, trebuie descărcate separat prin foundry model. Portul serviciului este dinamic — orice script care îl folosește trebuie să verifice portul curent, nu să îl fixeze. Pe hardware fără NPU, performanța cade automat pe GPU sau CPU, fără configurare suplimentară, dar mai lent. Foundry Local nu este gândit pentru scenarii multi-user/producție la scară mare — pentru asta există varianta separată Azure Local (încă în preview) sau alternative precum vLLM.

Voteaza

(8 din 10 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?