Instructions to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="chartreuse-verte/orb-human-typeahead-1b-v2.1") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("chartreuse-verte/orb-human-typeahead-1b-v2.1") model = AutoModelForCausalLM.from_pretrained("chartreuse-verte/orb-human-typeahead-1b-v2.1", 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=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - llama-cpp-python
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="chartreuse-verte/orb-human-typeahead-1b-v2.1", filename="GGUF/orb-human-typeahead-1b-v2.1-Q4_0.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0 # Run inference directly in the terminal: llama cli -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0 # Run inference directly in the terminal: llama cli -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0 # Run inference directly in the terminal: ./llama-cli -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
Use Docker
docker model run hf.co/chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
- LM Studio
- Jan
- vLLM
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "chartreuse-verte/orb-human-typeahead-1b-v2.1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "chartreuse-verte/orb-human-typeahead-1b-v2.1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
- SGLang
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 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 "chartreuse-verte/orb-human-typeahead-1b-v2.1" \ --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": "chartreuse-verte/orb-human-typeahead-1b-v2.1", "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 "chartreuse-verte/orb-human-typeahead-1b-v2.1" \ --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": "chartreuse-verte/orb-human-typeahead-1b-v2.1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with Ollama:
ollama run hf.co/chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
- Unsloth Studio
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for chartreuse-verte/orb-human-typeahead-1b-v2.1 to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for chartreuse-verte/orb-human-typeahead-1b-v2.1 to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for chartreuse-verte/orb-human-typeahead-1b-v2.1 to start chatting
- Pi
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
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 chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
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 "chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with Docker Model Runner:
docker model run hf.co/chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
- Lemonade
How to use chartreuse-verte/orb-human-typeahead-1b-v2.1 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull chartreuse-verte/orb-human-typeahead-1b-v2.1:Q4_0
Run and chat with the model
lemonade run user.orb-human-typeahead-1b-v2.1-Q4_0
List all available models
lemonade list
orb-human-typeahead-1b-v2.1
A 1.6B typeahead model that predicts the human's next few words in a roleplay chat — inline "ghost text" for the person typing, not a reply generator for the character. Full fine-tune of ibm-granite/granite-4.0-1b-base.
Most small LMs asked to continue a user's half-typed roleplay message produce fluent but irrelevant text. This model is trained specifically on (conversation context + partial user message → the words the user actually typed next), so its suggestions stay on-scene and in-voice.
Variants
| Path | Format | Use with |
|---|---|---|
/ |
safetensors bf16, plain granite arch |
transformers |
GGUF/orb-human-typeahead-1b-v2.1-Q4_0.gguf |
GGUF Q4_0 (default) | llama.cpp / llama-cpp-python |
GGUF/orb-human-typeahead-1b-v2.1-Q8_0.gguf |
GGUF Q8_0 | llama.cpp / llama-cpp-python |
The original fine-tune used the granitemoehybrid architecture; since this
variant is attention-only and dense, the weights are republished here as the
equivalent plain granite architecture (logit-identical, verified), which
loads everywhere without extras.
Prompt format
Plain text, no chat template. Optional character summary, a marker line, name-prefixed turns, and finally the user's draft — the model continues the draft. Cut the suggestion at the first newline.
<character summary, optional>
***Roleplay chat below***
Sylvara: *She looks down from the watchtower and sees you.*
Traveler: *I approach the encampment.*
Sylvara: *She lowers her bow as you approach the gate.* "State your business, traveler."
Traveler: *I raise both hands slowly and
A completion looks like step into the torchlight, keeping my voice low.*
Notes:
- Trained to trigger at word boundaries only (draft ends on a whole word, or on a trailing space). Mid-word completion is out of scope.
- Trained context: up to ~4 recent turns, summaries ≤400 chars, turns ≤500 chars.
Serving recipe
Greedy, short budget, stop at newline — mirrors how it was trained and evaluated:
from llama_cpp import Llama
llm = Llama("GGUF/orb-human-typeahead-1b-v2.1-Q4_0.gguf", n_ctx=1024)
out = llm.create_completion(prompt, max_tokens=12, stop=["\n"], temperature=0.0)
print(out["choices"][0]["text"])
Or with transformers:
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("chartreuse-verte/orb-human-typeahead-1b-v2.1")
model = AutoModelForCausalLM.from_pretrained("chartreuse-verte/orb-human-typeahead-1b-v2.1")
ids = tok(prompt, return_tensors="pt").input_ids
out = model.generate(ids, max_new_tokens=12, do_sample=False)
print(tok.decode(out[0, ids.shape[1]:], skip_special_tokens=True).split("\n")[0])
Evaluation
Scored on a held-out validation set of real roleplay conversations (120 prompts, conversation-disjoint from training; greedy, 12-token budget, suggestions cut at newline). word-EM@k = fraction of prompts where the first k words of the suggestion exactly match what the user really typed next; prefix-chars = mean length of the exactly-matching leading characters.
| Metric | orb-human-typeahead-1b-v2 | this model |
|---|---|---|
| word-EM@1 | 0.417 | 0.483 |
| word-EM@2 | 0.217 | 0.367 |
| word-EM@3 | 0.142 | 0.267 |
| prefix-chars | 5.41 | 10.89 |
| completion perplexity | 7.34 | 3.56 |
v2.1 is a data-only refresh of v2 (same 1.6B granite base): stage-1 training data was made more diverse and its action distribution flattened, so suggestions stop collapsing onto a few stock gestures. Absolute numbers stay modest by design — creative roleplay is high-entropy, so even a perfect suggester can't guess most continuations.
Training
Two-stage full fine-tune of granite-4.0-1b-base: stage 1 on a large, mostly-synthetic roleplay corpus (self-chat generated to cover the on-scene, in-voice register real users type in), then stage 2 on a smaller private in-domain set in the serve-time prompt format (with stage-1 replay to limit forgetting). Over v2, stage 1 was rebuilt with more diverse scenes and a flattened action distribution, so the model stops falling back on a few stock gestures (v2 over-suggested “I lean back” / “crossing my arms”). Examples are user turns split at word boundaries; loss is on the continuation. Suggestions are single-line by construction (completions end at newline).
Limitations
- English-centric, roleplay register (asterisk actions, quoted dialogue). Out of domain for assistant chat, code, or formal prose.
- Roleplay corpora include mature themes; suggestions can reflect that. Intended as a typing aid for consenting adult users of RP chat apps.
- Not an instruction follower — it only continues drafts in the format above.
- Suggests at word boundaries; won't complete a half-typed word.
- Downloads last month
- 93
Model tree for chartreuse-verte/orb-human-typeahead-1b-v2.1
Base model
ibm-granite/granite-4.0-1b-base