Umjetna inteligencija primijenjena u našim projektima
AI integriramo ondje gdje donosi stvarnu vrijednost: automatizacija repetitivnih procesa, izvlačenje informacija iz dokumenata, generiranje kontekstualiziranog sadržaja i inteligentna pomoć korisnicima. Odluke o implementaciji temeljimo na ROI-ju, a ne na trendovima.
LLM integracija — Claude API i OpenAI
Claude (Anthropic) koristimo kao glavni model za zadatke složenog zaključivanja, analizu dokumenata i generiranje dugog sadržaja — context window od 200k tokena omogućuje obradu cijelog pravnog spisa ili financijskog izvješća u jednom pozivu. GPT-4o biramo za multimodalne zadatke (slika + tekst) i kada je potreban OpenAI ekosustav (Whisper, DALL-E).
Tool use (function calling) omogućuje LLM-u interakciju s internim API-jima: pretraživanje baze podataka, pokretanje radnji u postojećim sustavima, vraćanje strukturiranih podataka validiranih Pydanticom. Streaming odgovori smanjuju percipiranu latenciju u konverzacijskim sučeljima — korisnik vidi tekst kako se postupno pojavljuje, umjesto da čeka 5–10 s.
- Prompt caching (Anthropic) smanjuje trošak za 90% kod ponavljajućeg konteksta (system promptovi, referentni dokumenti)
- Strukturirani izlazi (JSON mode) za tipski sigurne odgovore bez regexa nad slobodnim tekstom
- Automatski fallback Claude → GPT-4o → Gemini pri greškama dostupnosti
- Praćenje troškova po korisniku i po funkciji — korištenje LLM-a vidljivo u admin nadzornoj ploči
RAG — AI sa znanjem iz podataka klijenta
Retrieval-Augmented Generation (RAG) omogućuje LLM-u da odgovara na temelju dokumenata specifičnih za klijenta (ugovori, priručnici, zakonodavstvo, e-poruke) bez ponovnog treniranja. Dokumenti se dijele na chunkove, embeddaju s text-embedding-3-large (OpenAI) ili embed-english-v3 (Cohere), pohranjuju u pgvector (PostgreSQL ekstenzija) i dohvaćaju kosinusnom sličnošću.
RAG pipeline uključuje: ingestiju dokumenata (PDF, DOCX, HTML), inteligentno chunkiranje (s preklapanjem radi konteksta), re-ranking s Cohere Rerankom za veću relevantnost, injektiranje u LLM kontekst i citiranje izvora s brojem stranice. Rezultat je chatbot koji precizno odgovara na temelju stvarnih dokumenata, s provjerljivim izvorima.
- pgvector za vektorsko pretraživanje sličnosti izravno u PostgreSQL-u — bez Pinecone/Weaviatea
- Hibridno pretraživanje: gusti vektori + rijedak BM25 (ključne riječi) → RRF fuzija
- Evaluacija RAG-a s RAGAS-om — precision, recall i faithfulness mjere se automatski
- Filtriranje po metapodacima za multi-tenant: korisnik A ne vidi dokumente korisnika B
Računalni vid i obrada dokumenata
Za izvlačenje podataka iz skeniranih ili fotografiranih dokumenata (računi, ugovori, osobne iskaznice) koristimo kombinirani pipeline: predobrada slike (deskew, smanjenje šuma s OpenCV-om), OCR s Google Document AI ili Amazon Textractom (strukturirani, ne sirovi OCR), naknadna obrada LLM-om radi normalizacije i validacije.
Klasifikacija slika (proizvodi, kategorije, NSFW detekcija) radi se modelima fine-tuniranima na CLIP-u ili EfficientNetu, deployanima kao FastAPI mikroservisi s opcionalnom GPU inferencijom (CUDA). Za projekte bez GPU proračuna cloud API-ji (Google Vision, AWS Rekognition) nude gotove modele uz marginalan trošak.
- Automatsko izvlačenje podataka iz PDF/slikovnih računa → strukturirana baza podataka
- Provjera identiteta: OCR dokumenta + selfie liveness detekcija
- Moderacija sadržaja koji generiraju korisnici cloud API-jima + LLM fallback
- Speech-to-text s Whisper large-v3 za transkripciju audio snimki sastanaka
Prednosti i ograničenja
Prednosti
- Automatizira repetitivne procese: izvlačenje podataka, klasifikacija, podrška.
- RAG odgovara na dokumentima klijenta, s provjerljivim izvorima.
- Prompt caching smanjuje trošak do 90% kod ponavljajućeg konteksta.
- Fallback između modela (Claude → GPT-4o → Gemini) radi dostupnosti.
Ograničenja
- LLM-ovi mogu halucinirati — svaki kritičan izlaz traži validaciju i izvore.
- Trošak po tokenu brzo raste pri velikom volumenu bez pažljivog cachiranja.
- Osjetljivi podaci poslani API-jima trećih strana otvaraju pitanja povjerljivosti.
- Latencija generiranog odgovora može dosegnuti nekoliko sekundi.
Kratak zaključak
Integrirajte AI ondje gdje donosi stvaran ROI: automatizacija, RAG nad dokumentima, izvlačenje podataka. Izbjegavajte AI radi samog AI-ja za zadatke gdje je dovoljno jednostavno pravilo ili klasična pretraga.
Tablica specifikacija
| Mogućnost | Granica / prag | Tipična uporaba | |
|---|---|---|---|
| LLM kontekst | Do 200k tokena (Claude) | Veliki kontekst povećava trošak i latenciju | Analiza dugih dokumenata, izvješća |
| RAG | pgvector, hibridno pretraživanje, re-ranking | Kvaliteta ovisi o chunkiranju i izvorima | Chatbot nad vlastitim dokumentima |
| Računalni vid | Strukturirani OCR, naknadna validacija LLM-om | GPU inferencija povećava trošak | Izvlačenje računa, provjera osobnih iskaznica |
| Tipičan trošak | Naplata po tokenu / po API pozivu | Raste s volumenom bez cachiranja | Od chatbota do cjelovitog pipelinea |
RAG u odnosu na fine-tuning
| Kriterij | RAG | Fine-tuning |
|---|---|---|
| Ažuriranje znanja | Trenutačno (dodajete dokumente) | Traži ponovno treniranje |
| Provjerljivi izvori | Da, s citiranjem | Ne |
| Početni trošak | Mali | Velik (podaci + GPU) |
Često postavljana pitanja
Što je RAG i kada ga koristiti?
RAG (Retrieval-Augmented Generation) omogućuje AI-ju da odgovara na vašim dokumentima (ugovori, priručnici, zakonodavstvo) bez ponovnog treniranja. Koristite ga kada želite precizne odgovore, s izvorima, temeljene na vlastitim podacima.
RAG ili fine-tuning?
RAG za znanje koje se često mijenja i za provjerljive izvore — ažurirate ga dodavanjem dokumenata. Fine-tuning za stil ili fiksan format, s većim početnim troškom. Za većinu poslovnih slučajeva RAG je pravi izbor.
Kako kontrolirate AI halucinacije?
Koristimo RAG s citiranjem izvora, strukturirane izlaze (JSON) validirane Pydanticom i ljudsku validaciju za kritične izlaze. AI odgovara na temelju stvarnih dokumenata, a ne iz memorije, i svaka tvrdnja ima priložen izvor.
Ostaju li moji podaci povjerljivi?
Osjetljivi podaci mogu se izolirati po tenantu i, po potrebi, obrađivati self-hosted modelima ili API-jima s klauzulama o zabrani treniranja. Za regulirane slučajeve biramo pružatelje koji podatke ne koriste za treniranje.