feat(llm): testing some local models
This commit is contained in:
30
flake.lock
generated
30
flake.lock
generated
@@ -212,11 +212,11 @@
|
|||||||
"rust-analyzer-src": "rust-analyzer-src"
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760510549,
|
"lastModified": 1760596988,
|
||||||
"narHash": "sha256-NP+kmLMm7zSyv4Fufv+eSJXyqjLMUhUfPT6lXRlg/bU=",
|
"narHash": "sha256-+h9FVfiNnsWKpk2HiaecPocq4gWD9GNn5/eVS3I9Z+8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "fenix",
|
"repo": "fenix",
|
||||||
"rev": "ef7178cf086f267113b5c48fdeb6e510729c8214",
|
"rev": "8e99c7d8e07635dea2e1001485f9de41bb1587f2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -803,11 +803,11 @@
|
|||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760531859,
|
"lastModified": 1760621586,
|
||||||
"narHash": "sha256-akjHaa54IEBlgeDNwVuuNdkttbDOStgXpDXeJ5GR2QI=",
|
"narHash": "sha256-sIbe3te3RrL9PY4ASKGwv1KuJs0pyn4Zvo3xIF3jFms=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland",
|
"repo": "hyprland",
|
||||||
"rev": "ab11af9664a80df70fe3398810b79c4298312a33",
|
"rev": "8164b90bc2839d4d2a10c0d2b26c4a413ecf90b2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1278,11 +1278,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760493063,
|
"lastModified": 1760579393,
|
||||||
"narHash": "sha256-yYqrMI9jg7vTjHu4wOiER9HmqE+NvOqOjfYzuMsTo3Y=",
|
"narHash": "sha256-YuXbuaJ/2EZ1FePhz1eTyo/b+kpiEmw4lj6wX0u0Q/0=",
|
||||||
"owner": "fufexan",
|
"owner": "fufexan",
|
||||||
"repo": "nix-gaming",
|
"repo": "nix-gaming",
|
||||||
"rev": "d7f6ab23b939e6e1247321a0e63a89cacb98c03c",
|
"rev": "7d002241668a738df3973a6c07ef5d79e5508b24",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1443,11 +1443,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_8": {
|
"nixpkgs_8": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760284886,
|
"lastModified": 1760524057,
|
||||||
"narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=",
|
"narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43",
|
"rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1626,11 +1626,11 @@
|
|||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760457219,
|
"lastModified": 1760497432,
|
||||||
"narHash": "sha256-WJOUGx42hrhmvvYcGkwea+BcJuQJLcns849OnewQqX4=",
|
"narHash": "sha256-ImhJMtnkBlADdrC8jzMDflhA4WMdaCRKkhsJC2pzPcM=",
|
||||||
"owner": "rust-lang",
|
"owner": "rust-lang",
|
||||||
"repo": "rust-analyzer",
|
"repo": "rust-analyzer",
|
||||||
"rev": "8747cf81540bd1bbbab9ee2702f12c33aa887b46",
|
"rev": "fcfff0827f64a91f5676d617f0d4dd8b58eefbd1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
boot = {
|
boot = {
|
||||||
kernel = {
|
kernel = {
|
||||||
variant = "latest";
|
variant = "latest";
|
||||||
hardware = [ "amd" ];
|
hardware = ["amd"];
|
||||||
};
|
};
|
||||||
loader = {
|
loader = {
|
||||||
default = {
|
default = {
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
};
|
};
|
||||||
graphics = {
|
graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
vendors = [ "amd" ];
|
vendors = ["amd"];
|
||||||
};
|
};
|
||||||
logitech = {
|
logitech = {
|
||||||
enable = false;
|
enable = false;
|
||||||
@@ -73,8 +73,8 @@
|
|||||||
enable = false;
|
enable = false;
|
||||||
};
|
};
|
||||||
hyprland = {
|
hyprland = {
|
||||||
enable = false;
|
enable = true;
|
||||||
withUWSM = false;
|
withUWSM = true;
|
||||||
};
|
};
|
||||||
inkscape = {
|
inkscape = {
|
||||||
enable = false;
|
enable = false;
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
niri = {
|
niri = {
|
||||||
enable = true;
|
enable = false;
|
||||||
};
|
};
|
||||||
pkgs = {
|
pkgs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -73,6 +73,18 @@
|
|||||||
category = "Services";
|
category = "Services";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
ollama = {
|
||||||
|
enable = true;
|
||||||
|
subdomain = "ai";
|
||||||
|
exposure = "local";
|
||||||
|
port = 8001;
|
||||||
|
homepage = {
|
||||||
|
name = "ollama";
|
||||||
|
description = "AI platform";
|
||||||
|
icon = "ollama.svg";
|
||||||
|
category = "Services";
|
||||||
|
};
|
||||||
|
};
|
||||||
bazarr = {
|
bazarr = {
|
||||||
enable = true;
|
enable = true;
|
||||||
subdomain = "bazarr";
|
subdomain = "bazarr";
|
||||||
|
|||||||
@@ -157,6 +157,38 @@ in {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
(lib.mkIf cfg.ollama.enable {
|
||||||
|
intel-llm = {
|
||||||
|
autoStart = true;
|
||||||
|
image = "intelanalytics/ipex-llm-inference-cpp-xpu:latest";
|
||||||
|
devices = [
|
||||||
|
"/dev/dri:/dev/dri:rwm"
|
||||||
|
];
|
||||||
|
volumes = [
|
||||||
|
"/var/lib/ollama:/models"
|
||||||
|
];
|
||||||
|
environment = {
|
||||||
|
OLLAMA_ORIGINS = "http://192.168.*";
|
||||||
|
SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS = "1";
|
||||||
|
ONEAPI_DEVICE_SELECTOR = "level_zero:0";
|
||||||
|
OLLAMA_HOST = "[::]:11434";
|
||||||
|
no_proxy = "localhost,127.0.0.1";
|
||||||
|
DEVICE = "Arc";
|
||||||
|
OLLAMA_NUM_GPU = "999";
|
||||||
|
ZES_ENABLE_SYSMAN = "1";
|
||||||
|
};
|
||||||
|
cmd = [
|
||||||
|
"/bin/sh"
|
||||||
|
"-c"
|
||||||
|
"/llm/scripts/start-ollama.sh && echo 'Startup script finished, container is now idling.' && sleep infinity"
|
||||||
|
];
|
||||||
|
extraOptions = [
|
||||||
|
"--net=host"
|
||||||
|
"--memory=32G"
|
||||||
|
"--shm-size=16g"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
./lidarr
|
./lidarr
|
||||||
./n8n
|
./n8n
|
||||||
./nextcloud
|
./nextcloud
|
||||||
|
./ollama
|
||||||
./prowlarr
|
./prowlarr
|
||||||
./radarr
|
./radarr
|
||||||
./sonarr
|
./sonarr
|
||||||
|
|||||||
27
modules/server/services/ollama/default.nix
Normal file
27
modules/server/services/ollama/default.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
unit = "ollama";
|
||||||
|
cfg = config.server.services.${unit};
|
||||||
|
in {
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
intel-compute-runtime
|
||||||
|
intel-graphics-compiler
|
||||||
|
level-zero
|
||||||
|
];
|
||||||
|
services.open-webui = {
|
||||||
|
enable = true;
|
||||||
|
host = "0.0.0.0";
|
||||||
|
port = 8001;
|
||||||
|
environment = {
|
||||||
|
ANONYMIZED_TELEMETRY = "False";
|
||||||
|
BYPASS_MODEL_ACCESS_CONTROL = "True";
|
||||||
|
OLLAMA_BASE_URL = "http://localhost:11434";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -5,12 +5,10 @@
|
|||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
];
|
];
|
||||||
|
|
||||||
perSystem =
|
perSystem = {pkgs, ...}: {
|
||||||
{ pkgs, ... }:
|
packages = {
|
||||||
{
|
# instant repl with automatic flake loading
|
||||||
packages = {
|
repl = pkgs.callPackage ./repl {};
|
||||||
# instant repl with automatic flake loading
|
|
||||||
repl = pkgs.callPackage ./repl { };
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user