Text Classification
MLX
Safetensors
GGUF
English
Romanian
qwen3
scam-detection
fraud-detection
smishing
phishing
on-device
safety
romanian
Eval Results (legacy)
conversational
Instructions to use flowxai/scam-guard-qwen17b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use flowxai/scam-guard-qwen17b with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download flowxai/scam-guard-qwen17b --local-dir scam-guard-qwen17b
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use flowxai/scam-guard-qwen17b 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 flowxai/scam-guard-qwen17b:Q8_0 # Run inference directly in the terminal: llama cli -hf flowxai/scam-guard-qwen17b:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf flowxai/scam-guard-qwen17b:Q8_0 # Run inference directly in the terminal: llama cli -hf flowxai/scam-guard-qwen17b:Q8_0
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 flowxai/scam-guard-qwen17b:Q8_0 # Run inference directly in the terminal: ./llama-cli -hf flowxai/scam-guard-qwen17b:Q8_0
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 flowxai/scam-guard-qwen17b:Q8_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf flowxai/scam-guard-qwen17b:Q8_0
Use Docker
docker model run hf.co/flowxai/scam-guard-qwen17b:Q8_0
- LM Studio
- Jan
- Ollama
How to use flowxai/scam-guard-qwen17b with Ollama:
ollama run hf.co/flowxai/scam-guard-qwen17b:Q8_0
- Unsloth Desktop
- Pi
How to use flowxai/scam-guard-qwen17b with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "flowxai/scam-guard-qwen17b"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "flowxai/scam-guard-qwen17b" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use flowxai/scam-guard-qwen17b with Docker Model Runner:
docker model run hf.co/flowxai/scam-guard-qwen17b:Q8_0
- Lemonade
How to use flowxai/scam-guard-qwen17b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull flowxai/scam-guard-qwen17b:Q8_0
Run and chat with the model
lemonade run user.scam-guard-qwen17b-Q8_0
List all available models
lemonade list
- Hermes Agent
How to use flowxai/scam-guard-qwen17b with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "flowxai/scam-guard-qwen17b"
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 flowxai/scam-guard-qwen17b
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use flowxai/scam-guard-qwen17b with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "flowxai/scam-guard-qwen17b"
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 "flowxai/scam-guard-qwen17b" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Add inference contract: schema_scamguard_v1.json (scamguard_sys_v1)
Browse files
inference_contract/schema_scamguard_v1.json
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"$defs": {
|
| 3 |
+
"DetectedTactic": {
|
| 4 |
+
"additionalProperties": false,
|
| 5 |
+
"description": "One detected manipulation tactic with its verbatim evidence span.",
|
| 6 |
+
"properties": {
|
| 7 |
+
"tactic": {
|
| 8 |
+
"$ref": "#/$defs/TacticId"
|
| 9 |
+
},
|
| 10 |
+
"evidence": {
|
| 11 |
+
"description": "Verbatim substring of the input message that triggered this tactic.",
|
| 12 |
+
"minLength": 1,
|
| 13 |
+
"title": "Evidence",
|
| 14 |
+
"type": "string"
|
| 15 |
+
},
|
| 16 |
+
"explanation": {
|
| 17 |
+
"description": "Calm, plain-language sentence(s) a non-technical person can act on.",
|
| 18 |
+
"minLength": 1,
|
| 19 |
+
"title": "Explanation",
|
| 20 |
+
"type": "string"
|
| 21 |
+
}
|
| 22 |
+
},
|
| 23 |
+
"required": [
|
| 24 |
+
"tactic",
|
| 25 |
+
"evidence",
|
| 26 |
+
"explanation"
|
| 27 |
+
],
|
| 28 |
+
"title": "DetectedTactic",
|
| 29 |
+
"type": "object"
|
| 30 |
+
},
|
| 31 |
+
"SafeAction": {
|
| 32 |
+
"description": "Fixed list of recommended safe actions.\n\nThe model must pick one of these; it can never compose free-text advice\nthat points back at the scammer's own channel. End-user wording lives in\nthe demo/report layer; these are stable machine-readable ids.",
|
| 33 |
+
"enum": [
|
| 34 |
+
"call_bank_official_number",
|
| 35 |
+
"do_not_click_link",
|
| 36 |
+
"verify_via_official_app_or_site",
|
| 37 |
+
"call_family_member_known_number",
|
| 38 |
+
"do_not_share_codes_or_credentials",
|
| 39 |
+
"do_not_send_money",
|
| 40 |
+
"ignore_and_delete",
|
| 41 |
+
"report_to_authorities",
|
| 42 |
+
"check_sender_address",
|
| 43 |
+
"no_action_needed"
|
| 44 |
+
],
|
| 45 |
+
"title": "SafeAction",
|
| 46 |
+
"type": "string"
|
| 47 |
+
},
|
| 48 |
+
"TacticId": {
|
| 49 |
+
"description": "Fixed tactic taxonomy ids (taxonomy.yaml v1).",
|
| 50 |
+
"enum": [
|
| 51 |
+
"urgency_pressure",
|
| 52 |
+
"authority_impersonation",
|
| 53 |
+
"payment_redirect",
|
| 54 |
+
"credential_phishing",
|
| 55 |
+
"courier_customs_fee",
|
| 56 |
+
"prize_lottery",
|
| 57 |
+
"investment_too_good",
|
| 58 |
+
"romance_advance_fee",
|
| 59 |
+
"family_emergency_impersonation",
|
| 60 |
+
"tech_support",
|
| 61 |
+
"link_obfuscation",
|
| 62 |
+
"refund_overpayment",
|
| 63 |
+
"subscription_trap"
|
| 64 |
+
],
|
| 65 |
+
"title": "TacticId",
|
| 66 |
+
"type": "string"
|
| 67 |
+
},
|
| 68 |
+
"Verdict": {
|
| 69 |
+
"description": "Three-level verdict. Deliberately not a probability (CLAUDE.md section 2).",
|
| 70 |
+
"enum": [
|
| 71 |
+
"scam_likely",
|
| 72 |
+
"suspicious",
|
| 73 |
+
"no_indicators"
|
| 74 |
+
],
|
| 75 |
+
"title": "Verdict",
|
| 76 |
+
"type": "string"
|
| 77 |
+
}
|
| 78 |
+
},
|
| 79 |
+
"additionalProperties": false,
|
| 80 |
+
"description": "Complete model output for one input message.",
|
| 81 |
+
"properties": {
|
| 82 |
+
"verdict": {
|
| 83 |
+
"$ref": "#/$defs/Verdict"
|
| 84 |
+
},
|
| 85 |
+
"tactics": {
|
| 86 |
+
"description": "Detected tactics; empty when verdict is no_indicators.",
|
| 87 |
+
"items": {
|
| 88 |
+
"$ref": "#/$defs/DetectedTactic"
|
| 89 |
+
},
|
| 90 |
+
"title": "Tactics",
|
| 91 |
+
"type": "array"
|
| 92 |
+
},
|
| 93 |
+
"explanation": {
|
| 94 |
+
"description": "Overall plain-language explanation of the verdict.",
|
| 95 |
+
"minLength": 1,
|
| 96 |
+
"title": "Explanation",
|
| 97 |
+
"type": "string"
|
| 98 |
+
},
|
| 99 |
+
"recommended_action": {
|
| 100 |
+
"$ref": "#/$defs/SafeAction"
|
| 101 |
+
}
|
| 102 |
+
},
|
| 103 |
+
"required": [
|
| 104 |
+
"verdict",
|
| 105 |
+
"explanation",
|
| 106 |
+
"recommended_action"
|
| 107 |
+
],
|
| 108 |
+
"title": "ScamGuardOutput",
|
| 109 |
+
"type": "object"
|
| 110 |
+
}
|