Skip to content

Latest commit

 

History

History
101 lines (74 loc) · 3.29 KB

File metadata and controls

101 lines (74 loc) · 3.29 KB

Installation

One-shot install (recommended)

curl -LsSf https://basecompute.co/install.sh | sh

This downloads the prebuilt engine bundle (the libbaseRT.dylib, the basert CLI, and the basert-* runtime tools) into ~/.basert and adds it to your PATH. Restart your shell afterward, then:

basert pull Qwen/Qwen3-0.6B
basert chat Qwen/Qwen3-0.6B

Overrides (set as environment variables before running):

Variable Purpose Default
BASERT_INSTALL_DIR Install location ~/.basert
BASERT_VERSION Specific release tag (e.g. v0.5.0) latest
BASERT_NO_MODIFY_PATH Set to 1 to skip editing shell profiles unset

Requires Apple Silicon (M1+) and macOS 14+. The installer is macOS/arm64 only.

Manual install

BaseRT has two parts you put on your PATH:

  1. The engine — libbaseRT.dylib plus the basert-* runtime tools, distributed as a prebuilt release.
  2. The basert CLI — built from this repository (base-convert).

Requirements

  • Apple Silicon (M1 or later), macOS 14+.
  • Rust 1.85+ (to build the CLI).
  • For bindings: Python 3.9+, Node 18+, or Swift 5.9+ as needed.
  • gh (optional, to download releases).

1. Get the engine

Each release ships a macOS arm64 bundle named basert-engine-macos-arm64-<version>.tar.gz containing libbaseRT.dylib (Metal kernels embedded), the basert-* tools, baseRT.metallib, and the public headers.

gh release download --repo basecompute/baseRT --pattern 'basert-engine-macos-arm64*.tar.gz'
mkdir -p build && tar -xzf basert-engine-macos-arm64*.tar.gz -C build
# build/ now has libbaseRT.dylib + basert-serve, basert-chat, … + baseRT.metallib + include/

See Engine releases for what's in a bundle and how it's produced.

2. Build the basert CLI

cd base-convert
cargo build --release        # produces target/release/basert
cd ..

3. Put both on your PATH

The launcher resolves basert <cmd> to a basert-<cmd> binary sitting next to it or anywhere on PATH, so co-locating them (as a release tarball does) makes everything Just Work:

export PATH="$PWD/build:$PWD/base-convert/target/release:$PATH"

Verify:

basert --help
basert serve --help

Environment variables

Variable Purpose Default
BASERT_MODELS_DIR Where pulled/converted models are cached ~/.cache/baseRT/models
BASERT_LIB_PATH / BASERT_LIB_DIR Where bindings look for libbaseRT.dylib build/ at repo root
HF_TOKEN / HUGGING_FACE_HUB_TOKEN HuggingFace auth for gated/private repos unset
BASERT_HF_CONNECTIONS Parallel range requests per download 24
BASERT_HF_CHUNK_MB Bytes per range request (peak memory is connections × chunk) 16
BASERT_HF_READ_TIMEOUT_SECS How long a download may stall before it is retried 60
BASERT_HF_MAX_RETRIES Retries per chunk (0 fails on the first error) 5
BASERT_HF_XET Use Xet's CAS path for large files (deduplicated, but cannot resume) unset

Next steps