Posts

Praktičan primer od A do Š: AI asistent za sopstveni server

Trideset tekstova iza nas pokrilo je delove. Ovaj ih sklapa u jednu postavku koja radi — od prazne mašine do asistenta koji ujutru pošalje izveštaj, a preko dana odgovara na pitanja o tvojoj dokumentaciji. Sve je namerno svedeno na ono što jedan čovek može da održava. Nema Kubernetesa, nema agenata, nema fine-tuninga. Šta gradimo Server: 1 × RTX 3090 (24 GB), Debian 13 ┌─────────────────────────────────────────────┐ │ Nginx :443 — TLS, ključevi, ograničenja │ └──────┬───────────────────────┬──────────────┘ │ │ Open WebUI :3000 API /api/ │ │ └───────┬───────────────┘ │ Ollama :11434 qwen3:27b-q4_K_M │ ┌───────┴────────┐ │ │ Qdrant :6333 Prometheus :9090 dokumentacija + Grafana Alatke: zasto, pitaj, pitaj-doks Cron: noćni izveštaj, osvežavanje RAG-a, kopije Odluka Zašto Ollama, ne vLLM ...

Fine-tuning za administratore: kada ima smisla, a kada ne

Kad neko kaže „hoću da model nauči našu dokumentaciju", misli na fine-tuning. Skoro uvek greši — odgovor je RAG , i to je bio jedan od prvih zaključaka u ovom serijalu. Ali postoje slučajevi u kojima fine-tuning jeste pravi alat. Ovaj tekst objašnjava koji su, šta postupak stvarno zahteva i kako se izvodi na jednoj kartici. Šta fine-tuning menja Menja težine modela. Ne dodaje znanje na neki uredan način koji možeš da pregledaš — pomera brojeve tako da model drugačije reaguje na slične ulaze. Menja Ne menja Stil i ton odgovora Činjenice koje pouzdano zna Oblik izlaza Sposobnost rasuđivanja Poznavanje uskog domena Podatke koji se često menjaju Doslednost u ponašanju Veličinu modela i brzinu Ključna razlika: fine-tuning uči model kako da odgovara, ne šta da zna. Ako mu daš stotinu dokumenata o vašim procedurama, neće ih zapamtiti kao činjenice. Naučiće da zvuči kao neko ko ih poznaje — i onda...

MCP — kako model dobija pristup tvojim alatima

Tool calling iz teksta o API-ju radi, ali svaki alat pišeš iznova za svaku aplikaciju. Deset alata i tri aplikacije znače trideset komada koda koji rade isto. MCP je pokušaj da se to standardizuje: alat se opisuje jednom, a svaki klijent koji govori isti protokol ga koristi. Ovaj tekst pokazuje kako to izgleda na Linux serveru i gde su granice koje ne treba prelaziti. Šta rešava Bez MCP-a: aplikacija A → sopstvena definicija alata → tvoj kod aplikacija B → sopstvena definicija alata → isti tvoj kod aplikacija C → sopstvena definicija alata → opet isti kod Sa MCP-om: aplikacije A, B, C → MCP protokol → jedan server → tvoj kod Server izlaže tri vrste stvari: Vrsta Šta je Primer Tools Radnje koje model može da zatraži Provera statusa servisa Resources Podaci koje može da pročita Sadržaj konfiguracije Prompts Gotovi obrasci upita „Analiziraj pad servisa" Model i dalje ništa ne iz...

Sopstveni server ili API — realan obračun troškova

Najčešća greška u ovoj računici je poređenje cene kartice sa mesečnim računom za API. To su različite stvari — jedna je jednokratno ulaganje, druga trošak koji teče, a između njih stoje struja, amortizacija i tvoje vreme. Ovaj tekst postavlja obrazac u koji ubaciš svoje brojeve. Konkretne cene ovde su iz avgusta 2026. i služe kao ilustracija; metod je ono što traje . Šta ulazi u računicu Sopstveni server API Kartica i ostatak mašine Cena po milion tokena Struja, neprekidno — Prostor, hlađenje, mreža — Postavljanje i održavanje Integracija Zamena hardvera — — Rizik promene cene i uslova Red o održavanju je onaj koji se najčešće izostavi, a često je najveći. Koliko ti tokena treba Bez ovog broja računica ne postoji. Meri ga, ne procenjuj. Ako već imaš postavku, podatak je u usage polju svakog odgovora, o čemu govori tekst o API-ju . Iz proxy loga se izvlači ova...

Bezbednost: prompt injection i curenje podataka

Sve dosad je pretpostavljalo da model radi sa podacima kojima veruješ. Ta pretpostavka je pogrešna od trenutka kada si ga uperio u sistemski log — jer sadržaj tog loga piše svako ko dođe do tvog SSH porta. Ovaj tekst je o tome šta ide naopako kada model obrađuje podatke koje nisi ti napisao, i šta se sa tim može. Zašto lokalno nije isto što i bezbedno Self-hosting rešava jedno pitanje: podaci ne odlaze trećoj strani. To je stvarna prednost i razlog zbog kog mnogi celu ovu postavku i grade. Ali rešava samo to. Ostaje sve ostalo: Model i dalje veruje svemu što mu stigne u kontekstu Podaci iz jednog konteksta mogu iscureti u drugi Alati koje si mu dao izvršavaju se tvojim pravima Nema kompanije koja u pozadini krpi ranjivosti umesto tebe Kod komercijalnog servisa neko drugi radi na ovim problemima. Kod tvoje postavke to si ti. Prompt injection Suština problema je u tome što model ne razlikuje uputstvo od podatka. Oboje mu stiže kao tekst u istom kontekstu. S...

Deploy modela na Kubernetes

Kubernetes ne ubrzava inferenciju i ne rešava nijedan problem koji si do sada imao. Ono što donosi je raspoređivanje: kada imaš više servera sa karticama i više modela, neko mora da odluči šta ide gde — i da to ponovo uradi kad node otkaže. Ovaj tekst pokazuje kako se model pokreće u klasteru i gde se GPU postavka razlikuje od svega ostalog što tamo vrtiš. Kada ovo ima smisla Ima smisla Nema smisla Više servera sa karticama Jedan server, jedan model Klaster već postoji i drži ostalo Klaster bi se dizao samo zbog ovoga Više modela deli isti skup kartica Nema rezervnog hardvera Opterećenje se menja kroz dan Stalno, predvidivo opterećenje Za jedan server systemd jedinica ostaje bolje rešenje. Kubernetes uvodi sloj koji treba održavati, a ako imaš tačno jednu karticu, raspoređivati nema šta. Preduslov je poznavanje osnovnih pojmova — pod , deployment , servis . Device plugin Kubernetes ne zna za...

Monitoring inferencije sa Prometheusom i Grafanom

Benchmark iz prethodnog teksta ti kaže kako je bilo u trenutku merenja. Nadzor ti kaže kako je sada i kako je bilo prošle srede u tri ujutru — a to je jedini način da odgovoriš na pitanje da li je sporije nego pre. Ovaj tekst postavlja tri komponente: prikupljanje metrika sa kartice i iz servisa, njihovo čuvanje i prikaz. Šta se prati Sloj Metrika Zašto Kartica Memorija, potrošnja, temperatura Kapacitet i usporavanje Servis Zahtevi u obradi i u redu, KV keš Da li stižeš da obradiš Proxy Trajanje zahteva, kodovi odgovora Šta korisnik zaista doživljava Sva tri sloja su potrebna. Kartica na devedeset posto ne znači da je servis zagušen; servis bez grešaka ne znači da korisnici ne čekaju. Metrike sa kartice Zvanični alat je DCGM exporter. Radi kroz isti nvidia-container-toolkit iz teksta o Dockeru : $ docker run -d \ --name dcgm-exporter \ --gpus all \ --cap-add SYS_ADMIN \ ...