Spaces:
Running
Running
| title: CartBrawl 购物车大乱斗 | |
| emoji: 🛒 | |
| colorFrom: red | |
| colorTo: purple | |
| sdk: gradio | |
| sdk_version: 6.17.3 | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| short_description: Your cart items come alive and brawl for your wallet | |
| # 🛒⚔️ CartBrawl 购物车大乱斗 | |
| **Paste shop links. Your cart comes alive — and fights for your wallet.** | |
| Every item you add to the cart turns into a character with a personality. Each one | |
| knows every rival's price, specs, and weak spots, and they debate, trash-talk and | |
| counter-attack to convince *you* to buy *them*. You can interject ("I only care | |
| about battery life, budget is $300"), force a final plea, and then hit the buy | |
| button. The winner gloats; the losers cope. **The decision is always yours.** | |
| ## How it works | |
| ``` | |
| links / "name price" lines | |
| │ | |
| ▼ | |
| ┌─────────────────────┐ ┌──────────────────────────────┐ | |
| │ Product extractor │ │ Modal · vLLM · Qwen3-30B-A3B │ | |
| │ JSON-LD → OpenGraph │ │ (OpenAI-compatible endpoint) │ | |
| │ → URL-slug fallback │ └──────────────┬───────────────┘ | |
| └─────────┬───────────┘ │ | |
| ▼ ▼ | |
| cart dossiers ──────────► debate engine: personas → opening | |
| (every item sees → attack → rebuttal → owner Q&A | |
| every rival's specs) → closing pleas → verdict speeches | |
| ``` | |
| - **Model**: Qwen/Qwen3-30B-A3B-Instruct-2507-FP8 (30.5B total ≤ 32B ✅, MoE 3B active), | |
| served by vLLM on a Modal L40S. | |
| - **Scraping**: schema.org JSON-LD first, OpenGraph meta second, URL-slug | |
| inference as a last resort — a bot-walled link still joins the brawl, it just | |
| has to bluff harder. | |
| - **Anti-hallucination rule**: items may only attack with *real* numbers from | |
| rival dossiers; no invented specs. | |
| - Bilingual brawls: 中文 / English. | |
| ## Run locally | |
| ```bash | |
| uv sync | |
| export CARTBRAWL_LLM_URL=https://<your-modal-endpoint>.modal.run/v1 | |
| export CARTBRAWL_API_KEY=<your key> | |
| uv run python app.py | |
| ``` | |
| Deploy your own backend: `uv run modal deploy modal_server.py` | |
| (needs a Modal secret `cartbrawl-api-key` with `CARTBRAWL_API_KEY`). | |
| ## Built for | |
| Build Small Hackathon 2026 — Track 2 (Thousand Token Wood). | |