Skip to main content

AI Email Contact Tagger — klasyfikacja kontaktów z kontrolą prywatności

Project description

email-tagger

AI Email Contact Tagger — enterprise-grade narzędzie do automatycznej klasyfikacji bazy kontaktów e-mailowych z pełną kontrolą prywatności.

pip install email-tagger
email-tagger classify -i kontakty.csv -o otagowane.csv

🧠 Co robi

Czyta CSV z kontaktami, wysyła dane do AI (OpenAI lub lokalny model), i przypisuje tagi w 3 kategoriach:

Kategoria Tagi
Branża e-commerce, saas, fintech, agencja, produkcja, edukacja, zdrowie, nieruchomosci, consulting, it_tech, media, nonprofit, handel, inne
Rola founder, c_level, dyrektor, marketing, sprzedaz, it, hr, operacje, administracja, inne_rola
Intencja potencjalny_klient, aktywny_prospect, partner, zimny_lead, inwestor, media_kontakt, rekruter, nieokreslona

Wynik: oryginalny CSV + 4 nowe kolumny tag_branza, tag_rola, tag_intencja, tag_pewnosc.

🚀 Szybki start

# Instalacja
pip install email-tagger

# Wymagane: klucz API OpenAI (dla profili cloud)
export OPENAI_API_KEY=sk-proj-...

# Podstawowe użycie
email-tagger classify -i kontakty.csv -o otagowane.csv

# Z pełną kontrolą prywatności i budżetem
email-tagger classify -i kontakty.csv -o out.csv --privacy strict-local --budzet 0.50

# Walidacja pliku bez wysyłania do API
email-tagger validate -i kontakty.csv

# Test na małej próbce
email-tagger sample -i kontakty.csv --size 10

# Szacowanie kosztów przed runem
email-tagger estimate -i kontakty.csv --privacy cloud-minimized

🔒 Profil prywatności

Najważniejsza cecha produktu — kontrola jakie dane opuszczają Twoją maszynę.

strict-local

  • Żadne dane nie opuszczają maszyny — używa lokalnego modelu (llama.cpp)
  • Email hashowany, PII maskowane
  • Idealne dla firm z twardymi wymogami compliance

cloud-minimized (domyślny)

  • Tylko niezbędne pola: hash emaila + firma + stanowisko
  • Email NIGDY nie jest wysyłany w czystej postaci
  • PII w notatkach maskowane przed wysłaniem
  • Użytkownik zatwierdza przed runem

enterprise

  • Pełne dane, ale z gwarancją zero-data-retention u providera
  • Wymaga świadomej zgody użytkownika
email-tagger classify -i kontakty.csv -o out.csv --privacy strict-local
email-tagger classify -i kontakty.csv -o out.csv --privacy cloud-minimized
email-tagger classify -i kontakty.csv -o out.csv --privacy enterprise

💰 Koszty

Model gpt-4o-mini: ~$0.15/1M tokenów input, ~$0.60/1M tokenów output.

Dla 1000 kontaktów (200 znaków każdy): **$0.001-0.005 za całość**.

Zawsze sprawdzaj koszt przed runem:

email-tagger estimate -i kontakty.csv

📦 Artefakty

Po każdym runie generowane są:

  • otagowane.csv — główny wynik
  • otagowane.report.json — raport z metrykami i dystrybucją tagów
  • otagowane.errors.csv — błędy per kontakt

⚙️ Subkomendy CLI

Komenda Opis
classify Główne tagowanie kontaktów
validate Sprawdza CSV bez API
sample Test na małej próbce
estimate Szacuje koszt bez wykonywania
cache stats Statystyki cache
cache clear Czyszczenie cache

Opcje classify

Flaga Opis Domyślnie
-i, --input Ścieżka do CSV wymagane
-o, --output Ścieżka wyjściowa wymagane
-b, --batch Rozmiar batcha 10
-m, --model Model AI gpt-4o-mini
--provider Provider (openai, local) openai
--privacy Profil prywatności cloud-minimized
--budzet Max koszt w USD 0 (brak)
--resume Wznów przerwany run
--no-cache Wyłącz cache
-y, --yes Automatyczne potwierdzenie
--debug Logowanie debug

🏗️ Architektura

src/email_tagger/
├── cli.py               # Interfejs CLI
├── models.py             # Pydantic modele (structured outputs)
├── types.py              # Typy pomocnicze
├── cache.py              # SQLite cache wyników
├── checkpoint.py         # Przyrostowy checkpoint/resume
├── cost_estimator.py     # Szacowanie kosztów
├── metrics.py            # Metryki i raporty
├── classifiers/
│   └── contact_classifier.py  # Główna logika klasyfikacji
├── privacy/
│   ├── redactor.py       # Maskowanie PII
│   ├── payload_builder.py # Budowa bezpiecznego payloadu
│   └── policies.py       # Polityki prywatności
├── providers/
│   ├── base.py           # Abstrakcyjny interfejs providera
│   ├── openai_provider.py # OpenAI API
│   ├── local_provider.py  # Lokalny model (llama.cpp)
│   └── factory.py        # Fabryka providerów
└── io/
    ├── readers.py        # Wczytywanie CSV
    ├── writers.py        # Zapis CSV
    └── artifacts.py      # Artefakty runa

🧪 Testy

pip install email-tagger[dev]
pytest tests/ -v

📄 Licencja

MIT — gotowe do komercyjnego użycia.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

email_tagger-0.2.0.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

email_tagger-0.2.0-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file email_tagger-0.2.0.tar.gz.

File metadata

  • Download URL: email_tagger-0.2.0.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for email_tagger-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b97f7ebf2a0def9057098585a99b5e0afd43a487ccc6c9bf177ff1bca7e9032f
MD5 80f5f0e4b8ace78dfb75278283ccf67a
BLAKE2b-256 73b77f7f8cac0db97dcc5dda39e8f47a98d6079726e12abea07e5a6c22271d9a

See more details on using hashes here.

File details

Details for the file email_tagger-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: email_tagger-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for email_tagger-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 18703183c3f8964816591128773b571dbec6ed794931319e2d86733e0c0041db
MD5 2649d026a06052ee53c437223aaad833
BLAKE2b-256 6f2cb5472f83831c556d56fffef7e5f04d10bcf0d09f138fa76ab4d1e8c1e8ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page