Primijenjena vještačka inteligencija u našim projektima
Integrišemo AI tamo gdje donosi stvarnu vrijednost: automatizaciju repetitivnih procesa, izdvajanje informacija iz dokumenata, generisanje sadržaja prilagođenog kontekstu i inteligentnu podršku korisnicima. Odluke o implementaciji donosimo na osnovu ROI-ja, a ne trendova.
Integracija LLM-ova — Claude API i OpenAI
Claude (Anthropic) koristimo kao primarni model za složeno rezonovanje, analizu dokumenata i generisanje dugih tekstova — kontekstni prozor od 200k tokena omogućava obradu cijelog pravnog spisa ili finansijskog izvještaja u jednom pozivu. GPT-4o biramo za multimodalne zadatke (slika + tekst) i kada je potreban OpenAI ekosistem (Whisper, DALL-E).
Tool use (function calling) omogućava LLM-u da komunicira sa internim API-jima: pretražuje bazu podataka, pokreće akcije u postojećim sistemima i vraća strukturisane podatke validirane pomoću Pydantic-a. Streaming odgovora smanjuje osjećaj kašnjenja u konverzacijskim interfejsima — korisnik vidi tekst kako se postepeno pojavljuje, umjesto da čeka 5–10 sekundi.
- Prompt caching (Anthropic) smanjuje trošak za 90% kod ponavljajućeg konteksta (sistemski promptovi, referentni dokumenti)
- Strukturisani izlazi (JSON mode) za odgovore sigurne po tipu, bez regex-a nad slobodnim tekstom
- Automatski prelazak Claude → GPT-4o → Gemini u slučaju nedostupnosti
- Praćenje troškova po korisniku i po funkcionalnosti — potrošnja LLM-a vidljiva u admin dashboardu
RAG — AI sa znanjem iz podataka klijenta
Retrieval-Augmented Generation (RAG) omogućava LLM-u da odgovara na osnovu dokumenata specifičnih za klijenta (ugovori, priručnici, zakonodavstvo, e-mailovi) bez ponovnog treniranja. Dokumenti se dijele na dijelove (chunking), embeduju pomoću text-embedding-3-large (OpenAI) ili embed-english-v3 (Cohere), čuvaju u pgvector-u (ekstenzija za PostgreSQL) i pronalaze putem kosinusne sličnosti.
RAG pipeline obuhvata: unos dokumenata (PDF, DOCX, HTML), inteligentno dijeljenje (sa preklapanjem radi konteksta), re-ranking pomoću Cohere Rerank radi veće relevantnosti, ubacivanje u kontekst LLM-a i navođenje izvora sa brojevima stranica. Rezultat je četbot koji tačno odgovara na osnovu stvarnih dokumenata, uz provjerljive izvore.
- pgvector za pretragu po vektorskoj sličnosti direktno u PostgreSQL-u — bez Pinecone/Weaviate
- Hibridna pretraga: gusti vektori + rijedak BM25 (ključne riječi) → RRF fuzija
- Evaluacija RAG-a pomoću RAGAS-a — preciznost, odziv i vjernost mjere se automatski
- Filtriranje po metapodacima za multi-tenant: korisnik A ne vidi dokumente korisnika B
Računarski vid i obrada dokumenata
Za izdvajanje podataka iz skeniranih ili fotografisanih dokumenata (fakture, ugovori, lične karte) koristimo kombinovani pipeline: predobrada slike (ispravljanje nagiba, uklanjanje šuma pomoću OpenCV-a), OCR sa Google Document AI ili Amazon Textract (strukturisan, ne sirovi OCR), naknadna obrada pomoću LLM-a radi normalizacije i validacije. Tačnost >98% na tipičnim poslovnim dokumentima.
Klasifikacija slika (proizvodi, kategorije, detekcija NSFW sadržaja) radi se pomoću fine-tuned modela na bazi CLIP-a ili EfficientNet-a, isporučenih kao FastAPI mikroservisi sa opcionalnim GPU zaključivanjem (CUDA). Za projekte bez budžeta za GPU, cloud API-ji (Google Vision, AWS Rekognition) nude tačnost od 95%+ uz marginalan trošak.
- Automatsko izdvajanje podataka iz PDF/slika faktura → strukturisana baza podataka
- Verifikacija identiteta: OCR dokumenta + detekcija živosti selfija
- Moderacija sadržaja koji generišu korisnici putem cloud API-ja uz LLM kao rezervu
- Speech-to-text sa Whisper large-v3 za transkripciju audio snimaka sastanaka
Prednosti i mane
Prednosti
- Automatizuje repetitivne procese: izdvajanje podataka, klasifikaciju, podršku.
- RAG odgovara iz dokumenata klijenta, uz provjerljive izvore.
- Prompt caching smanjuje trošak do 90% kod ponavljajućeg konteksta.
- Rezervni modeli (Claude → GPT-4o → Gemini) za dostupnost.
Ograničenja
- LLM-ovi mogu halucinirati — svaki kritičan izlaz zahtijeva validaciju i izvore.
- Trošak po tokenu brzo raste pri velikom obimu bez pažljivog keširanja.
- Osjetljivi podaci poslati API-jima trećih strana otvaraju pitanja privatnosti.
- Kašnjenje generisanog odgovora može doseći nekoliko sekundi.
Kratak zaključak
Integrišite AI tamo gdje donosi stvarni ROI: automatizacija, RAG nad dokumentima, izdvajanje podataka. Izbjegavajte AI radi AI-ja u zadacima za koje je dovoljno jednostavno pravilo ili klasična pretraga.
Tabela specifikacija
| Mogućnost | Ograničenje / prag | Tipična upotreba | |
|---|---|---|---|
| Kontekst LLM-a | Do 200k tokena (Claude) | Veliki kontekst povećava trošak i kašnjenje | Analiza dugih dokumenata, izvještaji |
| RAG | pgvector, hibridna pretraga, re-ranking | Kvalitet zavisi od dijeljenja i izvora | Četbot nad sopstvenim dokumentima |
| Računarski vid | Strukturisan OCR, tačnost > 98% | GPU zaključivanje povećava trošak | Izdvajanje podataka iz faktura, verifikacija ličnih karata |
| Tipičan trošak | Naplata po tokenu / po API pozivu | Raste sa obimom bez keširanja | Od četbota do kompletnog pipeline-a |
RAG naspram fine-tuninga
| Kriterijum | RAG | Fine-tuning |
|---|---|---|
| Ažuriranje znanja | Trenutno (dodavanjem dokumenata) | Zahtijeva ponovno treniranje |
| Provjerljivi izvori | Da, uz citiranje | Ne |
| Početni trošak | Nizak | Visok (podaci + GPU) |
Česta pitanja
Šta je RAG i kada ga koristiti?
RAG (Retrieval-Augmented Generation) omogućava AI-ju da odgovara iz vaših dokumenata (ugovori, priručnici, zakonodavstvo) bez ponovnog treniranja. Koristite ga kada želite tačne odgovore sa izvorima, zasnovane na vašim podacima.
RAG ili fine-tuning?
RAG za znanje koje se često mijenja i za provjerljive izvore — ažurirate ga dodavanjem dokumenata. Fine-tuning za fiksiran stil ili format, uz veći početni trošak. U većini poslovnih slučajeva izbor je RAG.
Kako kontrolišete AI halucinacije?
Koristimo RAG sa navođenjem izvora, strukturisane izlaze (JSON) validirane pomoću Pydantic-a i ljudsku validaciju za kritične izlaze. AI odgovara iz stvarnih dokumenata, a ne iz memorije, a uz svaku tvrdnju stoji izvor.
Ostaju li moji podaci povjerljivi?
Osjetljivi podaci mogu se izolovati po tenantu i, po potrebi, obrađivati self-hosted modelima ili API-jima sa klauzulama o zabrani treniranja. Za regulisane slučajeve biramo provajdere koji podatke ne koriste za treniranje.