Načítavam...
Prípadová štúdia

SproAI

Produkčný AI chatbot nad firemnými dokumentmi, webom a dátami

SproAI je multi-tenant SaaS platforma na nasadenie AI chatbotov nad firemnými zdrojmi. Pomáha firmám odpovedať na otázky z dokumentov, webu, produktových dát alebo znalostnej bázy.

Riešenie je postavené na hybridnej architektúre Laravel + Python + PostgreSQL pgvector. Kombinuje RAG vyhľadávanie, asynchrónne spracovanie dokumentov, sémantickú cache, ochranu proti prompt injection, doménovú validáciu widgetu a viacvrstvový rate limiting.

Vlastný produkt SPROBYTE

SproAI je vlastná služba spoločnosti SPROBYTE, s. r. o. Viac informácií o produkte nájdete na sproai.com. Táto stránka opisuje technickú a produktovú stránku riešenia.

AI vrstva nad firemnými zdrojmi

Dokumenty · web · RAG · pgvector · streaming · bezpečnosť

RAG

odpovede zo zdrojov

SaaS

multi-tenant platforma

pgvector

vektorové vyhľadávanie

SSE

streaming odpovedí

Laravel Vue 3 Python FastAPI PostgreSQL pgvector

Rýchly prehľad projektu

Produkčná AI platforma, nie iba experimentálny chatbot

Cieľom bolo vytvoriť udržateľnú službu, ktorú je možné nasadiť pre viacerých zákazníkov, izolovať dáta medzi firmami, spracúvať rôzne typy dokumentov a bezpečne odpovedať iba zo schválených zdrojov.

Produkt

SproAI

Typ riešenia

Multi-tenant AI SaaS platforma

AI prístup

RAG nad dokumentmi a webom

Dostupnosť

sproai.com

Core aplikácia

Laravel, Inertia, Vue 3

AI/parsing služba

Python, FastAPI

Databáza

PostgreSQL + pgvector

Prevádzka

Hetzner, Nginx, Supervisor, Redis

Výzva

Postaviť AI chatbota, ktorý vie pracovať s firemnými dokumentmi v produkcii

Jednoduchý chatbot nad jedným PDF sa dá spraviť rýchlo. Produkčná služba pre firmy je však iný problém: dokumenty môžu byť veľké, odpovede musia vychádzať zo správnych zdrojov, dáta rôznych zákazníkov musia byť izolované a verejný widget musí byť chránený pred zneužitím.

Výzvou bolo navrhnúť architektúru, ktorá zvládne spracovanie dokumentov, vektorové vyhľadávanie, streaming odpovedí, caching, bezpečnostné pravidlá, GDPR požiadavky, monitoring a zálohovanie, ale zároveň zostane udržateľná pre malý vývojový tím.

Riešenie

Laravel core, Python parsing služba a PostgreSQL pgvector ako spoločná dátová vrstva

SproAI je postavené ako hybridná architektúra. Laravel tvorí core aplikáciu: dashboard, autentifikáciu, multi-tenant logiku, widget API, billing, chat a integráciu s OpenAI. Python FastAPI služba rieši spracovanie dokumentov, web scraping a parsovanie formátov, ktoré nie je vhodné riešiť priamo v PHP aplikácii.

PostgreSQL s pgvector slúži ako centrálna dátová vrstva pre klasické tabuľky aj embeddings. Vďaka tomu systém nepotrebuje samostatnú vektorovú databázu a ostáva jednoduchší na prevádzku, zálohovanie a údržbu.

Architektúra

Tri hlavné komponenty, ktoré spolu tvoria produkčné AI riešenie

Cieľom nebolo vytvoriť zbytočne veľa mikroservisov, ale rozumne oddeliť časti, ktoré majú rozdielne zodpovednosti.

Laravel aplikácia

Multi-tenant dashboard, zákazníci, používatelia, widget API, chat, billing, správa dokumentov, queue workers a integrácia s OpenAI.

Python FastAPI služba

Stateless parsing service pre PDF, DOCX, XLSX, PPTX, TXT, XML, web scraping, YouTube transkripty a ďalšie zdroje.

PostgreSQL + pgvector

Jedna databázová vrstva pre firemné dáta, dokumenty, chunky, embeddings, cache, konverzácie a multi-tenant izoláciu.

Kľúčové časti riešenia

Čo robí SproAI produkčným AI riešením

Hodnota nie je iba v napojení na jazykový model. Dôležitá je pipeline okolo dát, vyhľadávania, bezpečnosti, cache, tenantov a prevádzky.

Asynchrónne spracovanie dokumentov

Veľké dokumenty sa nespracúvajú v HTTP requeste. Laravel odošle job do queue, Python služba spracuje dokument na pozadí a dashboard môže používateľovi zobraziť stav.

Hybrid search

Vyhľadávanie kombinuje vektorové vyhľadávanie cez pgvector, PostgreSQL fulltext a keyword fallback. Vďaka tomu fungujú aj faktické otázky, kódy produktov alebo presné výrazy.

Sémantická cache

Opakované podobné otázky sa nemusia znova posielať do LLM. Systém vyhľadá podobnú otázku podľa embeddingu a pri zhode vráti uloženú odpoveď rýchlejšie a lacnejšie.

Prompt injection ochrana

Kontext dokumentov je v systémovom prompte oddelený od inštrukcií. Chatbot má pravidlá, aby odpovedal zo zdrojov a ignoroval pokyny vložené do dokumentov.

Multi-tenant izolácia

Zákaznícke dáta sú viazané na company_id a query musia explicitne filtrovať firmu. To zabraňuje tomu, aby jeden zákazník pristúpil k dátam iného zákazníka.

Ochrana verejného widgetu

Widget API kľúč je vo verejnom JavaScripte, preto systém overuje doménu podľa Origin/Referer hlavičky a povoleného zoznamu domén zákazníka.

Ako to funguje

Od dokumentu po odpoveď v chat widgete

SproAI má oddelenú pipeline pre spracovanie zdrojov a samostatnú pipeline pre chat request.

1

Nahratie zdroja

Používateľ nahrá dokument alebo pridá webový zdroj v dashboarde. Laravel vytvorí záznam a odošle úlohu do queue.

2

Parsing a chunking

Python služba spracuje obsah, rozdelí ho na použiteľné časti a pripraví text pre vyhľadávanie a embeddings.

3

Embeddings a uloženie

Pre chunky sa vygenerujú embeddings a uložia sa do PostgreSQL pgvector spolu s metadátami a tenant identifikáciou.

4

Hybrid search pri otázke

Pri chat requeste systém vyhľadá relevantné chunky kombináciou vektorového, fulltextového a keyword vyhľadávania.

5

Streamovaná odpoveď

Ak odpoveď nie je v sémantickej cache, systém zostaví prompt s kontextom a streamuje odpoveď späť do widgetu.

Bezpečnosť a prevádzka

Pri AI nestačí, aby chatbot odpovedal. Musí byť kontrolovaný.

Verejný AI widget pracuje s firemnými dátami, preto musí riešiť izoláciu tenantov, obmedzovanie zneužitia, ochranu domén, prompt injection, zálohy, monitoring a GDPR.

Trojvrstvový rate limiting

Limity na API kľúč, hodinové limity a kombinácia IP + kľúč chránia widget pred spamom aj zneužitím kľúča.

Doménová validácia

Widget môže byť použitý iba na povolených doménach zákazníka.

Izolácia firiem

Všetky zákaznícke dáta sú viazané na firmu a queries používajú explicitný tenant filter.

Prompt injection pravidlá

Dokumenty sú chápané ako kontext, nie ako inštrukcie pre model.

Zálohovanie

Databáza je zálohovaná a prenášaná na Synology NAS cez VPN.

Monitoring

Healthchecks, Sentry a uptime monitoring pomáhajú sledovať stav služby a chýb.

Výkon a optimalizácie

Optimalizované pre reálne používanie, nie iba demo

Produkčný AI chatbot musí riešiť latenciu, cenu OpenAI volaní, vyhľadávanie, väčšie dokumenty a rastúci objem konverzácií.

<100 ms

cached odpoveď

Pri zásahu sémantickej cache sa odpoveď vráti bez nového LLM volania.

1.5–4 s

streamovaná odpoveď

Pri vyhľadávaní a OpenAI odpovedi používateľ dostáva odpoveď postupne cez streaming.

~30 %

cache hit rate

Pri produkčnom traffic pomáha sémantická cache znižovať náklady a latenciu.

<50 ms

vector search

pgvector s IVFFlat indexom umožňuje rýchle vyhľadávanie v chunk dátach.

Technologický stack

Osvedčené nástroje namiesto zbytočnej komplexity

Cieľom bolo postaviť AI produkt, ktorý je možné dlhodobo prevádzkovať a rozvíjať. Preto architektúra kombinuje Laravel monolit, Python helper service a PostgreSQL pgvector.

Backend

PHP 8.4, Laravel 13, Inertia.js, queue workers, widget API

Frontend

Vue 3, TypeScript, Tailwind CSS, Vite

Dáta a vyhľadávanie

PostgreSQL 16, pgvector, Redis 7, hybrid search, semantic cache

AI a parsing

Python 3.12, FastAPI, OpenAI API, pdfplumber, PyMuPDF, BeautifulSoup, httpx

Modely

text-embedding-3-large, GPT-4o-mini, streaming odpovede

Infraštruktúra

Hetzner Cloud VPS, Ubuntu 24.04, Nginx, Supervisor, Healthchecks, Sentry, UptimeRobot

Ukážky systému

Dashboard, dokumenty a chat widget

Ukážky sú anonymizované.

Správa dokumentov

Miesto pre ukážku nahrávania zdrojov, stavu spracovania a znalostnej bázy.

Chat widget

Ukážka AI asistenta vloženého na webe zákazníka.

Štatistiky a prevádzka

Miesto pre ukážku používania, konverzácií, limitov alebo monitoringu.

Výsledok

Vlastná AI platforma pripravená na reálne firemné nasadenia

Výsledkom je produkčná SaaS platforma, ktorá umožňuje firmám nasadiť AI chatbota nad vlastnými dokumentmi, webom a dátami bez toho, aby museli budovať vlastnú AI infraštruktúru.

SproAI spája viacero praktických vrstiev: spracovanie dokumentov, vyhľadávanie, streaming odpovedí, cache, bezpečnostné pravidlá, doménovú ochranu widgetu, izoláciu zákazníckych dát, monitoring a zálohy.

Riešenie ukazuje, že SPROBYTE vie postaviť vlastný AI produkt, ktorý nie je iba ukážkou použitia modelu, ale udržateľnou platformou pripravenou na dlhodobý rozvoj.

Ďalší vývoj

SproAI je produkt, ktorý sa bude ďalej rozširovať

Roadmapa smeruje k lepšej integrácii s e-shopmi, CRM systémami, ľudským handoffom a pokročilejšej analytike konverzácií.

E-shop integrácie

Produktové feedy, Heureka feed, Shoptet, WooCommerce alebo OpenCart.

Handoff na človeka

Pri komplexných prípadoch môže AI odporučiť alebo odovzdať kontakt človeku.

Multimodalita

Analýza obrázkov a vizuálnych prvkov z dokumentov.

Webhooks a CRM

Prepojenie konverzácií a udalostí so systémami zákazníka.

Ďalší krok

Chcete AI chatbota nad vlastnými dokumentmi alebo dátami?

SproAI je vhodný pre firmy, ktoré chcú odpovedať na otázky z dokumentov, webu, produktových dát alebo znalostnej bázy. Ak potrebujete vlastné AI riešenie, vieme spolu prebrať aj lokálnu AI, hybridné nasadenie alebo integráciu s firemným systémom.

Laravel Python PostgreSQL pgvector RAG Prompt injection ochrana Multi-tenant SaaS

Nezáväzná konzultácia

Poďme zistiť, čo má zmysel digitalizovať

Napíšte nám, aký proces, systém alebo problém vo firme riešite. Pozrieme sa na to, či dáva zmysel vlastný systém, mobilná aplikácia, integrácia, kiosk alebo AI riešenie.

Môžete nám tiež zavolať na +421 949 623 117, +421 948 257 655 alebo napísať na info@sprobyte.sk.

Prosím zadajte svoje meno.
Prosím zadajte názov spoločnosti.
Prosím zadajte platnú emailovú adresu.
Prosím stručne popíšte, čo potrebujete vyriešiť.

Ozveme sa vám a navrhneme ďalší rozumný krok.

Top