Metadata-Version: 2.4
Name: avrik
Version: 1.0.0
Summary: Avrik: run the Avrik decision models locally (pull, ask, serve).
Author: Avrik AI
Author-email: Avrik AI <avriktech.ai@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Requires-Dist: avrik-server[api,readout]>=1.0.0,<2
Requires-Dist: huggingface-hub>=0.30
Requires-Dist: avrik-server[cpu]>=1.0.0,<2 ; extra == 'cpu'
Maintainer: Avrik AI
Maintainer-email: Avrik AI <avriktech.ai@gmail.com>
Requires-Python: >=3.12
Project-URL: Homepage, https://www.avrik.ai
Project-URL: Models, https://huggingface.co/avrik-ai
Provides-Extra: cpu
Description-Content-Type: text/markdown

# avrik

Run [Avrik](https://huggingface.co/avrik-ai) decision models on your own machine:
`avrik pull`, `avrik ask`, `avrik serve`, `avrik info`.

An Avrik model reads a state and typed questions (yes/no, choice, score, multi-label) and
returns a calibrated probability distribution over each question's options, in one
forward pass with no generated text. Every answer carries the hashes that identify the
exact model, calibration and prompt behind it.

## Install

On a CPU:

```bash
pip install llama-cpp-python==0.3.35 --no-deps --only-binary=:all: \
  --index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
pip install "avrik[cpu]"
```

The first line installs llama.cpp's prebuilt CPU wheel from its own index; without it, pip
compiles llama.cpp, which needs a C++ compiler. On a GPU, `pip install avrik` and run vLLM
on loopback (each model card gives the command), then pass `--vllm-url`.

## Use

```bash
avrik pull Avrik-Lite-4B             # downloads avrik-ai/Avrik-Lite-4B-GGUF and verifies it
avrik ask Avrik-Lite-4B --state "Customer bought headphones 12 days ago, unopened, \
receipt attached. Policy: unopened items within 30 days get a full refund." \
  --noul "Should the refund be approved?" \
  --choice "Which action?=approve,deny,escalate" [--json]
avrik serve Avrik-Lite-4B --port 8080   # /v1/systemone on 127.0.0.1 only
avrik info Avrik-Lite-4B                # provenance: hashes, recipe, calibration
```

| Model | Default build | Hardware |
| --- | --- | --- |
| `Avrik-Lite-4B` | GGUF Q4_K_M (`--format bf16` for GPU) | CPU |
| `Avrik-Pro-12B` | GGUF Q8_0 (`--format bf16` for GPU) | CPU or 16 GB card; bf16 on one GPU |
| `Avrik-Max-31B` | FP8 via vLLM (weights downloaded from Google's repo, verified by hash) | one 80 GB GPU |

Names match in any case. `--dir` uses a local release directory instead of the cache
(`$AVRIK_HOME`, default `~/.cache/avrik`).

## Integrity and privacy

- `pull` downloads a release at a commit pinned inside this package and refuses it unless
  its `MANIFEST.sha256` has the pinned digest; then every file is checked.
- `ask`, `serve` and `info` re-check every file before anything loads. Code files,
  `auto_map`, symlinks and unlisted files are refused (exit 3).
- Only `pull` uses the network. Inference sends no telemetry and stores nothing.

Call the API from Python with [`avrik-sdk`](https://pypi.org/project/avrik-sdk/).

Built on Gemma 4 by Google (Apache-2.0). Licence: Apache-2.0. Security reports:
avriktech.ai@gmail.com.

Website: [www.avrik.ai](https://www.avrik.ai) · Models: [huggingface.co/avrik-ai](https://huggingface.co/avrik-ai) ·
[Acceptable use policy](https://huggingface.co/avrik-ai/Avrik-Pro-12B/blob/main/USE_POLICY.md)
