Instructions to use Finn-Technologies/FinnAI-Foundation with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Finn-Technologies/FinnAI-Foundation with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Finn-Technologies/FinnAI-Foundation") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Finn-Technologies/FinnAI-Foundation", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Finn-Technologies/FinnAI-Foundation 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 Finn-Technologies/FinnAI-Foundation:Q4_K_M # Run inference directly in the terminal: llama cli -hf Finn-Technologies/FinnAI-Foundation:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Finn-Technologies/FinnAI-Foundation:Q4_K_M # Run inference directly in the terminal: llama cli -hf Finn-Technologies/FinnAI-Foundation: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 Finn-Technologies/FinnAI-Foundation:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf Finn-Technologies/FinnAI-Foundation: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 Finn-Technologies/FinnAI-Foundation:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf Finn-Technologies/FinnAI-Foundation:Q4_K_M
Use Docker
docker model run hf.co/Finn-Technologies/FinnAI-Foundation:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use Finn-Technologies/FinnAI-Foundation with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Finn-Technologies/FinnAI-Foundation" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Finn-Technologies/FinnAI-Foundation", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/Finn-Technologies/FinnAI-Foundation:Q4_K_M
- SGLang
How to use Finn-Technologies/FinnAI-Foundation 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 "Finn-Technologies/FinnAI-Foundation" \ --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": "Finn-Technologies/FinnAI-Foundation", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'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 "Finn-Technologies/FinnAI-Foundation" \ --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": "Finn-Technologies/FinnAI-Foundation", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Ollama
How to use Finn-Technologies/FinnAI-Foundation with Ollama:
ollama run hf.co/Finn-Technologies/FinnAI-Foundation:Q4_K_M
- Unsloth Desktop
- Pi
How to use Finn-Technologies/FinnAI-Foundation with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Finn-Technologies/FinnAI-Foundation:Q4_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": "Finn-Technologies/FinnAI-Foundation:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use Finn-Technologies/FinnAI-Foundation with Docker Model Runner:
docker model run hf.co/Finn-Technologies/FinnAI-Foundation:Q4_K_M
- Lemonade
How to use Finn-Technologies/FinnAI-Foundation with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Finn-Technologies/FinnAI-Foundation:Q4_K_M
Run and chat with the model
lemonade run user.FinnAI-Foundation-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use Finn-Technologies/FinnAI-Foundation with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Finn-Technologies/FinnAI-Foundation: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 Finn-Technologies/FinnAI-Foundation:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Finn-Technologies/FinnAI-Foundation with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Finn-Technologies/FinnAI-Foundation: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 "Finn-Technologies/FinnAI-Foundation: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"
FinnAI-Foundation
FinnAI-Foundation is a verification-first LoRA fine-tune of
LiquidAI/LFM2.5-VL-1.6B,
prepared by FinnAI Foundation. The weights here are the v3 iteration, the
current best-measured candidate in this line, published both as a ready-to-run
GGUF and as the LoRA adapter that produced it.
What is in this repo
| Path | What it is |
|---|---|
FinnAI-Foundation-Q4_K_M.gguf |
Q4_K_M GGUF for llama.cpp (697 MiB, 4.98 BPW) |
adapter_config.json |
LoRA adapter config (peft) |
adapter_model.safetensors |
LoRA adapter weights (rank 32) |
mmproj-LFM2.5-VL-1.6b-Q8_0.gguf |
Vision projector, Q8_0, required for multimodal llama.cpp |
loss_history.json |
Full training log (loss and eval loss per step) |
Everything needed to run the model is in this repo: pass both the GGUF and
mmproj-LFM2.5-VL-1.6b-Q8_0.gguf to llama-mtmd-cli.
Running the GGUF
llama-mtmd-cli \
-m FinnAI-Foundation-Q4_K_M.gguf \
--mmproj mmproj-LFM2.5-VL-1.6b-Q8_0.gguf \
--image photo.png \
-p "Describe this image."
LiquidAI documents temperature 0.1, min_p 0.15 and repetition penalty 1.05
for the base model; those are the settings used for our measurements.
Reproducing the merged checkpoint from the adapter
from peft import PeftModel
from transformers import AutoModelForImageTextToText
base = AutoModelForImageTextToText.from_pretrained(
"LiquidAI/LFM2.5-VL-1.6B", torch_dtype="auto"
)
model = PeftModel.from_pretrained(base, "Finn-Technologies/FinnAI-Foundation")
merged = model.merge_and_unload()
Method
Supervised distillation in the style of the MiMo-V2.6 recipe: teacher traces
with concise <think> segments plus deterministic verifiers, distilled into
LFM2.5-VL-1.6B with LoRA-SFT, then merged and quantized.
LoRA was applied at rank 32 / alpha 64 / dropout 0.05 over the attention, MLP,
and convolution projection matrices (q_proj, k_proj, v_proj, o_proj,
gate_proj, up_proj, down_proj, fc1, fc2, linear, w1, w2,
w3).
Training
- Base:
LiquidAI/LFM2.5-VL-1.6B(SigLIP2 NaFlex 400M vision encoder, LFM2.5-1.2B backbone, 32k context) - Hardware: single Kaggle T4, fp16, gradient checkpointing
- Steps: 3,590 (one epoch over 114,870 rows, batch 2, accumulation 16)
- Runtime: 33,146 s (9.2 h)
- Final train loss: 0.4739
- Eval loss: 0.37896 (step 1000) -> 0.37209 (2000) -> 0.36878 (3000) -> 0.36843 (3590)
- Checkpoints saved every 500 steps; final adapter saved at end of run
Data
Finn-Technologies/FinnAI-Foundation-100K-v3: 114,870 training rows and a frozen 2,224-row
evaluation split, 27.0% of rows carrying an image, 100% gold-verifier pass with
80.0% verifier coverage and zero answer-template leaks.
v3 is a targeted repair of the v2 iteration: it preserves every v2 row and the
v2 general-domain upsample, then adds eight deterministic prompt variants for
each of the 731 diagram-mermaid rows (731 -> 6,579 rows) to restore visual
weight after v2's general-domain upsample.
Intended use
On-device macOS assistant work: OCR, document and table questions, diagram reading, code and cyber reasoning, and visual UI assistance. Not intended as a safety authority or a substitute for review in high-stakes decisions.
Evaluation
Benchmarks are produced with llama.cpp on the Q4_K_M GGUF using the
sampling parameters LiquidAI documents for the base model (temperature 0.1,
min_p 0.15, repetition penalty 1.05, max_image_tokens=256). Rows whose
inference subprocess fails or times out are scored incorrect rather than
dropped, so run failures cannot inflate a score, and every scored row passes
through a deterministic verifier. Full per-row records are kept.
License
Released under the LFM Open License v1.0, inherited from
LiquidAI/LFM2.5-VL-1.6B. Review that license before commercial use.
- Downloads last month
- 35
4-bit