Instructions to use arcee-ai/Homunculus-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use arcee-ai/Homunculus-GGUF with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("arcee-ai/Homunculus-GGUF", dtype="auto") - llama-cpp-python
How to use arcee-ai/Homunculus-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="arcee-ai/Homunculus-GGUF", filename="Homunculus-IQ2_M.gguf", )
llm.create_chat_completion( messages = "No input example has been defined for this model task." )
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use arcee-ai/Homunculus-GGUF 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 arcee-ai/Homunculus-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf arcee-ai/Homunculus-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf arcee-ai/Homunculus-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf arcee-ai/Homunculus-GGUF: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 arcee-ai/Homunculus-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf arcee-ai/Homunculus-GGUF: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 arcee-ai/Homunculus-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf arcee-ai/Homunculus-GGUF:Q4_K_M
Use Docker
docker model run hf.co/arcee-ai/Homunculus-GGUF:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use arcee-ai/Homunculus-GGUF with Ollama:
ollama run hf.co/arcee-ai/Homunculus-GGUF:Q4_K_M
- Unsloth Studio
How to use arcee-ai/Homunculus-GGUF 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 arcee-ai/Homunculus-GGUF 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 arcee-ai/Homunculus-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for arcee-ai/Homunculus-GGUF to start chatting
- Pi
How to use arcee-ai/Homunculus-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf arcee-ai/Homunculus-GGUF: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": "arcee-ai/Homunculus-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use arcee-ai/Homunculus-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf arcee-ai/Homunculus-GGUF: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 arcee-ai/Homunculus-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use arcee-ai/Homunculus-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf arcee-ai/Homunculus-GGUF:Q4_K_M
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 "arcee-ai/Homunculus-GGUF:Q4_K_M" \ --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 arcee-ai/Homunculus-GGUF with Docker Model Runner:
docker model run hf.co/arcee-ai/Homunculus-GGUF:Q4_K_M
- Lemonade
How to use arcee-ai/Homunculus-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull arcee-ai/Homunculus-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.Homunculus-GGUF-Q4_K_M
List all available models
lemonade list
"Wait, but" collapse
That's my very first generation using "/think" as system prompt, inferring through ollama.
Here is my Modelfile:
FROM hf.co/arcee-ai/Homunculus-GGUF:Q4_K_M
TEMPLATE """{{- if .Messages }}
{{- if or .System .Tools }}<|im_start|>system
{{- if .System }}
{{ .System }}
{{- end }}
{{- if .Tools }}
# Tools
You may call one or more functions to assist with the user query.
You are provided with function signatures within <tools></tools> XML tags:
<tools>
{{- range .Tools }}
{"type": "function", "function": {{ .Function }}}
{{- end }}
</tools>
For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:
<tool_call>
{"name": <function-name>, "arguments": <args-json-object>}
</tool_call>
{{- end }}<|im_end|>
{{ end }}
{{- range $i, $_ := .Messages }}
{{- $last := eq (len (slice $.Messages $i)) 1 -}}
{{- if eq .Role "user" }}<|im_start|>user
{{ .Content }}<|im_end|>
{{ else if eq .Role "assistant" }}<|im_start|>assistant
{{ if .Content }}{{ .Content }}
{{- else if .ToolCalls }}<tool_call>
{{ range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
{{ end }}</tool_call>
{{- end }}{{ if not $last }}<|im_end|>
{{ end }}
{{- else if eq .Role "tool" }}<|im_start|>user
<tool_response>
{{ .Content }}
</tool_response><|im_end|>
{{ end }}
{{- if and (ne .Role "assistant") $last }}<|im_start|>assistant
{{ end }}
{{- end }}
{{- else }}
{{- if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
{{ end }}{{ .Response }}{{ if .Response }}<|im_end|>{{ end }}"""
SYSTEM /nothink
PARAMETER stop <|im_start|>
PARAMETER stop <|im_end|>
PARAMETER repeat_penalty 1
PARAMETER temperature 0.6
PARAMETER top_k 20
PARAMETER top_p 0.95
PARAMETER num_gpu 100
PARAMETER num_ctx 32768
Prompt:
If a regular hexagon has a short diagonal of 64, what is its long diagonal?
And here is how it ended up:
Wait, angle at B is 120°, so angles at A and C would be 30° each. Because angle at B is 120°, and angles at A and C would be 30° each, adding up to 180°. So 30° each. Wait, no, 120° + 30° + 30°. No, wait, angle at B is 120°, so angles at A and C would be 30° each. Wait, but 30° + 30° + 120°, which is not possible. Wait, no, if the triangle is isosceles triangle? Wait, no, but in the triangle ABC, we have angle at B is 120°, so angles at A and C would be equal since it's an isosceles triangle. Wait, but if angle at B is 120°, so angles at A and C would be 30° each. Wait, 120° + 30° + 30°, but that's not possible. Wait, no, 120° + 30° + 30°. Wait, if angle at B is 120°, and angles at A and C are equal. So, if angle at A is equal to angle at C, so angle at B is 120°, then angle at A is 30°, and angle at C is 30°, but angle at B is 120°, so total is 180°. So, angle at B is 120°, and angle at A and angle C is 30° each, so 30° + 30° = 60°, no. Wait, maybe I'm getting confused. Let me start over.
In triangle ABC, angle at B is 120°. If angle at B is 120°, and angles at A is 30°, and angles at C is 30° each. So, angle at B is 120°, angles at A is 30°, so angle at A is 30°. So, angle at B is 120°, angle at A is 30°, angle at C is 30°, total angles sum to 180°. So, if angle at B is 120°, and angles at A and C are 30° each, so 30° and 30°, so total is 180°. Wait, no. Let me think again.
Wait, in triangle ABC, AB = r, BC = r, and AC = r√3. Wait, no. AB = r, BC = r, and AC = r√3. Wait, no, the triangle ABC is an isosceles triangle. Wait, in triangle ABC, with AB = r, BC = r, but AC = r√3. Wait, I need to think of the triangle ABC. Wait, AB = r, but AB = r. Wait, no, but I need to think of the triangle. Let me think of the triangle.
Wait, I need to think of triangle. Wait, but. Let me think. Wait, no. Let's think. Hmm, triangle ABC. Let me think of the triangle, the AB is r. Wait, I need to think.
Wait, the triangle ABC. Wait, AB is r, and BC is r. Wait, the triangle ABC. Let me think of the triangle. Let me think. Let me think.
Wait, but. Let me think. Hmm, wait, so I should think. Hmm. Hmm, no, but. Let me think.
Wait, I need to think of the triangle. Wait, the triangle. Hmm.
Wait, no. Hmm. I need to think of the triangle.
Wait, the triangle. Let me think. Hmm.
Wait, but I need to think.
Wait, but me. Hmm.
Wait, but me think. Hmm.
Wait, think.
Wait, but, but.
Wait, think of the triangle. Hmm, but.
Wait, the triangle. Hmm, the triangle. Wait, but I need to think.
Wait, but think. Hmm.
Wait, think.
Wait. Hmm. Hmm.
Wait, me.
Wait, but. Wait, I need to think of the triangle and the triangle.
Wait, but, maybe.
Wait, but me. Hmm.
Wait, the triangle.
Wait, triangle, but. Wait, no.
But, me think. Hmm.
Wait, but. But this is confusing. But. Wait, but.
But, me.
Wait, but, and.
But, I need to think. Hmm.
Wait, think. Wait, but.
Wait, think.
Wait, but, but.
Wait, think. Wait, but.
Wait, but.
Wait.
But.
Wait, but.
But, but.
Wait, I need to think.
Wait, but.
Wait, but.
Wait, but.
Wait.
Wait, but.
Wait.
Wait, but.
Wait, but.
Wait.
But, wait.
But.
Anyway, I need to think.
Wait, to think.
Wait, think.
Wait, to think.
Wait, but, I need to think.
Wait, and think.
Wait, but.
Wait, think.
Wait, think.
Wait, but.
Wait, think.
Wait, think.
Wait, but.
Wait, but.
I had a good laugh :DD The "but wait" paroxysm!
I stopped the generation at approx 11 376 tokens, so way beyond the 32K. It actually came to the correct solution pretty early in the generation, but then it went on the "wait, I need to verify" path from which it never came back. I stopped the generation.
The 3 next generations were shorter and arrived to the correct solution, so I might have been unlucky with this first attempt.
Edit: I gave it several other trials to see if I can replicate the first one. At the attempt 5/5 it occurred again, this time being at ~ 11 196, so it seems there is a threshold around there.
Here is how the trial 5/5 ended up before I stopped:
Wait, s√3 = s. Hmm. Let me think of the triangle with two vertices and the center. No, I need to think of the triangle formed by two vertices and the center. Wait, each triangle formed by the center and two adjacent vertices is a triangle with side s, so the distance between two vertices separated by one vertex is s√3. So, if you take two vertices separated by one vertex, which is s√3. The distance between two vertices separated by one vertex is s√3. The distance between two opposite vertices is 2s. The radius is s. So, the distance between two vertices separated by one vertex is s√3. So, if the radius is s, then the distance between two vertices separated by one vertex is s√3. Hmm. Wait, but I need to think of the triangle formed by the center and two vertices separated by one vertex. Hmm, no. Wait, perhaps I should think of the triangle formed by two adjacent vertices. Hmm, maybe I should think of the triangle formed by the center and two adjacent vertices. Oh, no. Wait, the triangle formed by the center and two adjacent vertices. Hmm. Let me think. Hmm. Wait, no. Hmm.
Wait, let me think of the triangle formed by the center and two vertices. Hmm, no. Wait, the triangle formed by the center and two vertices. Hmm. Hmm, the triangle formed by the center and two vertices. Hmm. Wait, no. Wait, let me think of the triangle formed by the center. Wait, no. Wait, I need to think. Hmm, no. Hmm, no. Hmm. Let me think. Hmm, Wait, no. Hmm, I think I need to think. Hmm, hmm, no. Hmm, no, but I need to think. Hmm, no. Hmm, I need to think. Hmm, no. Hmm. Hmm, no. Hmm. Hmm, no. Hmm, no. Hmm. Hmm. Hmm, no. Hmm. Hmm, no. Wait, I need to think. Hmm. Let me think. Hmm, no. Hmm. Hmm, no. Wait, think. Wait, I think. Hmm, no. Hmm, no. Hmm. Wait, I need to think. Hmm, no. Hmm, I need to think. Wait. Hmm, no. Hmm. Hmm, no. Hmm, no. Hmm. Hmm, I need to think.
Wait, no. Hmm, no. Hmm, no. Hmm, no. Hmm. Hmm, no. Hmm, no. Hmm. Hmm, no. Wait, I think. Hmm, no. Wait, no. Hmm, no.
Okay, think. Wait, but I need to think. Hmm, no. Hmm, I need to think. Hmm, no. So, I need to think. Hmm, but no. Hmm, no. Hmm, no. Hmm, no. Wait, I need to think. Hmm, no. Hmm. Wait, no. Hmm, but. Hmm, no. Hmm. Hmm, no. Hmm. Hmm, no. Hmm, no. Wait, I need to think. Hmm, no. Wait, no. Hmm. Hmm, no. Wait, no. Hmm, no. Hmm. Hmm. Hmm, no. Hmm, no.
Set the repeat penalty to 1.1: same result around 11K tokens, just a bit more variation in the loop:
I think that coordinate system:Vertex1 is at (R) 20.
Wait, but maybe?
If I should be in coordinate. Maybe if it's coordinate.
So, the coordinates are R.
Okay, vertex1 and vertex4. So if you have a regular hexagon, so each side s=64? Wait, no.
But wait, okay.
But I need to think of coordinate system, but maybe.
Wait, but in a regular polygons that coordinate.
I should check the coordinate system: Vertex0 is at (R). The distance between vertex1 and vertex2 is s. But I need to think about.
Okay, let's.
Let me.
Yes, coordinates.
But.
Wait, okay.
No, wait, but.
Okay, I can't.
So.
But in a regular polygon, the coordinate system.
I'm not.
Wait, okay.
Wait, no, but here.
Alternatively:
Wait, I think about coordinates. So if you're.
Wait, so.
this is funny lol