โถ๏ธ Qompass AI Quick Start
curl -fSsL https://raw.githubusercontent.com/qompassai/nix/main/scripts/quickstart.sh | sh๐ We STRONGLY advise you read the script BEFORE running it ๐
#!/bin/sh # /qompassai/nix/scripts/quickstart.sh # Qompass AI Nix Quickstart # Copyright (C) 2025 Qompass AI, All rights reserved #################################################### set -eu IFS=' ' : "${XDG_CONFIG_HOME:=$HOME/.config}" : "${XDG_DATA_HOME:=$HOME/.local/share}" : "${XDG_BIN_HOME:=$HOME/.local/bin}" NIX_CONFIG_DIR="$XDG_CONFIG_HOME/nix" NIX_DATA_DIR="$XDG_DATA_HOME/nix" NIX_BIN_DIR="$XDG_BIN_HOME" NIXCONF="$NIX_CONFIG_DIR/nix.conf" FLAKEFILE="$NIX_CONFIG_DIR/flake.nix" mkdir -p "$NIX_CONFIG_DIR" "$NIX_DATA_DIR" "$NIX_BIN_DIR" choose_menu() { title="$1" prompt="$2" opts="$3" default="$4" printf 'โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ\n' printf 'โ Qompass AI ยท Nix QuickโStart โ\n' printf 'โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ\n' printf ' ยฉ 2025 Qompass AI. All rights reserved \n\n' printf ">> %s\n" "$title" n=1 for opt in $opts; do printf " %2d) %s\n" "$n" "$opt" n=$((n + 1)) done printf ' a) all (recommended)\n' printf ' n) none\n' printf ' q) quit\n\n' printf "$prompt [$default]: " read -r ans [ -z "$ans" ] && ans="$default" [ "$ans" = "q" ] && { echo "Aborted." exit 0 } final="" if [ "$ans" = "a" ]; then for o in $opts; do final="$final$o "; done elif [ "$ans" = "n" ]; then final="" else IFS=", " set -- "$ans" for sel; do case $sel in '' | *[!0-9]*) continue ;; esac idx=1 for o in $opts; do [ "$sel" -eq "$idx" ] && final="$final$o " idx=$((idx + 1)) done done unset IFS fi echo "$final" | sed 's/ *$//' } subs="https://cache.nixos.org https://cache.flakehub.com/ https://cuda-maintainers.cachix.org https://cache.iog.io https://cache.garnix.io" trusted_subs="https://cache.nixos.org https://nix-community.cachix.org https://bunker.cachix.org https://cache.garnix.io" sys_feat="ca-derivations nixos-test benchmark big-parallel kvm uid-range" trusted_users="root @wheel $USER" allowed_users="@nixbld $USER @wheel *" printf "Enter your GitHub Personal Access Token (for flakes, optional): " read -r GH_API_TOKEN echo "# Qompass AI Nix XDG Config" >"$NIXCONF" echo "# Auto-generated by quickstart.sh" >"$NIXCONF" echo "####################################################" >"$NIXCONF" echo "" >>"$NIXCONF" cat <>"$NIXCONF" abort-on-warn = true accept-flake-config = true access-tokens = "$GH_API_TOKEN" allow-dirty = true allow-dirty-locks = false allow-import-from-derivation = true allow-new-privileges = true allow-unsafe-native-code-during-evaluation = false allowed-impure-host-deps = allowed-uris = https://github.com/NixOS allow-symlinked-store = true always-allow-substitutes = false auto-allocate-uids = true auto-optimise-store = true build-hook = nix __build-remote build-users-group = nixbld builders-use-substitutes = true commit-lock-file-summary = true compress-build-log = true cores = 0 connect-timeout = 5 debugger-on-warn = true debugger-on-trace = true download-attempts = 5 download-buffer-size = 67108864 download-speed = 0 eval-cache = true eval-profile-file = nix.profile eval-profiler = disabled eval-profiler-frequency = 99 experimental-features = auto-allocate-uids ca-derivations cgroups configurable-impure-env dynamic-derivations fetch-closure fetch-tree flakes git-hashing impure-derivations local-overlay-store mounted-ssh-store nix-command no-url-literals parse-toml-timestamps pipe-operators recursive-nix verified-fetches fallback = true filter-syscalls = true flake-registry = https://github.com/NixOS/flake-registry/raw/master/flake-registry.json fsync-metadata = true fsync-store-paths = false gc-keep-derivations = false gc-reserved-space = 4294967296 http-connections = 25 http2 = true id-count = 8388608 ignore-try = true ignored-acls = security.csm security.selinux system.nfs4_acl impersonate-linux-26 = false json-log-path = keep-build-log = true keep-derivations = true keep-env-derivations = true keep-failed = false keep-going = false keep-outputs = false log-lines = 50 max-build-log-size = 0 max-free = 9223372036854775807 max-jobs = auto max-substitution-jobs = 16 min-free = 4294967296 max-free = 10737418240 nar-buffer-size = 33554432 narinfo-cache-negative-ttl = 3600 narinfo-cache-positive-ttl = 3600 netrc-file = \$HOME/.config/nix/netrc nix-shell-always-looks-for-shell-nix = true print-missing = true pure-eval = true require-sigs = true sandbox = true secret-key-files = ssl-cert-file = store = \$HOME/.nix/store substitute = true show-trace = true stalled-download-timeout = 300 sync-before-registering = true tarball-ttl = 3600 trust-tarballs-from-git-forges = true upgrade-nix-store-path-url = https://github.com/NixOS/nixpkgs/raw/master/nixos/modules/installer/tools/nix-fallback-paths.nix use-registries = true use-sqlite-wal = true use-xdg-base-directories = true warn-dirty = false warn-large-path-threshold = 0 EOF picked=$(choose_menu "Select Nix Substituters" "Pick one or more" "$subs" "a") echo "substituters = $picked" >>"$NIXCONF" picked=$(choose_menu "Select extra-substituters" "Pick one or more" "$subs" "a") echo "extra-substituters = $picked" >>"$NIXCONF" picked=$(choose_menu "Select trusted-substituters" "Pick one or more" "$trusted_subs" "a") echo "trusted-substituters = $picked" >>"$NIXCONF" picked=$(choose_menu "Select system-features" "Pick one or more" "$sys_feat" "a") echo "system-features = $picked" >>"$NIXCONF" picked=$(choose_menu "Select trusted-users" "Pick one or more" "$trusted_users" "a") echo "trusted-users = $picked" >>"$NIXCONF" picked=$(choose_menu "Select allowed-users" "Pick one or more" "$allowed_users" "a") echo "allowed-users = $picked" >>"$NIXCONF" echo "" echo "Your Nix config is written to: $NIXCONF" echo "Restart nix-daemon or open a new shell for changes to take effect." cat <"$FLAKEFILE" { description = "Qompass AI Nix Quickstart flake"; outputs = { self, nixpkgs }: let system = "x86_64-linux"; in { defaultPackage.\${system} = nixpkgs.legacyPackages.\${system}.hello; }; } EOQ echo "A minimal flake.nix example has also been written to: $FLAKEFILE" exit 0
๐งญ About Qompass AI
Matthew A. Porter
Former Intelligence Officer
Educator & Learner
DeepTech Founder & CEO
๐ฅ How Do I Support
๐๏ธ Qompass AI Pre-Seed Funding 2023-2025 ๐ Amount ๐ Date RJOS/Zimmer Biomet Research Grant $30,000 March 2024 Pathfinders Intern Program
View on LinkedIn$2,000 October 2024
Frequently Asked Questions
Q: How do you mitigate against bias?
TLDR - we do math to make AI ethically useful
A: We delineate between mathematical bias (MB) - a fundamental parameter in neural network equations - and algorithmic/social bias (ASB). While MB is optimized during model training through backpropagation, ASB requires careful consideration of data sources, model architecture, and deployment strategies. We implement attention mechanisms for improved input processing and use legal open-source data and secure web-search APIs to help mitigate ASB.
AAMC AI Guidelines | One way to align AI against ASB
AI Math at a glance
Forward Propagation Algorithm
$$ y = w_1x_1 + w_2x_2 + ... + w_nx_n + b $$
Where:
-
$y$ represents the model output -
$(x_1, x_2, ..., x_n)$ are input features -
$(w_1, w_2, ..., w_n)$ are feature weights -
$b$ is the bias term
Neural Network Activation
For neural networks, the bias term is incorporated before activation:
$$ z = \sum_{i=1}^{n} w_ix_i + b $$ $$ a = \sigma(z) $$
Where:
-
$z$ is the weighted sum plus bias -
$a$ is the activation output -
$\sigma$ is the activation function
Attention Mechanism- aka what makes the Transformer (The "T" in ChatGPT) powerful
The Attention mechanism equation is:
$$ \text{Attention}(Q, K, V) = \text{softmax}\left( \frac{QK^T}{\sqrt{d_k}} \right) V $$
Where:
-
$Q$ represents the Query matrix -
$K$ represents the Key matrix -
$V$ represents the Value matrix -
$d_k$ is the dimension of the key vectors -
$\text{softmax}(\cdot)$ normalizes scores to sum to 1
Q: Do I have to buy a Linux computer to use this? I don't have time for that!
A: No. You can run Linux and/or the tools we share alongside your existing operating system:
- Windows users can use Windows Subsystem for Linux WSL
- Mac users can use Homebrew
- The code-base instructions were developed with both beginners and advanced users in mind.
Q: Do you have to get a masters in AI?
A: Not if you don't want to. To get competent enough to get past ChatGPT dependence at least, you just need a computer and a beginning's mindset. Huggingface is a good place to start.
Q: What makes a "small" AI model?
A: AI models ~=10 billion(10B) parameters and below. For comparison, OpenAI's GPT4o contains approximately 200B parameters.
This project is licensed under the Apache License 2.0 โ see LICENSE for the full text.