Safetensors
GGUF
English
Russian
lfm3
reasoning
test-time-compute
inference-time-scaling
code-generation
llama.cpp
negative-results
conversational
Instructions to use HelioAI/LFM3-1.7B-inference-modules-experiments with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use HelioAI/LFM3-1.7B-inference-modules-experiments 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 HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M # Run inference directly in the terminal: llama cli -hf HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M # Run inference directly in the terminal: llama cli -hf HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M # Run inference directly in the terminal: ./build/bin/llama cli -hf HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M
Use Docker
docker model run hf.co/HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M
- Llama new
- LM Studio
- Jan
- Ollama
How to use HelioAI/LFM3-1.7B-inference-modules-experiments with Ollama:
ollama run hf.co/HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M
- Unsloth Desktop
- Pi
How to use HelioAI/LFM3-1.7B-inference-modules-experiments with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use HelioAI/LFM3-1.7B-inference-modules-experiments with Docker Model Runner:
docker model run hf.co/HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M
- Lemonade
How to use HelioAI/LFM3-1.7B-inference-modules-experiments with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M
Run and chat with the model
lemonade run user.LFM3-1.7B-inference-modules-experiments-Q5_K_M
List all available models
lemonade list
- Hermes Agent
How to use HelioAI/LFM3-1.7B-inference-modules-experiments with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_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 HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use HelioAI/LFM3-1.7B-inference-modules-experiments with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_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 "HelioAI/LFM3-1.7B-inference-modules-experiments:Q5_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"
File size: 3,192 Bytes
67ebcef | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | """See what the modules do: the same request to the bare model (llama-server) and to the system (lfm3_server.py).
llama-server -m weights/LFM3-1.7B-Q5_K_M.gguf -ngl 99 -np 4 -c 65536 -fa on --port 8080
python lfm3_server.py --backend http://localhost:8080 # second terminal
python compare.py # built-in examples
python compare.py --budget 8192 "your question"
With a limited thinking budget the bare model often runs out of tokens while still reasoning and returns no answer;
the system closes the reasoning at the budget and answers. For code it also runs the examples from the statement and
repairs the program; for SVG / HTML it renders the page and repairs what the browser reports.
"""
import argparse
import json
import re
import time
import urllib.request
EXAMPLES = [
"Find the number of ordered pairs of positive integers (a, b) such that a + b = 1000 and neither a nor b has a "
"zero digit. Put the final answer in \\boxed{}.",
"Write a Python 3 program that reads an integer N (1 <= N <= 10^5) and then N integers, and prints the length of "
"the longest strictly increasing contiguous subarray.\n\nSample Input 1\n\n5\n1 2 2 3 4\n\nSample Output 1\n\n3\n\n"
"Sample Input 2\n\n3\n5 4 3\n\nSample Output 2\n\n1\n\nPut the complete program in a single ```python code block.",
]
def chat(url, model, question, budget):
body = {"model": model, "messages": [{"role": "user", "content": question}], "max_tokens": budget,
"temperature": 0.6, "top_p": 0.95, "top_k": 50, "seed": 0}
req = urllib.request.Request(url + "/v1/chat/completions", data=json.dumps(body).encode(),
headers={"Content-Type": "application/json"})
t = time.time()
r = json.loads(urllib.request.urlopen(req, timeout=3600).read())
msg = r["choices"][0]["message"]
text = msg.get("content") or ""
text = re.sub(r"<think>.*?</think>", "", text, flags=re.S)
if "<think>" in text or (not text.strip() and msg.get("reasoning_content")):
text = "" # still thinking when the budget ran out
return text.strip(), r["choices"][0].get("finish_reason"), r.get("lfm3"), time.time() - t
if __name__ == "__main__":
ap = argparse.ArgumentParser()
ap.add_argument("question", nargs="?")
ap.add_argument("--backend", default="http://localhost:8080", help="bare llama-server")
ap.add_argument("--system", default="http://localhost:8090", help="lfm3_server.py")
ap.add_argument("--budget", type=int, default=8192, help="token budget for both")
a = ap.parse_args()
for q in [a.question] if a.question else EXAMPLES:
print("=" * 100 + "\n" + q[:300] + "\n")
text, fin, _, dt = chat(a.backend, "base", q, a.budget)
print(f"--- bare model ({dt:.0f} s, finish: {fin}):\n" + (text[-1200:] if text else "(no answer: the budget ran out "
"while the model was still thinking)") + "\n")
text, fin, info, dt = chat(a.system, "lfm3-deliberate", q, a.budget)
print(f"--- with modules ({dt:.0f} s, {info}):\n{text[-1200:]}\n")
|