Dezvoltare RAG cu rezultate măsurate, nu presupuse

Răspunsurile RAG depind de găsirea informațiilor potrivite. Construim și măsurăm importul documentelor și căutarea înainte să adăugăm generarea răspunsurilor.

Dezvoltarea RAG (retrieval-augmented generation) înseamnă completarea răspunsurilor AI cu informații găsite în documentele companiei. Sistemul preia documentele, le împarte în fragmente și creează reprezentări numerice (embeddings), apoi caută informațiile relevante și oferă modelului contextul potrivit, astfel încât răspunsurile să se bazeze pe datele tale și să poată cita sursa. Este utilă echipelor care își păstrează cunoștințele în PDF-uri, centre de ajutor, CMS, cataloage de produse sau tichete de suport. M Tech Solutions, studio de dezvoltare software fondat în 2023 la Craiova, livrează astfel de sisteme pentru clienți din România, din Uniunea Europeană și din America de Nord, în română și engleză. Etapa de analiză durează aproximativ o săptămână și demonstrează calitatea căutării în documente cu ajutorul unui set de evaluare. Apoi construim în sprinturi de două săptămâni, cu o demonstrație vinerea, și oferim suport pentru incidente în prima lună după lansare. Etapa de analiză și dezvoltarea MVP-ului sunt ofertate la preț fix.

Ce construim

  • Ingestie pentru PDF-uri, pagini HTML, exporturi din CMS, cataloage de produse și tichete de suport, cu reindexare incrementală.
  • Împărțirea documentelor în fragmente (chunking), adaptată fiecărui tip de conținut.
  • Embeddings și indexare vectorială în Postgres/pgvector, Pinecone sau Weaviate.
  • Căutare hibridă — după cuvinte-cheie și semantică — cu reordonarea rezultatelor după relevanță (re-ranking) și afișarea surselor.
  • Retrieval care respectă permisiunile, astfel încât fiecare utilizator să vadă numai datele tenantului la care are acces.
  • Seturi de evaluare, pentru ca nivelul de calitate să poată fi măsurat, nu doar estimat.
PRODUS EXISTENTÎntrebare utilizatoro singură interfațăEmbeddingtext → vectorRetrieval hibridpgvector + tsvectorRe-ranking20 → 5 chunk-uriPrompt + LLMchunk-uri cu ID-uri stabileFiltru tenant + permisiuniîn aceeași interogareTrace de retrieval salvatinterogare · filtre · ID-uri · scoruri · promptRăspuns cu citărirăspunde doar din corpus
Anatomia unei cereri RAG într-un produs existent

Cum lucrăm

Etapa de analiză durează aproximativ o săptămână: analizăm corpusul, întrebările reale ale utilizatorilor și modul în care vor fi folosite răspunsurile. Apoi construim un baseline de retrieval și îl măsurăm înainte să existe vreo interfață.

În etapa de proiectare decidem indexul, chunking-ul și formatul răspunsului. În etapa de dezvoltare lucrăm în sprinturi de două săptămâni, cu o demonstrație vinerea. În etapa de lansare adăugăm monitorizare pentru rata de potrivire, latență și consumul de tokeni, pregătim un ghid operațional și oferim suport pentru incidente timp de o lună.

~1 SĂPTĂMÂNĂDescoperăproblemă, utilizatori, limitespike pentru riscul major01DECIZIIContureazăce includem, ce eliminămmodele și infrastructură02SPRINTURI DE 2 SĂPT.Construieșteincremente livrabiledemo live în fiecare vineri03ON-CALL: 1 LUNĂLanseazăhardening · observabilitaterunbook · on-call: o lună04kickoffsăptămâna 1sprint 1sprint 2sprint 3…go-live+1 lună
Cum decurge colaborarea: descoperire, conturare, sprinturi de două săptămâni, lansare cu o lună de on-call

Stack-ul folosit

Servicii Python și TypeScript, Postgres cu pgvector ca stocare implicită, Pinecone sau Weaviate când volumul o cere, Redis pentru cache, Kafka pentru pipeline-uri de ingestie durabile. Modele OpenAI și Anthropic, orchestrate direct sau prin LangChain.

Deploy pe AWS, GCP sau Vercel, cu stratul de retrieval tratat ca orice alt serviciu de producție.

Când suntem alegerea potrivită

  • Ai mult conținut și un chatbot care inventează răspunsuri.
  • Răspunsurile trebuie să citeze sursa, iar un răspuns greșit are un cost real.
  • Corpusul se schimbă des, iar reindexarea trebuie să fie incrementală și previzibilă.
  • Mai mulți tenanți împart același index și nu au voie să vadă documentele celorlalți.

Cum colaborăm comercial

Etapa de analiză pentru retrieval — analiza corpusului, un pipeline de bază și un set de evaluare — este ofertată la preț fix și îți oferă o măsură a calității înainte să îți asumi construirea unui produs complet. Dezvoltarea ulterioară se facturează pe baza timpului lucrat și a costurilor convenite (time & materials).

Începem în 7–10 zile și răspundem la orice mesaj în maximum o zi lucrătoare.

Întrebări frecvente

De unde știți dacă retrieval-ul este bun?

Construim un set de evaluare din întrebări reale și din sursele așteptate, apoi măsurăm rezultatele înainte și după fiecare modificare. Calitatea devine o cifră într-un dashboard, nu o părere exprimată într-o ședință.

Ce bază de date vectorială recomandați?

Implicit folosim Postgres cu pgvector, pentru că păstrează o singură bază de date și un singur plan de backup. Trecem la Pinecone sau Weaviate când volumul ori funcționalitățile specifice ale indexului justifică schimbarea.

Funcționează RAG pe date multi-tenant?

Da — retrieval-ul este filtrat după tenant și permisiuni, astfel încât interogarea să ajungă numai la documentele accesibile utilizatorului. Tratăm asta ca pe o cerință de securitate, nu ca pe o opțiune.

Puteți adăuga RAG într-un produs existent?

Acesta este cazul obișnuit. Începem cu un test tehnic în aplicația ta și cu o funcționalitate completă în producție, nu într-un mediu de demo separat.

Cât durează o primă implementare RAG?

Depinde de corpus, dar lucrăm în sprinturi de două săptămâni, cu o demonstrație funcțională vinerea, astfel încât poți vedea devreme cum funcționează stratul de retrieval, nu abia la final.

Spune-ne ce construiești

Răspundem în maximum o zi lucrătoare, iar majoritatea proiectelor pornesc în 7–10 zile.