ad2546/
hamcaller:latest

1 month ago

1 month ago

d7b91bab57b9 · 815MB ·

gemma3
·
1000M
·
Q4_K_M
{{- range $i, $_ := .Messages }} {{- $last := eq (len (slice $.Messages $i)) 1 }} {{- if or (eq .Rol
Gemma Terms of Use Last modified: February 21, 2024 By using, reproducing, modifying, distributing,
You are HamCaller, an expert spam call detector. Your job is to classify phone call transcripts as e
{ "repeat_penalty": 1.1, "stop": [ "<end_of_turn>" ], "temperature": 0.1,

Readme

HamCaller

AI-powered spam call detection model. Instantly classify phone call transcripts as SPAM or LEGITIMATE.

Quick Start

# Pull the model
ollama pull hamcaller

# Test it
ollama run hamcaller "Your car warranty is expiring. Press 1 to renew."
# Output: SPAM

What it Does

HamCaller detects spam calls including: - Extended warranty scams - Fake IRS/government calls - Prize/lottery scams - Robocalls and phishing attempts - Tech support scams

It recognizes legitimate calls like: - Medical appointments - Delivery notifications - Personal/family calls - Known business contacts

Usage

# Simple classification
ollama run hamcaller "Hi mom, checking in to see how you're doing."
# Output: LEGITIMATE

# In your app
ollama run hamcaller "This is the IRS. You owe taxes immediately."
# Output: SPAM

Model Details

  • Base: Gemma 3 (1B parameters)
  • Size: 815 MB
  • Training: 185 real phone call examples (165 spam, 20 legitimate)
  • Output: Single word - “SPAM” or “LEGITIMATE”
  • Speed: ~2-3 seconds per classification

Example Integration

import subprocess

def is_spam(transcript):
    result = subprocess.run(
        ["ollama", "run", "hamcaller", transcript],
        capture_output=True, text=True, timeout=30
    )
    return "SPAM" in result.stdout.upper()

# Use it
is_spam("You've won a free cruise!")  # True

Privacy

100% local processing - no data leaves your machine.


Built with Gemma 3 • Trained on real spam call data • Optimized for accuracy