FrameworX 10.1.5 ships configured to talk to a local Ollama with qwen2.5:7b-instruct by default. This page documents Install-LocalAI.ps1 — the idempotent setup script that gets a fresh machine into that state.
AI Integration → Local AI → First Install Walkthrough (10.1.5 draft)
| Info |
|---|
10.1.5 draft. This page describes functionality scheduled for the FrameworX 10.1.5 release (~2026-04-30). When 10.1.5 ships, the "(10.1.5 draft)" suffix will be removed and this content will become the canonical install reference. |
Run Install-LocalAI.ps1 from the FrameworX AISetup folder. The script is idempotent: re-running on an already-set-up machine is safe and finishes in a few seconds.
| Code Block | ||
|---|---|---|
| ||
powershell -ExecutionPolicy Bypass -File "<FX-install>\AISetup\Install-LocalAI.ps1" |
Replace <FX-install> with your FrameworX install location, typically C:\Program Files\Tatsoft\FrameworX\fx-10.
Step | Action | Skipped if |
|---|---|---|
1 | Pre-checks port 11434 for any conflicting service | port is already held by Ollama |
2 | Installs Ollama via |
|
3 | Starts | endpoint at |
4 | Pulls | model already in |
5 | Smoke-tests inference via | always runs (proves end-to-end working state) |
When all five steps already pass, the script does nothing destructive and returns in seconds.
Item | Value |
|---|---|
Total disk usage | ~6.5 GB (1.8 GB Ollama runtime in |
First-run time | ~5 minutes on a 50 MB/s connection (1.8 GB Ollama installer + 4.7 GB model pull). Slower connections scale linearly. |
Permissions required | None. Ollama installs per-user — no UAC / admin elevation needed. |
First chat latency | ~15 seconds. The model loads from disk into RAM on first call after startup or after the keep-alive window expires. |
Subsequent chat latency | ~500 milliseconds on a typical CPU; faster with a GPU. |
Keep-alive | Default 5 minutes. Idle longer than that and the next call pays cold-load again. Set |
A green run on an already-set-up machine looks like this:
| Code Block | ||
|---|---|---|
| ||
FrameworX Local AI - Install and Verify Default model: qwen2.5:7b-instruct Endpoint: http://localhost:11434/v1/chat/completions ==> Checking port 11434 ok Ollama already serving on 11434 (PID 6224) ==> Checking Ollama install ok Ollama present at C:\Users\<user>\AppData\Local\Programs\Ollama\ollama.exe ==> Checking Ollama server is responding ok Ollama server responding on http://localhost:11434 ==> Checking model 'qwen2.5:7b-instruct' ok Model present (4.36 GB on disk) ==> Smoke-testing inference (this also primes the model into RAM) ok Inference returned in 10.3s: 'pong' All green. Total time: 12.9s. FrameworX is ready to talk to Local AI at http://localhost:11434/v1/chat/completions |
Each ok line is a state-check that found things already correct and skipped the work. On a fresh machine, those ok lines are replaced with progress messages from winget install and ollama pull.
After the script reports All green, open Designer and confirm FrameworX can reach the model:
If the tile shows Unreachable, re-run Install-LocalAI.ps1 — the script's smoke test will surface whatever changed (Ollama not started, model not pulled, port held by another process). If it shows Auth required, see SecuritySecrets Authentication for Local AI (10.1.5 draft). Full configuration reference: Local AI Configuration (10.1.5 draft).
If port 11434 is already held by a different process (LM Studio, llama.cpp server, oobabooga, an old test server, etc.), the script aborts with a clear message naming the offending process. To resolve:
Install-LocalAI.ps1.The script intentionally does NOT kill foreign processes on its own — port 11434 is heavily used by the LLM ecosystem and a silent process kill is the wrong default.
By default Ollama binds localhost only. To run Ollama on a separate machine (typically a GPU server) and have FrameworX talk to it over the network:
OLLAMA_HOST=0.0.0.0:11434 in the system environment, then restart Ollama.SolutionSettings.ModelSettings to point URL at http://<ollama-host-ip>:11434/v1/chat/completions.A future revision of this script will accept a -RemoteHost flag to automate steps 1 and 2.
The default qwen2.5:7b-instruct is a balance of quality and footprint for typical SCADA hardware. To use a different model:
ollama pull <model-name> (for example, qwen2.5:3b for low-RAM gateways, qwen2.5:14b-instruct for capable servers, llama3.1, mistral, etc.).SolutionSettings.ModelSettings and set the Name field to the new model name.Any OpenAI-compatible endpoint works — including cloud LLMs (OpenAI, Azure OpenAI, Anthropic via OpenAI-compat proxy). Set URL and Authorization accordingly.
| Page Tree | ||
|---|---|---|
|