Natrag na blog
Implementacija17. kolovoza 2026.8 min čitanjaAžurirano 22. kolovoza 2026.

Promjena RAG-embedding modela: Migracija AI chatbota bez gubitka znanja

Novi embedding model mijenja pretraživački prostor RAG chatbota. Uz paralelni indeks, usporedne testove, kontrolirani cutover i rollback, promjena uspijeva bez rada na slijepo.

Embedding model obično radi nevidljivo u pozadini RAG chatbota. On prevodi pitanja i gradivne blokove znanja u vektore brojeva kako bi se pronašao semantički odgovarajući sadržaj. Upravo zato što se ovaj dio rijetko pojavljuje na korisničkom sučelju, promjena modela lako djeluje kao mala izmjena konfiguracije. Međutim, tehnički gledano nastaje novi pretraživački prostor. Postojeći vektori dokumenata, vektori novih pitanja i definicija indeksa moraju ponovno međusobno odgovarati.

Tko želi promijeniti RAG-embeddings, stoga ne bi trebao jednostavno zamijeniti naziv modela u Query cjevovodu. Sigurna promjena tretira novi indeks kao samostalnu verziju: reproducibilno izgrađenu, provjerenu s istim testnim pitanjima, u početku pokrenutu paralelno i aktiviranu tek nakon svjesne odluke o odobrenju. Tako chatbot na web stranici ostaje dostupan, dok tim drži kvalitetu, vrijeme izvršavanja, troškove i put povratka pod kontrolom.

Odrasli pčelar uspoređuje saće iz dvije košnice koje stoje jedna do druge na kasnoljetnoj livadi
Dva odvojena, paralelno provjerena fonda čine promjenu razumljivom i reverzibilnom.

Zašto embeddings nisu proizvoljno zamjenjivi

Vektor ima smisla samo unutar prostora u kojem je stvoren. Službena dokumentacija Azure AI Search za izradu vektorskog indeksa opisuje indeks kao embedding prostor sastavljen od vektora istog modela. Također ističe da se dimenzija svakog vektora mora podudarati s definicijom polja. Novi model može imati drugu dimenziju, drugačije jezične snage ili drugačiju raspodjelu semantičkih udaljenosti.

Jednako je važna i strana upita (Query). Prema Microsoftovoj dokumentaciji o konfiguraciji vectorizera, indeksiranje i upit moraju koristiti isti embedding model. Miješa li tim stare vektore dokumenata s pitanjima iz novog modela, ocjene sličnosti (similarity scores) više se ne mogu pouzdano interpretirati. Čak i ako je dimenzija slučajno identična, to ne dokazuje semantičku kompatibilnost.

Prije promjene definirajte mjerljivi cilj

„Novije“ nije dovoljan kriterij prihvaćanja. Prije prvog reindeksiranja timu je potreban konkretan razlog za migraciju. Treba li se poboljšati kvaliteta pogodaka u stručnom jeziku? Jesu li potrebni dodatni jezici? Je li dosadašnji model zastario, prespor ili preskup? Ili bi manja dimenzija vektora trebala uštedjeti memoriju? Iz cilja proizlaze usporedne metrike.

  • Kvaliteta: relevantni izvori u Top-k, udio pitanja na koja se može odgovoriti i kvaliteta konačnog odgovora.
  • Rad (Ops): latencija dohvaćanja (retrieval latency), stopa pogrešaka, trajanje indeksiranja i ponašanje kod djelomičnih pogrešaka.
  • Troškovi: ugradnja cjelokupnog fonda, tekuće promjene, memorija i upiti.
  • Pokrivenost: dokumenti, jezici, verzije proizvoda i područja ovlaštenja u novom indeksu.

Početne vrijednosti pripadaju istom izvješću o provjeri kao i rezultati kandidata. Tko u tu svrhu već održava Golden Set, može koristiti postojeći vodič za mjerenje kvalitete odgovora AI chatbota kao osnovu. Važno je ne uspoređivati samo prosječni rezultat: kritična pitanja podrške, rijetki stručni pojmovi i slučajevi bez rezultata (no-result) zaslužuju vlastite evaluacije.

Dva indeksa umjesto preuređenja na otvorenom sustavu

Robustan standard je paralelni indeks. Dosadašnji indeks ostaje nepromijenjen i poslužuje živi promet (live traffic). Uz njega nastaje nova kolekcija ili novi indeks s vlastitom oznakom modela, dimenzijom, metrikom udaljenosti i brojem verzije. Oba se izgrađuju iz iste odobrene izvorne verzije. Time se razlike mogu pripisati modelu ili konfiguraciji indeksa, umjesto da se istovremeno uspoređuje sadržaj koji se mijenja.

Službeni Weaviate vodič za promjenu vectorizera prikazuje za to odvojene kolekcije i alias kao reverzibilnu točku preusmjeravanja. Konkretan proizvod je zamjenjiv; princip ostaje vrijedan: čisto izolirati stare i nove embeddings, voditi pristup preko kontroliranog usmjerivača (router) ili aliasa i zadržati stari status za ograničeno razdoblje povratka (rollback).

Stabilni identiteti za svaki gradivni blok znanja

Svakom segmentu (chunk) potreban je stabilan poslovni ID koji ne ovisi o vektoru. Korisna je kombinacija ID-a izvora, verzije izvora, odlomka i verzije chunka. Uz to, svaki skup podataka trebao bi nositi naziv modela, verziju modela, dimenziju, vrijeme stvaranja i hash ugrađenog teksta. Tako cjevovod može točno prepoznati što je već obrađeno, što se mora ponovno ugraditi i koje su pogreške još otvorene.

Reproducibilno fiksirajte novi cjevovod

Prije velikog popunjavanja (backfill) trebala bi proći mala reprezentativna podskupina kroz novi cjevovod. Pritom ekstrakcija, čišćenje i RAG-chunking u početku ostaju nepromijenjeni. Mijenja li tim istovremeno model, granice chunkova, podatke o metapodacima i rangiranje, kasniju razliku u kvaliteti bit će teško objasniti.

Konfiguracija pripada pokretanju kao verzionirani manifest: model i pružatelj, dimenzija, normalizacija, metrika udaljenosti, veličina serije (batch size), pravila ponovnog pokušaja, verzija chunkera, dopušteni jezici i potrebni metapodaci. Pristupni podaci izričito ne spadaju unutra. Za svaku seriju pohranjuju se samo ID-ovi, brojači, status i sigurni kod pogreške. Time se prekinuto pokretanje može nastaviti bez skupog ponavljanja uspješnih ugradnji.

Kontrolirano ponovno ugradite i dokažite potpunost

Reindeksiranje je potpuno tek kada se ciljni i stvarni fond podudaraju. Sama visoka brojka dokumenata nije dovoljna. Cjevovod bi po izvoru trebao provjeriti jesu li prisutni svi očekivani chunkovi, odgovaraju li njihovi tekstualni hashevi odobrenoj verziji izvora i jesu li preuzeti svi obvezni metapodaci. Neuspjeli skupovi podataka odlaze u ograničeni red čekanja za ponavljanje; trajne pogreške ostaju vidljive sa svojim ID-om i ne smiju nestati iza zelenog ukupnog statusa.

  1. Zamrznite ili jasno označite izvorni fond i datum verzije.
  2. Stvorite novu strukturu indeksa s odgovarajućom dimenzijom i metrikom.
  3. Ugradite i zapišite chunkove u ograničenim, idempotentnim serijama.
  4. Usporedite broj dokumenata, chunkova i metapodataka s ciljnim fondom.
  5. Provjerite uzorak na temelju tekstualnog hasha, ID-a izvora i dostupnog sadržaja.

Usporedite dohvaćanje (Retrieval) s identičnim pitanjima

Sada se ista testna pitanja pokreću prema oba indeksa. Uz stopu pogodaka i poziciju ranga, tim bi trebao usporediti stvarno vraćene izvore. Je li novi indeks pomaknuo prema gore semantički slične, ali stručno pogrešne odlomke? Gubi li točne kodove proizvoda? Pronalaze li se bolje složenice ili višejezična pitanja? Postojeći koncept hibridnog pretraživanja i rerankinga mora biti identično konfiguriran za oba kandidata kako bi usporedba bila pravedna.

Azure dokumentacija o relevantnosti vektora i rangiranju navodi iscrpno pretraživanje k-najbližih susjeda (k-nearest-neighbor) kao mogućnost izgradnje Ground-Truth skupa za procjenu odziva (Recall) približnog ANN postupka. To nije univerzalni prag, ali je koristan kontrolni test: prvo točna referenca, zatim brže pretraživanje u produkciji. Za chatbota je dodatno važno omogućuju li pronađeni izvori točan i potkrepljen odgovor.

Provjerite ne samo pogotke, već i gotov odgovor

Bolji rang dohvaćanja još ne jamči bolji odgovor chatbota. Zato bi usporedba trebala obuhvaćati i pozivanje na izvore, potpunost, dopuštenu nesigurnost i sigurno prekidanje u slučaju nedovoljnih dokaza. Pritom model odgovora, sistemske upute i temperatura ostaju što je moguće konstantniji. U suprotnom, test mjeri više promjena odjednom.

Shadow reads prije pravog cutovera

Nakon offline testa, mali udio stvarnih upita pretraživanja, tretiranih štedljivo s podacima, može se dodatno pokrenuti prema novom indeksu bez prikazivanja njegovog rezultata korisnicima. Ovaj Shadow Read mjeri stvarni jezik, latenciju i ponašanje u slučajevima bez rezultata. Privatni sadržaji, osobni podaci i potpuni tijekovi razgovora ne spadaju neprovjereni u zapisnike usporedbe. Često su dovoljne pseudonimizirane klase upita, ID-ovi rezultata i tehničke izmjerene vrijednosti.

Sam cutover je mala, jasno uočljiva promjena: alias, cilj usmjerivača ili feature flag prebacuje se s indeksa A na indeks B. Tijekom prve faze vrijede strože granice alarma za nedostajuće izvore, pogreške dohvaćanja, latenciju i stopu preusmjeravanja na čovjeka (handoff rate). Postupni udio ima smisla ako ga arhitektura podržava bez pomiješanih stanja sesije.

Praktično testirajte rollback prije prebacivanja

Plan povratka (rollback plan) održiv je samo ako je stari indeks i dalje dovoljno ažuran i ako je put vraćanja testiran. Tijekom paralelne faze, novi ili izmijenjeni izvori trebali bi stoga kontrolirano pritjecati u oba cjevovoda. Alternativno, tim dokumentira kratko zaustavljanje promjena i jasno naknadno usklađivanje. Postojeći vodič za Incident Response i Rollback pomaže pri definiranju okidača i odgovornosti.

Tipični signali za povratak nisu samo tehničke pogreške. Značajan pad kod relevantnih Top-k pogodaka, nove jezične praznine, neobično mnogo neodgovorenih pitanja ili pogrešno primijenjeni filtri pristupa također opravdavaju povratak. Stari indeks uklanja se tek kada promatračko razdoblje završi, odobrenje za brisanje bude dokumentirano i kada više nema otvorenih nerazjašnjenih razlika u kvaliteti.

Česte pogreške kod migracije embeddingsa

  • Mijenjanje samo strane upita: Novi vektori pitanja uspoređuju se sa starim prostorom dokumenata.
  • Zamjena iste dimenzije s kompatibilnošću: Duljina brojeva i semantički prostor nisu isto.
  • Mijenjanje više varijabli odjednom: Model, chunking i rangiranje mijenjaju se istovremeno; uzrok nekog efekta ostaje nejasan.
  • Gledanje samo prosječnih vrijednosti: Rijetka, poslovno kritična i višejezična pitanja nestaju u prosjeku.
  • Prerano čišćenje: Stari indeks se briše prije nego što stvarno opterećenje i podaci o kvaliteti pokažu stabilan rad.
  • Zaboravljanje filtara: Jezik, verzija i pristup ne vrijede u novom indeksu točno kao u starom.

Praktična lista za provjeru za timove web stranica

  • Cilj, početno stanje (baseline), kriteriji prihvaćanja, osoba za odobrenje i signal za povratak su dokumentirani.
  • Stari i novi indeks ostaju odvojeni; model, dimenzija i metrika su jasno verzionirani.
  • Oba indeksa potječu iz iste odobrene verzije izvora i chunkova.
  • Backfill je idempotentni, nastaviv i provjeren prema ciljnom fondu.
  • Golden Set, kritična pitanja, jezici, slučajevi bez rezultata i filtri pristupa prolaze usporedbu.
  • Shadow Reads bilježe samo potrebne tehničke podatke.
  • Cutover i povratak su mali, uočljivi i praktično testirani.
  • Stari fond briše se tek nakon razdoblja promatranja i dokumentiranog odobrenja.

Zaključak: Novi vektorski prostor treba vlastiti proces izdavanja

Promjena RAG-embeddingsa je migracija podataka i kvalitete, a ne puka prekidač za model. Tko novi pretraživački prostor gradi odvojeno, potpuno ga ponovno ugrađuje, uspoređuje s identičnim pitanjima i aktivira preko reverzibilne točke preusmjeravanja, značajno smanjuje rizike od ispada i pada kvalitete. Za timove web stranica isplati se kratak, višekratno upotrebljiv proces (runbook): osigurati baseline, izgraditi paralelni indeks, provjeriti dohvaćanje i odgovore, promatrati shadow podatke, kontrolirano preklopiti i držati put povratka otvorenim.

Ako vaš AI chatbot već koristi RAG bazu znanja, nemojte započeti s migracijom, već sa skupom podataka za provjeru. Deset do dvadeset posebno važnih klasa pitanja, dopunjenih teškim slučajevima jezika, proizvoda i ovlaštenja, čine razliku između uvjerljive promjene modela i dokazivo sigurnog izdanja.

Izvori

Pretvorite posjete web-stranici u bolje razgovore

Pokrenite AI chatbota koji je koristan od prvog dana

Natrenirajte ChatReact vašom web-stranicom, dokumentima i potvrđenim činjenicama kako bi posjetitelji dobili brže odgovore, a vaš tim manje ponovljenih zahtjeva.

Povezani članci

Nastavite čitati