Text Classification
Transformers
Safetensors
GGUF
English
lfm3_vl
feature-extraction
rag
hallucination-detection
groundedness
faithfulness
ragtruth
verifier
lora
d1
lfm3
decision-model
custom_code
Eval Results (legacy)
conversational
Instructions to use landtml/d1-2B-RAG-Verifier with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use landtml/d1-2B-RAG-Verifier with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="landtml/d1-2B-RAG-Verifier", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModel processor = AutoProcessor.from_pretrained("landtml/d1-2B-RAG-Verifier", trust_remote_code=True) model = AutoModel.from_pretrained("landtml/d1-2B-RAG-Verifier", trust_remote_code=True, device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use landtml/d1-2B-RAG-Verifier 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 landtml/d1-2B-RAG-Verifier:Q8_0 # Run inference directly in the terminal: llama cli -hf landtml/d1-2B-RAG-Verifier:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf landtml/d1-2B-RAG-Verifier:Q8_0 # Run inference directly in the terminal: llama cli -hf landtml/d1-2B-RAG-Verifier:Q8_0
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 landtml/d1-2B-RAG-Verifier:Q8_0 # Run inference directly in the terminal: ./build/bin/llama cli -hf landtml/d1-2B-RAG-Verifier:Q8_0
Use Docker
docker model run hf.co/landtml/d1-2B-RAG-Verifier:Q8_0
- Llama new
- LM Studio
- Jan
- Ollama
How to use landtml/d1-2B-RAG-Verifier with Ollama:
ollama run hf.co/landtml/d1-2B-RAG-Verifier:Q8_0
- Unsloth Desktop
- Pi
How to use landtml/d1-2B-RAG-Verifier with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf landtml/d1-2B-RAG-Verifier:Q8_0
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": "landtml/d1-2B-RAG-Verifier:Q8_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use landtml/d1-2B-RAG-Verifier with Docker Model Runner:
docker model run hf.co/landtml/d1-2B-RAG-Verifier:Q8_0
- Lemonade
How to use landtml/d1-2B-RAG-Verifier with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull landtml/d1-2B-RAG-Verifier:Q8_0
Run and chat with the model
lemonade run user.d1-2B-RAG-Verifier-Q8_0
List all available models
lemonade list
- Hermes Agent
How to use landtml/d1-2B-RAG-Verifier with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf landtml/d1-2B-RAG-Verifier:Q8_0
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 landtml/d1-2B-RAG-Verifier:Q8_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use landtml/d1-2B-RAG-Verifier with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf landtml/d1-2B-RAG-Verifier:Q8_0
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 "landtml/d1-2B-RAG-Verifier:Q8_0" \ --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"
Download eval/evaluate.py from landtml/d1-2B-RAG-Verifier: direct link, hf CLI and curl.
- Browser
- Download file 2.13 kB
-
https://huggingface.co/landtml/d1-2B-RAG-Verifier/resolve/main/eval/evaluate.py
- Command line
-
hf download hf://landtml/d1-2B-RAG-Verifier/eval/evaluate.py
-
curl -L -o evaluate.py https://huggingface.co/landtml/d1-2B-RAG-Verifier/resolve/main/eval/evaluate.py
2.13 kB
| """Score a predictions file against RAGTruth response-level labels. | |
| Each line: {"id", "task", "supported": bool (gold), "noul": P(supported)}. | |
| A response is flagged as hallucinated when noul < 1 - THRESHOLD_HALLUCINATED. | |
| python evaluate.py test_predictions.jsonl # this model, threshold 0.44 on P(hallucinated) | |
| python evaluate.py test_predictions_untrained.jsonl 0.5 | |
| """ | |
| import json | |
| import sys | |
| import numpy as np | |
| def auroc(score, y): | |
| r = np.argsort(np.argsort(score)) + 1.0 | |
| return (r[y].sum() - y.sum() * (y.sum() + 1) / 2) / (y.sum() * (~y).sum()) | |
| def prf(ph, h, t): | |
| pred = ph >= t | |
| tp = (pred & h).sum() | |
| p, r = tp / max(1, pred.sum()), tp / max(1, h.sum()) | |
| return p, r, 2 * p * r / max(1e-9, p + r) | |
| def decided_at(ph, h, t, accuracy): | |
| """Largest share of responses, most confident first, whose verdicts reach `accuracy`.""" | |
| conf = np.abs(ph - t) | |
| ok = (ph >= t) == h | |
| acc = np.cumsum(ok[np.argsort(-conf)]) / np.arange(1, len(ok) + 1) | |
| good = np.where(acc >= accuracy)[0] | |
| return (good.max() + 1) / len(ok) if len(good) else 0.0 | |
| def ece(ph, h, bins=10): | |
| idx = np.minimum((ph * bins).astype(int), bins - 1) | |
| return sum((idx == b).mean() * abs(ph[idx == b].mean() - h[idx == b].mean()) for b in range(bins) if (idx == b).any()) | |
| rows = [json.loads(line) for line in open(sys.argv[1])] | |
| t = float(sys.argv[2]) if len(sys.argv) > 2 else 0.44 | |
| ph = np.array([1 - r["noul"] for r in rows]) | |
| h = np.array([not r["supported"] for r in rows]) | |
| p, r, f = prf(ph, h, t) | |
| print(f"n={len(rows)} threshold P(hallucinated) >= {t}") | |
| print(f"overall P {p * 100:.1f} R {r * 100:.1f} F1 {f * 100:.1f} AUROC {auroc(ph, h):.3f} " | |
| f"accuracy {((ph >= t) == h).mean() * 100:.1f} ECE {ece(ph, h):.3f}") | |
| print(f"decided at 95% accuracy {decided_at(ph, h, 0.5, .95) * 100:.0f}% at 99% {decided_at(ph, h, 0.5, .99) * 100:.0f}%") | |
| for task in ("QA", "Data2txt", "Summary"): | |
| m = np.array([x["task"] == task for x in rows]) | |
| p, r, f = prf(ph[m], h[m], t) | |
| print(f"{task:<10} P {p * 100:.1f} R {r * 100:.1f} F1 {f * 100:.1f} AUROC {auroc(ph[m], h[m]):.3f}") | |