|
Download README.md from simikkk/test: direct link, hf CLI and curl.
- Browser
- Download file 3.65 kB
-
https://huggingface.co/spaces/simikkk/test/resolve/main/README.md
- Command line
-
hf download hf://spaces/simikkk/test/README.md
-
curl -L -o README.md https://huggingface.co/spaces/simikkk/test/resolve/main/README.md
3.65 kB
| title: OmniParse AI | |
| emoji: ⚡ | |
| colorFrom: purple | |
| colorTo: indigo | |
| sdk: gradio | |
| sdk_version: 5.49.1 | |
| app_file: app.py | |
| pinned: true | |
| license: mit | |
| # OmniParse AI — Invoice Processing SaaS | |
| B2B SaaS pro automatické zpracování faktur. Nahraješ PDF/obrázek faktury, AI vytáhne | |
| vendor, čísla faktur, data, částky a DPH, a exportuješ do CSV/JSON/Excel nebo napojíš | |
| přes REST API. | |
| ## Jak to spustit | |
| 1. Nahraj `app.py`, `requirements.txt`, `packages.txt` a tento `README.md` do HuggingFace Space | |
| se SDK **Gradio**. | |
| 2. V **Settings → Variables and Secrets** nastav secrets podle tabulky níže. | |
| 3. Pin Space (⋯ → Pin this Space), ať nespí. | |
| ### Secrets | |
| | Secret | Popis | Povinné? | | |
| |---|---|---| | |
| | `HF_TOKEN` | HuggingFace token pro fallback AI (Mistral-7B) | Doporučeno | | |
| | `GROQ_API_KEY` | Primární AI extrakce (Llama 3.1 přes Groq) | Ano | | |
| | `SUPABASE_URL` | URL Supabase projektu | Ano (jinak SQLite fallback) | | |
| | `SUPABASE_KEY` | anon public key Supabase | Ano (jinak SQLite fallback) | | |
| | `GOOGLE_VISION_KEY` | Google Cloud Vision OCR | Volitelné | | |
| | `STRIPE_SECRET_KEY` | Stripe secret key (test/live) | Pro platby | | |
| | `STRIPE_PRICE_BASIC` | Stripe Price ID pro Basic plán | Pro platby | | |
| | `STRIPE_PRICE_PRO` | Stripe Price ID pro Pro plán | Pro platby | | |
| | `STRIPE_PRICE_ENTERPRISE` | Stripe Price ID pro Enterprise plán | Pro platby | | |
| | `APP_URL` | Veřejná URL Space (pro Stripe redirect) | Pro platby | | |
| Aplikace se **nikdy nezhroutí** kvůli chybějícímu secretu — každá vrstva má fallback: | |
| - Bez `GROQ_API_KEY` → zkusí HF Inference API → pak regex parser. | |
| - Bez `SUPABASE_URL`/`KEY` → přepne na lokální SQLite (`omniparse.db`), data nejsou | |
| perzistentní mezi restarty Space. | |
| - Bez `GOOGLE_VISION_KEY` → jen Tesseract OCR. | |
| - Bez `STRIPE_SECRET_KEY` → tlačítko Upgrade zobrazí instrukce místo Checkout linku. | |
| ### Supabase schéma | |
| Pokud používáš Supabase, spusť v **SQL Editor** tento skript před prvním spuštěním appky: | |
| ```sql | |
| CREATE TABLE users ( | |
| id BIGSERIAL PRIMARY KEY, | |
| email TEXT UNIQUE NOT NULL, | |
| name TEXT NOT NULL, | |
| password TEXT NOT NULL, | |
| plan TEXT NOT NULL DEFAULT 'free', | |
| stripe_cid TEXT, | |
| api_key TEXT, | |
| created_at TIMESTAMPTZ DEFAULT NOW() | |
| ); | |
| CREATE TABLE sessions ( | |
| token TEXT PRIMARY KEY, | |
| user_id BIGINT NOT NULL REFERENCES users(id), | |
| expires_at TIMESTAMPTZ NOT NULL | |
| ); | |
| CREATE TABLE invoices ( | |
| id BIGSERIAL PRIMARY KEY, | |
| user_id BIGINT NOT NULL REFERENCES users(id), | |
| filename TEXT NOT NULL, | |
| vendor TEXT, | |
| inv_number TEXT, | |
| inv_date TEXT, | |
| due_date TEXT, | |
| amount NUMERIC(12,2), | |
| vat_amount NUMERIC(12,2), | |
| total NUMERIC(12,2), | |
| currency TEXT DEFAULT 'USD', | |
| status TEXT DEFAULT 'done', | |
| is_duplicate BOOLEAN DEFAULT FALSE, | |
| confidence NUMERIC(4,3), | |
| raw_json JSONB, | |
| created_at TIMESTAMPTZ DEFAULT NOW() | |
| ); | |
| CREATE INDEX idx_invoices_user_month ON invoices(user_id, created_at); | |
| ``` | |
| ### Demo účet | |
| Při prvním startu se automaticky vytvoří: | |
| - Email: `demo@omniparse.ai` | |
| - Heslo: `demo1234` | |
| - Plán: Pro | |
| ## Poznámky k platbám | |
| Stripe integrace zde funguje **bez webhooků** — po návratu ze Stripe Checkout uživatel | |
| v záložce "⚡ Upgrade" vloží `session_id` z URL a klikne "Ověřit platbu", což zavolá | |
| `stripe.checkout.Session.retrieve()` a upgraduje plán v DB. Pro produkční nasazení | |
| doporučujeme doplnit skutečný webhook endpoint, tahle verze je zjednodušená podle | |
| původního zadání ("bez webhooků"). | |