# Ollama remoto en otra PC (red local)

Escenario:
- PC A: servidor Laravel (sin capacidad para modelos grandes)
- PC B: nodo IA con Ollama + modelos

## 1) Configurar PC B (nodo IA)

Instalar Ollama y descargar modelos:

```powershell
ollama pull qwen3:latest
ollama pull llama3:latest
```

Configurar host para escuchar en LAN:

```powershell
setx OLLAMA_HOST "0.0.0.0:11434"
```

Reiniciar Ollama (cerrar/abrir app o reiniciar servicio).

```powershell
New-NetFirewallRule -DisplayName "Ollama LAN" -Direction Inbound -Protocol TCP -LocalPort 11434 -Action Allow
```

Firewall en PC B:
- Permitir puerto TCP `11434`
- Restringir origen a la IP privada de PC A (servidor Laravel)


## 2) Configurar PC A (Laravel)

En `.env`:

```env
OLLAMA_ENDPOINT=http://192.168.1.50:11434
OLLAMA_MODEL=qwen3:latest
OLLAMA_FALLBACK_MODEL=llama3:latest
OLLAMA_CONNECT_TIMEOUT_SECONDS=5
OLLAMA_TIMEOUT_SECONDS=120
OLLAMA_RETRIES=2
```

Aplicar configuracion:

```powershell
php artisan config:clear
php artisan config:cache
```

## 3) Prueba de conectividad desde Laravel

```powershell
php artisan app:ollama-health-check
```

Si funciona, el comando debe mostrar:
- endpoint alcanzable
- modelos detectados
- respuesta de prueba de generacion

## 4) Recomendaciones de seguridad

- No expongas `11434` a internet.
- Limita acceso por firewall a IP(s) internas necesarias.
- Si necesitas mas control, coloca reverse proxy interno con autenticacion.

## 5) Troubleshooting

- Timeout: revisar IP/puerto/firewall y `OLLAMA_HOST`.
- Model not found: ejecutar `ollama pull` en PC B.
- Latencia alta: usa modelos mas ligeros (`qwen3:4b`, `llama3.2`) o reduce concurrencia de workers.
