rustlean / README.md
AfkaraLP's picture
Deploy RustLean v4 GGUF
d634d7e verified
|
Raw
History Blame Contribute Delete
2.33 kB
---
title: RustLean v4 FIM Playground
emoji: 🦀
colorFrom: indigo
colorTo: red
sdk: gradio
sdk_version: "6.20.0"
app_file: app.py
pinned: false
license: apache-2.0
models:
- AfkaraLP/rustlean-gguf
short_description: Cursor-aware Rust FIM code completion
---
# RustLean v4 FIM Playground
Cursor-aware Rust code completion using
[`AfkaraLP/rustlean-gguf`](https://huggingface.co/AfkaraLP/rustlean-gguf) — a
Qwen2.5-Coder-1.5B model fine-tuned for **fill-in-the-middle (FIM)** on Rust,
served via `llama-cpp-python`. RustLean v4 improves private AST exact match
from the base model's 22.5% to 35.0% while matching its deterministic
HumanEvalPack-Rust pass rate.
## How it works
Place a **`<|cursor|>`** marker anywhere in the editor. The app splits the file
into a prefix and a suffix at that marker and builds the Qwen PSM prompt:
```
<|fim_prefix|>{prefix}<|fim_suffix|>{suffix}<|fim_middle|>
```
The generated middle is spliced back in. If there is no suffix, the model runs
in pure prefix-completion mode.
## Hardware (ZeroGPU)
Set the Space hardware to **ZeroGPU** in *Settings → Hardware*.
## Secrets
Add a Space **Secret** named `HF_TOKEN` with a read token
(<https://huggingface.co/settings/tokens>). The Space only needs it if the model
repo is private or to avoid rate limits while downloading the GGUF.
Optional environment overrides (Space Variables or local `.env`):
| Variable | Default | Meaning |
| ---------------- | -------------------------- | -------------------------------------- |
| `MODEL_REPO` | `AfkaraLP/rustlean-gguf` | HF repo id |
| `MODEL_FILE` | `rustlean-v4.Q8_0.gguf` | GGUF filename |
| `RUSTLEAN_CTX` | `8192` | Context window |
| `N_GPU_LAYERS` | `-1` | `-1` offloads all layers to the GPU |
## Local development (NixOS / CUDA)
This repo ships a `flake.nix` for a CUDA dev shell (built for the RTX 2070 Super,
compute capability `sm_75` / Turing):
```bash
nix develop # sets up CUDA + builds llama-cpp-python with GGML_CUDA
cp .env.example .env && edit .env # put your HF_TOKEN here
python app.py
```
On a 2070 Super expect ~40 tok/s decode (per the model card).