Класифікація локальних поштових скриньок за допомогою Ollama та Open Interpreter
Практичний воркфлоу демонструє використання локальних LLM у Docker через Ollama для категоризації тисяч листів без хмарних API та ризиків витоку даних. Двопрохідний конвеєр на базі Open Interpreter та Python успішно обробив 8000 повідомлень Maildir на відеокарті Nvidia RTX 4070.

Вплив: Середній
Чому це важливо
Інженери можуть автоматизувати сортування локальних файлів без передачі чутливих особистих або корпоративних даних до зовнішніх API.
TL;DR
- 01Локальні LLM у Docker на споживчих GPU (наприклад, RTX 4070) обробляють тисячі файлів без витрат на API.
- 02Двопрохідна стратегія дозволяє спочатку виявити природні категорії, а потім застосувати чітку таксономію.
- 03Обривання вмісту до перших 2000 символів прискорює інференс без втрати ключового контексту.
Ключові факти
- Використане залізо
- Nvidia RTX 4070 GPU
- Середовище виконання
- Ollama у Docker-контейнері
- Обсяг даних
- 8000 повідомлень Maildir
- Обрізання листів
- Перші 2000 символів повідомлення
- Час обробки
- ~1 година на прохід для 8000 листів
Локальне налаштування та вимоги до заліза
Для запуску класифікації текстів без хмарних залежностей розгортається Ollama в контейнері Docker з доступом до GPU (наприклад, Nvidia RTX 4070). Локальне виконання гарантує, що чутливі дані Maildir не залишають мережу. Обробка 8000 листів займає близько двох годин у два проходи при аналізі перших 2000 символів кожного повідомлення.
Двопрохідний конвеєр класифікації
Замість жорсткого задавання категорій спочатку виконується дослідницький прохід для виявлення структурних паттернів у датасеті. Далі промпт уточнюється конкретним списком ширших категорій (квитанції, сповіщення, особисті листи). Модель повертає структуровані рядки з розділенням табуляцією, які містять шлях до файлу та мітку.
Скрипти та обробка результатів
Open Interpreter допомагає створити базовий Python-парсер Maildir, хоча потрібні ручні правки шляхів модуля mailbox.Maildir. Отриманий TSV-файл дозволяє використовувати прості shell-скрипти для безпечної масової обробки файлів після візуальної перевірки.
Спробуй за 2 хвилини
import mailbox, requests
def classify_email(text):
prompt = f"Classify this email into one category [Receipt, Notification, Personal]:\n{text[:2000]}"
res = requests.post('http://localhost:11434/api/generate', json={'model': 'llama3', 'prompt': prompt, 'stream': False})
return res.json().get('response', '').strip()python
✓ Коли використовувати
- Категоризація чутливих локальних текстових файлів або Maildir без відправки даних у хмару.
- Очищення великих неструктурованих датасетів, де звичайні regex або ключові слова не працюють.
✕ Коли НЕ варто
- Обробка в реальному часі з низькою затримкою на слабкому обладнанні.
- Задачі, що вимагають 100% суворого дотримання формату виводу без контролю з боку людини.
Що зробити сьогодні
- Розгорнути контейнер Ollama у Docker з прокиданням GPU.
- Реалізувати двопрохідний скрипт класифікації з обмеженням тіла листа до 2000 символів.
- Зберігати результати у TSV для перевірки категорій перед масовим видаленням файлів.
Джерела