Přeskočit obsah

NemoReport AI v2 — Technická dokumentace

Interní dokumentace pro vývojový tým, integrátory (Nette aplikace, partneři), investory a interní stakeholdery. Není určená cílovým uživatelům aplikace.

Tato dokumentace popisuje stav k 30.4.2026

Phase A + B + C jsou dokončené a běží v produkci. Phase D (chat s RAG injection) a Phase E (Nette integration) jsou plánované — viz Roadmap.


Co je NemoReport AI v2

NemoReport AI v2 je multi-tenant SaaS platforma pro AI-asistované hodnocení nemovitostí. Uživatel nahraje report o nemovitosti (PDF, MHTML z Nette systému, DOCX, obrázky) a aplikace:

  1. Extrahuje strukturovaný obsah přes OCR (Mistral OCR) a HTML parsing (BeautifulSoup + trafilatura)
  2. Anotuje obrázky a mapy přes multimodální AI (Gemini-3-Flash) — popisuje co je v technických výkresech, mapách povodňových zón, fotech parcel atd.
  3. Indexuje obsah do vector databáze (pgvector + Gemini Embedding 2 multimodal) pro sémantické vyhledávání
  4. Vyhledává relevantní pasáže přes hybridní retrieval (vector + BM25 + Cohere Rerank 4.0) když uživatel klade dotazy
  5. (Plánované) Bude nabízet AI chat ve kterém AI odpovídá na dotazy o nemovitosti s citacemi konkrétních míst v reportu

Cílem je nahradit pomalé manuální čtení 50-stránkových reportů konverzačním rozhraním které "rozumí" obsahu napříč všemi soubory ve složce (folder model = main report + N příloh).

Klíčové vlastnosti

  • Multi-tenant — RLS izolace dat per tenant, JWT auth s custom claims
  • Folder model — report je container s N přílohami; AI vidí kompletní kontext
  • Multimodal embedding — text + obrázky do unified vector space (Gemini-2 GA)
  • Hybrid retrieval — vector similarity + BM25 keyword + RRF fusion + Cohere Rerank 4.0
  • Czech-first — czech_unaccent text search, CZ prompts pro AI anotace, multilingual reranker
  • Async ingestion — taskiq worker + Redis Streams, durable retry, 5-stage pipeline
  • Realtime UX — Supabase Realtime pro live status updates během zpracování
  • Cost tracking — per-stage cost tracking v halířích, admin cost dashboard

Stack v kostce

Vrstva Technologie
Frontend Next.js 16 + Tailwind v4 + Supabase SSR (deployed jako CF Worker přes @opennextjs/cloudflare)
Backend FastAPI 0.135 + Pydantic AI + uvicorn (Docker kontejner)
Worker taskiq + Redis Stream broker (Docker kontejner)
Databáze Supabase Postgres 17 + RLS + Realtime + custom JWT hooks
Vector pgvector 0.8 + halfvec(1536) + HNSW + ivfflat fallback
Object storage Supabase Storage (4 buckety) — bytes na Supabase managed infra; v DB jen relativní storage_path
Cache / queue Redis 7 (rate limit + taskiq broker + result backend)
Embedding Google Gemini Embedding 2 (GA, multimodal)
OCR Mistral OCR (mistral-ocr-latest)
LLM (anotace + budoucí chat) Gemini 3 Flash Preview
Rerank Cohere Rerank 4.0 (rerank-v4.0-pro)

Detail viz Architektura → Komponenty a Závislosti.

Stav vývoje

Fáze Stav Co obsahuje
Phase A ✅ Hotovo (4/2026) Multi-tenant Supabase Auth, JWT custom claims, RLS, 12 migrací
Phase A.1 ✅ Hotovo (4/2026) UI port v1 → v2 (chat, admin, /reports), Vitest scaffold
Phase B ✅ Hotovo (4/2026) 5-stage ingestion pipeline (PDF/MHTML/DOCX), folder model live
Phase C ✅ Hotovo (4/2026) Vector RAG: chunks + halfvec(1536) + hybrid retrieval + Cohere rerank
Phase D ⏳ Plánováno Chat s RAG injection — /chat použije chunks místo full textu
Phase E ⏳ Plánováno Nette integration — embed chat do Nette aplikace, JWT bridge

Jak číst dokumentaci

Doporučené pořadí pro různé role:

Pro nového vývojáře: 1. Architektura → Přehled 2. Architektura → Komponenty 3. Pipeline (data flow) 4. API endpointy 5. Deployment

Pro integrátora (Nette tým): 1. Architektura → Přehled 2. API endpointy (zejména /reports/{id}/attachments/system) 3. Phase E plán (až bude napsán)

Pro investora / stakeholdera: 1. Tato stránka 2. Phase A, Phase B, Phase C — co bylo postaveno 3. Architektonická rozhodnutí 4. Roadmap

Pro license / production-readiness review: 1. Backend balíčky 2. Frontend balíčky 3. Externí API 4. Bezpečnost

Spuštění dokumentace lokálně

# Instalace mkdocs (jednorazově)
uv tool install mkdocs-material

# Spuštění dev serveru s live reload
cd /home/jiri/Nextcloud/vibecode/Nemoreport_v2
mkdocs serve

# Build statické HTML
mkdocs build  # výstup do site/

Hosting

Dokumentace je statické HTML — možnosti hostingu:

  • Cloudflare Pages (doporučeno): mkdocs buildsite/ deploy přes wrangler
  • GitHub Pages: pushnout site/ na gh-pages branch
  • Docker kontejner s nginx: na vlastním Docker hostingu, servíruje site/

Viz Deployment → Dokumentace.


Live URLs

Service URL Popis
Frontend https://nemoreport-ai-frontend-v2.algaweb.workers.dev Next.js 16 SSR Worker
Backend API https://nemoreport-ai-backend-v2.sliplane.app FastAPI
Supabase https://cubdrgjdkatyecrgckwp.supabase.co Postgres + Auth + Storage + Realtime
Worker (privátní) taskiq, no public endpoint
Redis (privátní, internal Docker network) Queue + cache