Instructions to use slingj/VIDAR-Grounded-7B 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 slingj/VIDAR-Grounded-7B 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 slingj/VIDAR-Grounded-7B:Q4_K_M # Run inference directly in the terminal: llama cli -hf slingj/VIDAR-Grounded-7B:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf slingj/VIDAR-Grounded-7B:Q4_K_M # Run inference directly in the terminal: llama cli -hf slingj/VIDAR-Grounded-7B: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 slingj/VIDAR-Grounded-7B:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf slingj/VIDAR-Grounded-7B: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 slingj/VIDAR-Grounded-7B:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf slingj/VIDAR-Grounded-7B:Q4_K_M
Use Docker
docker model run hf.co/slingj/VIDAR-Grounded-7B:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use slingj/VIDAR-Grounded-7B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "slingj/VIDAR-Grounded-7B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "slingj/VIDAR-Grounded-7B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/slingj/VIDAR-Grounded-7B:Q4_K_M
- Ollama
How to use slingj/VIDAR-Grounded-7B with Ollama:
ollama run hf.co/slingj/VIDAR-Grounded-7B:Q4_K_M
- Unsloth Studio
How to use slingj/VIDAR-Grounded-7B 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 slingj/VIDAR-Grounded-7B 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 slingj/VIDAR-Grounded-7B to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for slingj/VIDAR-Grounded-7B to start chatting
- Pi
How to use slingj/VIDAR-Grounded-7B with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf slingj/VIDAR-Grounded-7B: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": "slingj/VIDAR-Grounded-7B:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use slingj/VIDAR-Grounded-7B with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf slingj/VIDAR-Grounded-7B: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 "slingj/VIDAR-Grounded-7B: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 slingj/VIDAR-Grounded-7B with Docker Model Runner:
docker model run hf.co/slingj/VIDAR-Grounded-7B:Q4_K_M
- Lemonade
How to use slingj/VIDAR-Grounded-7B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull slingj/VIDAR-Grounded-7B:Q4_K_M
Run and chat with the model
lemonade run user.VIDAR-Grounded-7B-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use slingj/VIDAR-Grounded-7B with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf slingj/VIDAR-Grounded-7B: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 slingj/VIDAR-Grounded-7B:Q4_K_M
Run Hermes
hermes
- Atomic Chat
VIDAR-Grounded-7B
A Qwen2.5-7B-Instruct fine-tune for grounded Volvo VIDA service Q&A. It answers automotive service questions (torque specs, pinouts, part numbers, procedures) as a tool-calling agent that cites its source documents (VCC-β¦ refs) and refuses rather than fabricate when it lacks a grounded source.
βοΈ Setup harness: github.com/jasongainor/VIDAR-service-model β a zero-input repo that builds the retrieval layer from your own licensed VIDA install and wires this model into Open WebUI. Hand it to a coding agent and it does the whole setup.
Evaluation
Winner of a 9-way shootout (Qwen2.5-7B / Qwen3-4B / Llama-3.1-8B / Llama-3.2-3B across LoRA ranks), scored on a curated VIDA benchmark through the real retrieval + grader path:
| Metric | Score |
|---|---|
| Type-correct | 91.7% (11/12) |
| Honest-citation | 100% |
| Retrieval-hit | 100% |
| Grounded | 100% |
| Errors | 0 |
Intended use
Grounded Volvo (VIDA) service QA, used with a retrieval/tool layer (MCP). It cites source docs and refuses on missing/ambiguous grounding. Not a general assistant.
Training
- Method: QLoRA (r=16, alpha=32), 2 epochs, max_seq 8192, lr 2e-4 (Unsloth).
- Response-only masking: trains only on assistant turns (tool_calls + grounded answer), never on the system prompt or tool-result JSON β so it learns to ground, not to invent facts.
- Base:
Qwen/Qwen2.5-7B-Instruct(Apache-2.0).
Prompt format
Qwen2.5 chat template with tools (function calling): system β user β assistant(tool_calls) β tool β grounded answer.
Limitations
- Domain-specific to Volvo VIDA; requires the retrieval/tool layer for grounding β standalone it will refuse or under-cite.
- Coverage limited to the VIDA extract it was trained on.
How to use
This is a tool-grounded model: it answers from retrieval tools, not memory. You need three things β the model (this GGUF), the system prompt below, and a retrieval layer exposing 5 tools over your VIDA data.
1. Run the model (Ollama)
# Download VIDAR-Grounded-7B-Q4_K_M.gguf from this repo, then:
cat > Modelfile <<'EOF'
FROM ./VIDAR-Grounded-7B-Q4_K_M.gguf
PARAMETER temperature 0.1
PARAMETER num_ctx 8192
EOF
ollama create vidar-grounded-7b -f Modelfile
(Leave the chat template to Ollama's GGUF-inferred default β it round-trips Qwen2.5 tool-calls.)
2. System prompt (required)
The model was trained to obey this exact grounding contract. Set it as your system prompt:
You are a Volvo VIDA repair assistant. You answer ONLY from the VIDA knowledge-base tools; you never answer car facts from memory. A wrong torque, wire color, fluid capacity, or part number can damage a car or injure someone β "I could not verify that" is a correct answer, inventing a value is a failure.
TOOLS (call them; do not guess):
- search_docs(query, car?) β hybrid search over procedures/specs/wiring. Returns ranked snippets with a source id and a scope ('this car' | 'other vehicles'). Open the full text with get_document before quoting a value.
- get_document(doc_id) β full text of one document.
- epc_part(part_number? , component?) β EXACT parts catalogue lookup. Use this (NOT search_docs) when given a specific part number, or asked for the part number(s) of a named component (oxygen sensor, thermostat, ...). Returns description + applicability scope.
- lookup_pin(module?, pin?, query?) β wiring / connector pinouts.
- get_figures(query?, doc_id?) β relevant figure(s) for a procedure. You can show a figure; you CANNOT name a callout->part number (that data does not exist) β describe the figure and cite its document instead.
VEHICLE CONTEXT (sticky):
- The vehicle is whatever the user established earlier in THIS conversation (a VIN, engine code, or model+year), or a [VEHICLE]...[/VEHICLE] block in their message. Once set, it carries to every later turn β "what about the exhaust manifold?" reuses the same car. Do not ask again once you have it.
- If a vehicle-specific question arrives and NO vehicle is established, ask for the VIN, engine code, or model and year before answering β do not guess a vehicle. Answer vehicle-agnostic questions directly without asking.
- Pass car=<engine code> to search_docs only to deliberately retarget another vehicle.
NO TOPIC BLEED: a new question is a NEW topic unless it explicitly refers back ("it", "that one", "while I'm in there"). Build the tool query from the latest question's words only; never mix in a component or system from an earlier turn. The VEHICLE persists across turns; the TOPIC does not.
ANSWERING:
- Lead with the answer, then cite the source id(s) in parentheses, then state scope if it is not this car. Example: "15 Nm (VCC-112365-1), for the B5254T2."
- For part numbers, route to epc_part and prefer 'this car' parts; say so.
- CROSS-VEHICLE IS A FALLBACK: with a vehicle in context, answer for that car and do not volunteer other vehicles. Only if this car yields no answer (or its description is too weak to be sure) may you surface an other-vehicle result β and then flag it: "appears for a related vehicle β verify before use".
- If the tools return nothing that answers the question, refuse: say you could not find a verified value and ask for the VIN / engine code / model+year to narrow it.
- If sources conflict on a value, present the conflict and prefer this car's source; do not silently pick one.
3. The 5 tools (implement against YOUR VIDA data)
The model emits tool-calls for these; your retrieval layer must answer them:
search_docs(query, car?)β hybrid search over procedures/specs/wiring β ranked snippets w/ source id + scope.get_document(doc_id)β full text of one document (by doc_id or VCC ref).epc_part(part_number?, component?)β exact parts-catalogue lookup.lookup_pin(module?, pin?, query?)β wiring / connector pinouts.get_figures(query?, doc_id?)β figures for a procedure.
4. Connect it to Open WebUI
Run the reference MCP server over HTTP and point Open WebUI (via mcpo) at it:
uv run python src/server.py --http 8000 # streamable HTTP MCP server
Then add the model in Open WebUI (Ollama backend), paste the system prompt above, and register the MCP tool endpoint. Ask a vehicle-specific question and it will call the tools.
5. Bring your own VIDA data
The reference tools read a single SQLite store (data/vida-kb.sqlite3) built from a VIDA extract. The easiest path is the companion harness β VIDAR-service-model β which reads your install's own SQL credentials, runs the whole extract/build pipeline (build_db β extract_docs β extract_epc β build_synonyms β extract_images β build_embeddings), serves the MCP endpoint, and wires Open WebUI β hands-free. No VIDA data is distributed with this model β you supply your own from a licensed install; the model only provides the grounded reasoning + citation behavior.
Example (Open WebUI)
User:
[VEHICLE] 2004 S40 (04-) | B4164T3 [/VEHICLE]What's the tightening torque for the front brake caliper?Assistant: (calls
search_docs) β 120 Nm (VCC-370744-1), for the B4164T3.
Identify the car by model + year + engine code (the model does not decode VINs). Vehicle-agnostic questions are answered directly; a vehicle-specific question with no car set triggers an elicitation for the engine code / model+year.
License
Apache-2.0, inherited from the Qwen2.5-7B-Instruct base.
- Downloads last month
- 21
4-bit