diff --git a/common/home.nix b/common/home.nix index dfa3f941..adda95d5 100644 --- a/common/home.nix +++ b/common/home.nix @@ -57,7 +57,6 @@ in { sd go pandoc - aichat nodejs deploy-rs vcpkg-tool @@ -358,15 +357,15 @@ in { { type = "openai-compatible"; name = "llama"; - api_base = "https://llama.darksailor.dev/v1"; + api_base = "https://llama.darksailor.dev/api/v1"; models = [ { - name = "minstral"; + name = "chat"; } ]; } ]; - model = "llama:minstral"; + model = "llama:chat"; }; }; }; diff --git a/darwin/configuration.nix b/darwin/configuration.nix index 198ca16b..cceedc2d 100644 --- a/darwin/configuration.nix +++ b/darwin/configuration.nix @@ -7,6 +7,8 @@ experimental-features = "nix-command flakes auto-allocate-uids"; max-jobs = 8; trusted-users = ["root" "fs0c131y"]; + substituters = ["https://sh.darksailor.dev"]; + trusted-public-keys = ["mirai:bcVPoFGBZ0i7JAKMXIqLj2GY3CulLC4kP7rQyqes1RM="]; }; extraOptions = '' build-users-group = nixbld diff --git a/nixos/mirai/services.nix b/nixos/mirai/services.nix index ac9019d9..c9c22fbd 100644 --- a/nixos/mirai/services.nix +++ b/nixos/mirai/services.nix @@ -11,6 +11,7 @@ "authelia/servers/darksailor/sessionSecret".owner = config.systemd.services.authelia-darksailor.serviceConfig.User; "authelia/users/servius".owner = config.systemd.services.authelia-darksailor.serviceConfig.User; users.owner = config.systemd.services.authelia-darksailor.serviceConfig.User; + "llama/api_key".owner = config.services.caddy.user; }; }; services = { @@ -108,15 +109,17 @@ enable = true; host = "127.0.0.1"; port = 3000; - # model = builtins.fetchurl { - # sha256 = "61834b88c1a1ce5c277028a98c4a0c94a564210290992a7ba301bbef96ef8eba"; - # url = "https://huggingface.co/bartowski/Qwen2.5.1-Coder-7B-Instruct-GGUF/resolve/main/Qwen2.5.1-Coder-7B-Instruct-Q8_0.gguf?download=true"; - # }; model = builtins.fetchurl { - name = "mistral-7b-claude-chat"; - sha256 = "03458d74d3e6ed650d67e7800492354e5a8a33aaaeabc80c484e28766814085a"; - url = "https://huggingface.co/TheBloke/Mistral-7B-Claude-Chat-GGUF/resolve/main/mistral-7b-claude-chat.Q8_0.gguf?download=true"; + name = "qwen_2.5.1_coder_7b_instruct_gguf"; + sha256 = "61834b88c1a1ce5c277028a98c4a0c94a564210290992a7ba301bbef96ef8eba"; + url = "https://huggingface.co/bartowski/Qwen2.5.1-Coder-7B-Instruct-GGUF/resolve/main/Qwen2.5.1-Coder-7B-Instruct-Q8_0.gguf?download=true"; }; + # extraFlags = ["--" "--in-prefix" "<|im_start|>" "--in-suffix" "<|im_end|>"]; + # model = builtins.fetchurl { + # name = "mistral-7b-claude-chat"; + # sha256 = "03458d74d3e6ed650d67e7800492354e5a8a33aaaeabc80c484e28766814085a"; + # url = "https://huggingface.co/TheBloke/Mistral-7B-Claude-Chat-GGUF/resolve/main/mistral-7b-claude-chat.Q8_0.gguf?download=true"; + # }; }; nginx.virtualHosts."${config.services.nextcloud.hostName}".listen = [ { @@ -137,11 +140,18 @@ reverse_proxy localhost:8080 ''; virtualHosts."llama.darksailor.dev".extraConfig = '' - forward_auth localhost:5555 { - uri /api/authz/forward-auth - copy_headers Remote-User Remote-Groups Remote-Email Remote-Name + handle /api/v1/* { + uri strip_prefix /api/v1 + reverse_proxy localhost:3000 + } + + handle { + forward_auth localhost:5555 { + uri /api/authz/forward-auth + copy_headers Remote-User Remote-Groups Remote-Email Remote-Name + } + reverse_proxy localhost:3000 } - reverse_proxy localhost:3000 ''; virtualHosts."auth.darksailor.dev".extraConfig = '' reverse_proxy localhost:5555 diff --git a/secrets/secrets.yaml b/secrets/secrets.yaml index 7fd17052..02ad0880 100644 --- a/secrets/secrets.yaml +++ b/secrets/secrets.yaml @@ -2,6 +2,7 @@ nextcloud: adminpass: ENC[AES256_GCM,data:v9WXJ3Ig5NcWd+02P8VnaNkMy2yfEQ==,iv:LfS0avmRZfjdqjNE69h7L90ePzzdmtP57X+0U1vAMvs=,tag:Dq90tfGAUyqzTW3oM96IRg==,type:str] llama: user: ENC[AES256_GCM,data:qWbhnc/XLotWzqbEa6ekuMe5kD/GwC9SW8omXvgWqCG1BPPCOI3DtlS4YqKxsIhYmw8MQw+4DPnaWHqjrbIsVSrQ79M=,iv:VeqkKb1N9NSKfuilG6dzYdha8cO4JqJ+YUzmkjrPU+0=,tag:SYwR1oU6VWzNoCBPsMg0uQ==,type:str] + api_key: ENC[AES256_GCM,data:wib+xbb25sTY2K9pacc1mU5eVSyQRurHiCMZyDVSqCAmG4yjkzEykvBevpThNbTZlsk6GZuK4hH0SYJM,iv:GTU6CQ83chXHAuuL0bFMf4L+UWqlcVfXnEE0/SxLzj4=,tag:0LkOSQsuuQd6TK3KHE95TA==,type:str] authelia: users: servius: ENC[AES256_GCM,data:CLhthyoNV1JwrSJubnQ60mIcKHlQm4j4rMJOzraKTYJytdFadbUHHNu9rTGOOEnf8Bp66zWHwb7Nw8djEjCyGjmS2mz4kke9xg/2pIePCcnMVAvjMvrrqDqW7ictz/pRbg==,iv:rvk/Hrq7/JGA7MucBfU6jGBmnwnpKlg/HgqJlxC8/DI=,tag:OeqbIfbnkNiOeJrnk5BWXQ==,type:str] @@ -30,8 +31,8 @@ sops: VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-11-22T17:16:32Z" - mac: ENC[AES256_GCM,data:T7EMjSsNXYgQ1wS4byOk28SCxSWZnd+n1H2zkAsVZztDutk/iN7QFi82UbkVZIKbOky76bNk8UYcF7d1mEHcvzZSgdCM9FhOmyW2p9bA8fu9W7YCQEDNorNO5lL0WSQUBkABfZvBYPsRNErzxaSgIAdHTrdoEolA1ZJNqUpIs6M=,iv:SvMywOMP1ypW2eJ7d9xFLh3wo88SzjhgLZKHNrIVJ0A=,tag:34IamPwZw+RwK9bLUiqp7Q==,type:str] + lastmodified: "2024-11-25T09:41:19Z" + mac: ENC[AES256_GCM,data:F/SCUd9krIKKF7Ro7bFQJsavpRQW/gg+ISmH+ZIr5nR6i9Cyj0+hXYBJXE8cyyPmqSevFvbJjukrmPEybsKr6svHbsUifoxcMSsSZPMgDTjmOrrzpy0P1SrZhm+5aypXIgnvZG95C4tEvaciDOY1pwiRfCkEGisAH6QYStLZkYQ=,iv:cAJd0jjS5RCi+gvcUYC0AvXl5tfEylCx1XGknbpNZSE=,tag:cKW7Q5guq15wAYzO/yDhSw==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.9.1