Primijenjena vještačka inteligencija u našim projektima
Integrišemo AI tamo gdje donosi stvarnu vrijednost: automatizacija repetitivnih procesa, izdvajanje informacija iz dokumenata, generisanje sadržaja prilagođenog kontekstu i inteligentna pomoć korisnicima. Odluke o implementaciji donosimo na osnovu ROI-ja, a ne trendova.
Integracija LLM-a — Claude API i OpenAI
Claude (Anthropic) koristimo kao primarni model za složene zadatke zaključivanja, 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 s internim API-jima: pretražuje bazu podataka, pokreće akcije u postojećim sistemima i vraća strukturirane podatke validirane pomoću Pydantica. Streaming odgovori smanjuju 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 repetitivnog konteksta (sistemski promptovi, referentni dokumenti)
- Strukturirani izlazi (JSON mode) za tipski sigurne odgovore bez regex-a nad slobodnim tekstom
- Automatski prelazak Claude → GPT-4o → Gemini u slučaju greške dostupnosti
- Praćenje troška po korisniku i po funkciji — 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), pretvaraju u embeddinge pomoću text-embedding-3-large (OpenAI) ili embed-english-v3 (Cohere), pohranjuju u pgvector (ekstenzija za PostgreSQL) i dohvataju putem kosinusne sličnosti.
RAG pipeline uključuje: unos dokumenata (PDF, DOCX, HTML), inteligentno dijeljenje (s preklapanjem radi konteksta), ponovno rangiranje pomoću Cohere Rerank za veću relevantnost, ubacivanje u kontekst LLM-a i navođenje izvora s brojevima stranica. Rezultat je chatbot koji tačno odgovara na osnovu stvarnih dokumenata s provjerljivim izvorima.
- 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 — 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 isprave) koristimo kombinovani pipeline: predobrada slike (ispravljanje nagiba, smanjenje šuma pomoću OpenCV-a), OCR pomoću Google Document AI ili Amazon Textract (strukturiran, ne sirovi OCR), naknadna obrada pomoću LLM-a za normalizaciju i validaciju. Tačnost >98% na tipičnim poslovnim dokumentima.
Klasifikacija slika (proizvodi, kategorije, detekcija NSFW sadržaja) radi se pomoću fino podešenih modela na bazi CLIP-a ili EfficientNet-a, isporučenih kao FastAPI mikroservisi s opcionalnim GPU zaključivanjem (CUDA). Za projekte bez GPU budžeta, cloud API-ji (Google Vision, AWS Rekognition) nude tačnost od 95%+ uz marginalan trošak.
- Automatsko izdvajanje podataka iz PDF/slikovnih faktura → strukturirana baza podataka
- Verifikacija identiteta: OCR dokumenta + provjera živosti putem selfija
- Moderacija sadržaja koji generišu korisnici pomoću cloud API-ja + LLM kao rezerve
- Prepoznavanje govora pomoću Whisper large-v3 za transkripciju audio sastanaka
Prednosti i nedostaci
Prednosti
- Automatizuje repetitivne procese: izdvajanje podataka, klasifikaciju, podršku.
- RAG odgovara na osnovu dokumenata klijenta, s provjerljivim izvorima.
- Prompt caching smanjuje trošak do 90% kod repetitivnog konteksta.
- Rezervni model (Claude → GPT-4o → Gemini) radi dostupnosti.
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 poslani API-jima trećih strana otvaraju pitanja privatnosti.
- Latencija generisanog odgovora može dostići nekoliko sekundi.
Brzi zaključak
Integrišite AI tamo gdje donosi stvarni ROI: automatizacija, RAG nad dokumentima, izdvajanje podataka. Izbjegavajte AI radi AI-ja za zadatke u kojima je dovoljno jednostavno pravilo ili klasična pretraga.
Tabela specifikacija
| Mogućnost | Granica / prag | Tipična upotreba | |
|---|---|---|---|
| Kontekst LLM-a | Do 200k tokena (Claude) | Veliki kontekst povećava trošak i latenciju | Analiza dugih dokumenata, izvještaji |
| RAG | pgvector, hibridna pretraga, ponovno rangiranje | Kvalitet zavisi od chunkinga i izvora | Chatbot nad vlastitim dokumentima |
| Računarski vid | Strukturirani OCR, tačnost > 98% | GPU zaključivanje povećava trošak | Izdvajanje podataka iz faktura, verifikacija identiteta |
| Tipičan trošak | Naplata po tokenu / po API pozivu | Raste s obimom bez keširanja | Od chatbota do kompletnog pipelinea |
RAG naspram fine-tuninga
| Kriterij | RAG | Fine-tuning |
|---|---|---|
| Ažuriranje znanja | Trenutno (dodavanjem dokumenata) | Zahtijeva ponovno treniranje |
| Provjerljivi izvori | Da, s citiranjem | Ne |
| Početni trošak | Nizak | Visok (podaci + GPU) |
Često postavljana pitanja
Šta je RAG i kada ga koristiti?
RAG (Retrieval-Augmented Generation) omogućava AI-ju da odgovara na osnovu vaših dokumenata (ugovori, priručnici, zakonodavstvo) bez ponovnog treniranja. Koristite ga kada želite tačne odgovore s izvorima, zasnovane na vlastitim podacima.
RAG ili fine-tuning?
RAG za znanje koje se često mijenja i provjerljive izvore — ažurirate ga dodavanjem dokumenata. Fine-tuning za fiksni stil ili format, uz veći početni trošak. U većini poslovnih slučajeva izbor je RAG.
Kako kontrolišete halucinacije AI-ja?
Koristimo RAG s navođenjem izvora, strukturirane izlaze (JSON) validirane pomoću Pydantica i ljudsku validaciju za kritične izlaze. AI odgovara na osnovu stvarnih dokumenata, a ne iz memorije, a uz svaku tvrdnju je priložen izvor.
Ostaju li moji podaci povjerljivi?
Osjetljivi podaci mogu se izolovati po tenantu i, ako je potrebno, obrađivati vlastito hostovanim modelima ili API-jima s klauzulama o zabrani treniranja. Za regulisane slučajeve biramo provajdere koji ne koriste podatke za treniranje.