AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Custom inference engine for Qwen3.5-9B on a single Tenstorrent N300 card (two Wormhole chips). All device operations use hand-written Tensix kernels via the tt-metalium C++ API — no ttnn dependency. Supports prefix caching for fast multi-turn conversations.
Measured on a Tenstorrent N300 (2x Wormhole) in a 4-CPU container. The first few tokens are slower while Metal Traces are captured; subsequent tokens run at steady state.
• Tenstorrent N300 card
• clang-20
• tt-metalium SDK v0.66 (installed via debs)檢視完整 README ↗Custom inference engine for Qwen3.5-9B on a single Tenstorrent N300 card (two Wormhole chips). All device operations use hand-written Tensix kernels via the tt-metalium C++ API — no ttnn dependency. Supports prefix caching for fast multi-turn conversations.
https://github.com/user-attachments/assets/f9da983a-4178-4ab0-b22a-7cbaa2b7cf8e
Measured on a Tenstorrent N300 (2x Wormhole) in a 4-CPU container. The first few tokens are slower while Metal Traces are captured; subsequent tokens run at steady state.
| Metric | Value |
|---|---|
| Decode throughput | ~8.2 tok/s (~122 ms/tok) |
| Prefill throughput | ~87 tok/s |
| Model size on device | ~9.5 GB (BFP8_B across 2 chips) |
Install the tt-metalium debs (one-time):
~/install-tt-metal-debs.sh
Build everything:
make -j$(nproc)
The default model (vibekernels/Qwen3.5-9B-GGUF:BFP8B-tiled) is automatically downloaded from HuggingFace on first run and cached in ~/.cache/qwen-models/.
Run the smoke test to verify everything works:
make quicktest # "The capital of France is" -> Paris
Run the full integration test suite (~60s, 8 tests):
make test
make chat # interactive chat CLI
make serve # HTTP server on port 8888
make quicktest # single-prompt smoke test
The HTTP server provides an OpenAI-compatible API and a built-in chat UI:
GET / — Chat UI with streaming responsesPOST /v1/chat/completions — OpenAI-compatible chat APIGET /v1/models — Model listGET /health — Health checkcurl http://localhost:8888/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"qwen3.5-9b","messages":[{"role":"user","content":"Hello!"}],"max_tokens":128}'
Build and run locally:
docker build -t qwen-n300 .
docker run --rm --device /dev/tenstorrent -p 8888:8888 qwen-n300
The container image is published to ghcr.io/vibekernels/qwen3.5-9b-bfp8b-1xn300:latest on every push to main. It can be deployed to Koyeb with a Tenstorrent N300 GPU instance — use the deploy button at the top of this page.
All make targets and the Docker container use sensible defaults. Override as needed:
| Variable | Default | Description |
|---|---|---|
MODEL_PATH | vibekernels/Qwen3.5-9B-GGUF:BFP8B-tiled | GGUF model file or HuggingFace tag |
CTX_SIZE | 4096 | Maximum context length |
PORT | 8888 | HTTP server port |
PUBLIC_KEY | (none) | SSH public key for container remote access |
QUIET | 0 | Set 1 to suppress per-token debug output |
NO_TRACES | 0 | Set 1 to disable Metal Trace replay (useful for debugging) |