--- title: PropertyPilot v3 emoji: 🏢 colorFrom: purple colorTo: green sdk: gradio sdk_version: "5.0.0" app_file: app.py pinned: false license: mit secrets: - HF_TOKEN - SLACK_WEBHOOK_URL --- # PropertyPilot v3 — AI Maintenance Assistant **Design:** Dark timeline / glass-card UI **Backend:** Real FAISS + BGE embeddings + Qwen2.5 generation **New:** Fiverr contractor search link ## Pipeline `tenant message → FAISS retrieval + fine-tuned classifier (13,725 tickets) → triage + contractor rank → Qwen2.5 work order + tone-matched reply → Fiverr link` ## Features - **Quick Starters** — 10 cached categories, instant results - **Autocomplete** — suggestions while typing - **Triage** — category, priority, SLA, tenant tone, backed by a fine-tuned DistilBERT classifier (test macro-F1: 0.975 category / 0.766 urgency), with retrieval's nearest-neighbor pick shown as an independent cross-check - **Similar Tickets** — top-3 FAISS matches with resolution data - **Contractor Ranking** — best contractor from historical data - **Work Order** — AI-generated contractor work order (QLoRA fine-tuned Qwen2.5-1.5B), priority/SLA line always matches the Triage card exactly - **Tenant Reply** — tone-matched reply draft - **Fiverr Link** — find real contractors on Fiverr for the detected category - **Slack Dispatch** — send ticket to ops channel (requires `SLACK_WEBHOOK_URL` secret) - **NYC-311 Live Feed** — real NYC building complaints, run through the same pipeline ## Secrets Required | Secret | Description | |--------|-------------| | `HF_TOKEN` | HuggingFace token with read access to `propertypilot/property-pilot-tickets` | | `SLACK_WEBHOOK_URL` | (Optional) Slack incoming webhook for ops dispatch |