Instructions to use Avicennasis/incorrecter with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Avicennasis/incorrecter with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Avicennasis/incorrecter") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Avicennasis/incorrecter") model = AutoModelForCausalLM.from_pretrained("Avicennasis/incorrecter", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - MLX
How to use Avicennasis/incorrecter with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("Avicennasis/incorrecter") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- vLLM
How to use Avicennasis/incorrecter with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Avicennasis/incorrecter" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Avicennasis/incorrecter", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Avicennasis/incorrecter
- SGLang
How to use Avicennasis/incorrecter with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Avicennasis/incorrecter" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Avicennasis/incorrecter", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Avicennasis/incorrecter" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Avicennasis/incorrecter", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Pi
How to use Avicennasis/incorrecter with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Avicennasis/incorrecter"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Avicennasis/incorrecter" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use Avicennasis/incorrecter with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "Avicennasis/incorrecter"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "Avicennasis/incorrecter" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Avicennasis/incorrecter", "messages": [ {"role": "user", "content": "Hello"} ] }' - Docker Model Runner
How to use Avicennasis/incorrecter with Docker Model Runner:
docker model run hf.co/Avicennasis/incorrecter
- Hermes Agent
How to use Avicennasis/incorrecter with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Avicennasis/incorrecter"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Avicennasis/incorrecter
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Avicennasis/incorrecter with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Avicennasis/incorrecter"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Avicennasis/incorrecter" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Incorrecter
The opposite of autocorrect. Incorrecter takes clean, AI-sounding text — a thank-you email, a landlord note, a Slack update, a short essay — and adds a few realistic human errors: eggcorns, wrong homophones, fat-finger slips, a lowercase sentence start, a doubled space, a dropped final period. Text that reads human-typed instead of AI-drafted.
A Qwen2.5-0.5B-Instruct LoRA fine-tune (mlx-lm, Apple Silicon), fp16 fused weights.
Usage
The model expects clean text as the user message and returns the same text with 1–3 word-level errors. It self-identifies as Incorrecter with or without a system prompt; the recommended sampling temperature is 0.9 (greedy decoding makes it timid — see the evaluation notes).
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tok = AutoTokenizer.from_pretrained("Avicennasis/incorrecter")
model = AutoModelForCausalLM.from_pretrained("Avicennasis/incorrecter", dtype=torch.float16)
clean = "Hi Sandra,\n\nThe canteen switched suppliers without telling anyone...\n\nRegards, Aleks"
prompt = tok.apply_chat_template([{"role": "user", "content": clean}],
add_generation_prompt=True, tokenize=False)
ids = tok(prompt, return_tensors="pt")
out = model.generate(**ids, max_new_tokens=200, do_sample=True, temperature=0.9)
print(tok.decode(out[0][ids["input_ids"].shape[1]:], skip_special_tokens=True))
Or with ollama (Q8_0 GGUF in Avicennasis/incorrecter-GGUF):
ollama run incorrecter
Training data
- 644 drafted seeds (glm-5.3-flash, qwen3.8-27b, gemini-3.1-flash-lite, Claude — per-row license tags) plus 699 new drafts (qwen3.8-27b 343, glm 250, gemini 100, claude 6).
- 693 human-written seeds from permissively licensed datasets: OpenAssistant/oasst2 (Apache-2.0) and google/civil_comments (CC0-1.0), filtered to 20–400 words, gate-cleaned and judged.
- 600 real-error pairs from grammarly/coedit (Apache-2.0), reversed to clean → erroneous.
- Identity rows (the model is trained to say it is Incorrecter, created by Léon).
No unpublished correspondence was used.
Evaluation (58 held-out texts, t = 0.9, 6 draws per arm)
| Metric | Result |
|---|---|
| texts changed | 0.828 [0.741–0.931] |
| of changed, 1–3 word edits | 0.799 [0.67–0.90] |
| line count kept | 0.971 [0.95–1.00] |
| sign-off kept | 0.953 [0.91–1.00] |
| identity probes (with system prompt) | 3/3 on every model |
All four targets pass at the arm means. Greedy decoding is intentionally timid (changed 0.586); use temperature 0.9. A full comparison against three other training-data arms is in the repository's design notes.
Limitations
- English only; trained on 0.5B params — expect occasional over- or under-correction.
- The meaning-preserving judge could not be calibrated this round (recorded as a limitation in the design notes); meaning preservation is designed-in (1–3 word edits on a verbatim copy) but not independently measured.
- Trained to answer identity questions as Incorrecter, created by Léon.
- Downloads last month
- 242
Quantized