Instructions to use EditorAI-Geode/editorai-1p5b-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use EditorAI-Geode/editorai-1p5b-v2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="EditorAI-Geode/editorai-1p5b-v2") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("EditorAI-Geode/editorai-1p5b-v2", dtype="auto") - llama-cpp-python
How to use EditorAI-Geode/editorai-1p5b-v2 with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="EditorAI-Geode/editorai-1p5b-v2", filename="editorai-v2-Q4_K_M.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- llama.cpp
How to use EditorAI-Geode/editorai-1p5b-v2 with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf EditorAI-Geode/editorai-1p5b-v2:Q4_K_M # Run inference directly in the terminal: llama-cli -hf EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf EditorAI-Geode/editorai-1p5b-v2:Q4_K_M # Run inference directly in the terminal: llama-cli -hf EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
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 EditorAI-Geode/editorai-1p5b-v2:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
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 EditorAI-Geode/editorai-1p5b-v2:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
Use Docker
docker model run hf.co/EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use EditorAI-Geode/editorai-1p5b-v2 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "EditorAI-Geode/editorai-1p5b-v2" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "EditorAI-Geode/editorai-1p5b-v2", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
- SGLang
How to use EditorAI-Geode/editorai-1p5b-v2 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 "EditorAI-Geode/editorai-1p5b-v2" \ --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": "EditorAI-Geode/editorai-1p5b-v2", "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 "EditorAI-Geode/editorai-1p5b-v2" \ --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": "EditorAI-Geode/editorai-1p5b-v2", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use EditorAI-Geode/editorai-1p5b-v2 with Ollama:
ollama run hf.co/EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
- Unsloth Studio
How to use EditorAI-Geode/editorai-1p5b-v2 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 EditorAI-Geode/editorai-1p5b-v2 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 EditorAI-Geode/editorai-1p5b-v2 to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for EditorAI-Geode/editorai-1p5b-v2 to start chatting
- Pi
How to use EditorAI-Geode/editorai-1p5b-v2 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
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": "EditorAI-Geode/editorai-1p5b-v2:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use EditorAI-Geode/editorai-1p5b-v2 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
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 EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
Run Hermes
hermes
- Docker Model Runner
How to use EditorAI-Geode/editorai-1p5b-v2 with Docker Model Runner:
docker model run hf.co/EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
- Lemonade
How to use EditorAI-Geode/editorai-1p5b-v2 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull EditorAI-Geode/editorai-1p5b-v2:Q4_K_M
Run and chat with the model
lemonade run user.editorai-1p5b-v2-Q4_K_M
List all available models
lemonade list
EditorAI v2 โ 1.5B GD Level Designer with Tool Use
Fine-tune of Qwen/Qwen2.5-1.5B-Instruct that generates Geometry Dash level data and calls tools to plan, check level length, search Newgrounds for songs, analyze the editor state, and more.
Built for the EditorAI Geode mod. Drop-in replacement for the previous experimental tag.
What's new in v2
| v1 (experimental) | v2 | |
|---|---|---|
| Tool-call probe T1 (initial call) | โ | โ |
| Tool-call probe T2 (continue after tool result) | โ โ 50-char dud | โ |
| Tool-call probe T3 (non-level question) | โ โ empty | โ |
| Training method | QLoRA (4-bit) | Full bf16 fine-tune on A100 |
| Training data | 2,585 level-only rows | 3,700 mixed rows (level + tool use + Alpaca instruct) |
| Tool catalog seen during training | none | all 7 EditorAI mod tools |
| Multi-turn tool conversations in data | 0 | ~960 length-loop scenarios |
Tools the model knows
Same names + schemas as the EditorAI Geode mod ships:
get_level_lengthโ current length in seconds, plus target and X-cursoranalyze_levelโ object count, X-span, dominant types, current songthinkโ log a brief planweb_searchโ search the web for inspirationsearch_newgroundsโ find a song by name โ Newgrounds IDget_newgrounds_songโ fetch song metadata by IDdownload_levelโ pull an existing GD level by numeric ID
Files
| File | Size | Use for |
|---|---|---|
editorai-v2-Q4_K_M.gguf |
941 MB | Ollama / llama.cpp (default โ recommended) |
editorai-v2-fp16.gguf |
2.9 GB | Higher quality on capable hardware |
Modelfile.v2 |
2 KB | Ollama Modelfile with tool-capable Qwen2.5 template |
Quick start โ Ollama
# Either pull from registry:
ollama pull entity12208/editorai:v2
# โฆor build from the GGUF + Modelfile in this repo:
ollama create entity12208/editorai:v2 -f Modelfile.v2
Quick start โ llama.cpp
./llama-server -m editorai-v2-Q4_K_M.gguf -c 8192 --jinja
The Modelfile uses Qwen2.5's tool-aware chat template; pass --jinja so llama.cpp respects it.
Inference speed (measured)
| Hardware | Generation t/s |
|---|---|
| GTX 1050 Mobile 4 GB (Pascal) | ~21 |
| RTX 3050 6 GB Mobile (Ampere) | ~50โ70 estimate |
| RTX 4090 | 150โ250 estimate |
VRAM at runtime (Q4_K_M): ~1.5 GB including KV cache at 8K context.
Known quirk
Some Ollama versions silently drop <tool_call> blocks when the model emits arguments as a JSON-encoded string. The companion mod release (Entity12208/EditorAI โฅ v2.2.0) has a parser fallback that recovers both wrapped and unwrapped tool calls. If you wire the model into your own client, mirror that fallback or post-process: if tool_calls is empty but content is bare JSON of shape {"name":..., "arguments":...}, treat it as a tool call.
Training details
- Base:
Qwen/Qwen2.5-1.5B-Instruct - Hardware: 1ร A100 80GB (Lightning.ai)
- Recipe: full bf16 fine-tune (no QLoRA), 2 epochs, lr 2e-4, effective batch 32 (per-device 4 ร grad-accum 8)
- Loss: 1.458 โ 0.312 over 232 steps (~17 min)
- Dataset mix (3,700 rows):
- ~1,500 multi-turn tool-use conversations (length-loops, song search, edits, web search, level download โ exact tool schemas matching the EditorAI mod)
- ~1,500 level-generation rows parsed from real
.gmdfiles - ~700 Alpaca-cleaned general instruction rows
- Tokenizer truncation: left-side (keeps the assistant turn intact)
- All training texts pre-rendered through Qwen2.5's
apply_chat_templateso training tokens exactly match inference tokens.
License
Apache-2.0, inherited from the base model.
- Downloads last month
- 20
4-bit