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"
File size: 2,134 Bytes
8d9bafb | 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 | """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}")
|