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
# Instalare prin winget (necesita Windows Package Manager)
winget install Microsoft.FoundryLocal
# Verifica instalarea
foundry --version
Pasul 2 — Descărcare și rulare primul model
# 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
# 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
$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)
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ă)
# Configureaza Foundry Local sa porneasca automat cu serverul
foundry service start --startup-type automatic
# Verifica statusul dupa restart
foundry service status
Leave A Comment?